aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYinhang Liu <yinhangx.liu@intel.com>2018-12-10 17:10:10 +0800
committerZong Wei <wei.zong@intel.com>2018-12-12 14:33:32 +0800
commit6432569329019411c698430aa6c4fb50cd674c2c (patch)
treeb835fefd0ffb21460591537c005d02c7429f4efb
parent0428299ab74d7ff5bba0f56e4da3fc8be7183f26 (diff)
downloadlibxcam-6432569329019411c698430aa6c4fb50cd674c2c.tar.gz
gl-blend: move function definition into namespace
-rw-r--r--modules/gles/gl_blender.cpp132
1 files changed, 66 insertions, 66 deletions
diff --git a/modules/gles/gl_blender.cpp b/modules/gles/gl_blender.cpp
index b24af52..9807c08 100644
--- a/modules/gles/gl_blender.cpp
+++ b/modules/gles/gl_blender.cpp
@@ -75,11 +75,11 @@ DECLARE_WORK_CALLBACK (CbLapTransPyr, GLBlender, lap_trans_done);
DECLARE_WORK_CALLBACK (CbBlendPyr, GLBlender, blend_done);
DECLARE_WORK_CALLBACK (CbReconstructPyr, GLBlender, reconstruct_done);
+namespace GLBlenderPriv {
+
typedef std::map<void*, SmartPtr<GLBlendPyrShader::Args>> MapBlendArgs;
typedef std::map<void*, SmartPtr<GLReconstructPyrShader::Args>> MapReconstructArgs;
-namespace GLBlenderPriv {
-
struct PyramidResource {
SmartPtr<BufferPool> overlap_pool;
SmartPtr<GLGaussScalePyrShader> gauss_scale[GLBlender::BufIdxCount];
@@ -141,62 +141,8 @@ public:
const SmartPtr<GLComputeProgram> &get_sync_prog ();
};
-};
-
-GLBlender::GLBlender (const char *name)
- : GLImageHandler (name)
- , Blender (GL_BLENDER_ALIGN_X, GL_BLENDER_ALIGN_Y)
-{
- SmartPtr<GLBlenderPriv::BlenderPrivConfig> config =
- new GLBlenderPriv::BlenderPrivConfig (this, XCAM_GL_PYRAMID_DEFAULT_LEVEL);
- XCAM_ASSERT (config.ptr ());
- _priv_config = config;
-}
-
-GLBlender::~GLBlender ()
-{
-}
-
-XCamReturn
-GLBlender::finish ()
-{
- const SmartPtr<GLComputeProgram> prog = _priv_config->get_sync_prog ();
- XCAM_ASSERT (prog.ptr ());
- prog->finish ();
-
- return GLImageHandler::finish ();
-}
-
-XCamReturn
-GLBlender::terminate ()
-{
- _priv_config->stop ();
- return GLImageHandler::terminate ();
-}
-
-XCamReturn
-GLBlender::blend (
- const SmartPtr<VideoBuffer> &in0,
- const SmartPtr<VideoBuffer> &in1,
- SmartPtr<VideoBuffer> &out_buf)
-{
- XCAM_ASSERT (in0.ptr () && in1.ptr ());
-
- SmartPtr<BlenderParam> param = new BlenderParam (in0, in1, out_buf);
- XCAM_ASSERT (param.ptr ());
-
- XCamReturn ret = execute_buffer (param, true);
-
- finish ();
- if (xcam_ret_is_ok (ret) && !out_buf.ptr ()) {
- out_buf = param->out_buf;
- }
-
- return ret;
-}
-
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::stop ()
+BlenderPrivConfig::stop ()
{
for (uint32_t i = 0; i < pyr_levels; ++i) {
pyr_layer[i].gauss_scale[GLBlender::Idx0].release ();
@@ -219,7 +165,7 @@ GLBlenderPriv::BlenderPrivConfig::stop ()
}
const SmartPtr<GLComputeProgram> &
-GLBlenderPriv::BlenderPrivConfig::get_sync_prog ()
+BlenderPrivConfig::get_sync_prog ()
{
if (_sync_prog.ptr ())
return _sync_prog;
@@ -231,7 +177,7 @@ GLBlenderPriv::BlenderPrivConfig::get_sync_prog ()
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::init_first_masks (uint32_t width, uint32_t height)
+BlenderPrivConfig::init_first_masks (uint32_t width, uint32_t height)
{
XCAM_ASSERT (!first_mask.ptr ());
XCAM_ASSERT (width && (width % GL_BLENDER_ALIGN_X == 0));
@@ -282,7 +228,7 @@ GLBlenderPriv::BlenderPrivConfig::init_first_masks (uint32_t width, uint32_t hei
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::scale_down_masks (uint32_t level, uint32_t width, uint32_t height)
+BlenderPrivConfig::scale_down_masks (uint32_t level, uint32_t width, uint32_t height)
{
XCAM_ASSERT (width && (width % GL_BLENDER_ALIGN_X == 0));
XCAM_FAIL_RETURN (
@@ -335,7 +281,7 @@ GLBlenderPriv::BlenderPrivConfig::scale_down_masks (uint32_t level, uint32_t wid
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_gauss_scale (
+BlenderPrivConfig::start_gauss_scale (
const SmartPtr<ImageHandler::Parameters> &param,
const SmartPtr<VideoBuffer> &in_buf,
uint32_t level, GLBlender::BufIdx idx)
@@ -389,7 +335,7 @@ GLBlenderPriv::BlenderPrivConfig::start_gauss_scale (
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_lap_trans (
+BlenderPrivConfig::start_lap_trans (
const SmartPtr<ImageHandler::Parameters> &param,
const SmartPtr<GLGaussScalePyrShader::Args> &gauss_scale_args,
uint32_t level, GLBlender::BufIdx idx)
@@ -423,7 +369,7 @@ GLBlenderPriv::BlenderPrivConfig::start_lap_trans (
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_blend (
+BlenderPrivConfig::start_blend (
const SmartPtr<ImageHandler::Parameters> &param,
const SmartPtr<VideoBuffer> &buf, GLBlender::BufIdx idx)
{
@@ -473,7 +419,7 @@ GLBlenderPriv::BlenderPrivConfig::start_blend (
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_reconstruct (
+BlenderPrivConfig::start_reconstruct (
const SmartPtr<GLReconstructPyrShader::Args> &args, uint32_t level)
{
XCAM_ASSERT (args.ptr ());
@@ -531,7 +477,7 @@ GLBlenderPriv::BlenderPrivConfig::start_reconstruct (
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_reconstruct_by_gauss (
+BlenderPrivConfig::start_reconstruct_by_gauss (
const SmartPtr<ImageHandler::Parameters> &param,
const SmartPtr<VideoBuffer> &prev_blend_buf, uint32_t level)
{
@@ -563,7 +509,7 @@ GLBlenderPriv::BlenderPrivConfig::start_reconstruct_by_gauss (
}
XCamReturn
-GLBlenderPriv::BlenderPrivConfig::start_reconstruct_by_lap (
+BlenderPrivConfig::start_reconstruct_by_lap (
const SmartPtr<ImageHandler::Parameters> &param,
const SmartPtr<VideoBuffer> &lap,
uint32_t level, GLBlender::BufIdx idx)
@@ -599,6 +545,60 @@ GLBlenderPriv::BlenderPrivConfig::start_reconstruct_by_lap (
return start_reconstruct (args, level);
}
+}
+
+GLBlender::GLBlender (const char *name)
+ : GLImageHandler (name)
+ , Blender (GL_BLENDER_ALIGN_X, GL_BLENDER_ALIGN_Y)
+{
+ SmartPtr<GLBlenderPriv::BlenderPrivConfig> config =
+ new GLBlenderPriv::BlenderPrivConfig (this, XCAM_GL_PYRAMID_DEFAULT_LEVEL);
+ XCAM_ASSERT (config.ptr ());
+ _priv_config = config;
+}
+
+GLBlender::~GLBlender ()
+{
+}
+
+XCamReturn
+GLBlender::finish ()
+{
+ const SmartPtr<GLComputeProgram> prog = _priv_config->get_sync_prog ();
+ XCAM_ASSERT (prog.ptr ());
+ prog->finish ();
+
+ return GLImageHandler::finish ();
+}
+
+XCamReturn
+GLBlender::terminate ()
+{
+ _priv_config->stop ();
+ return GLImageHandler::terminate ();
+}
+
+XCamReturn
+GLBlender::blend (
+ const SmartPtr<VideoBuffer> &in0,
+ const SmartPtr<VideoBuffer> &in1,
+ SmartPtr<VideoBuffer> &out_buf)
+{
+ XCAM_ASSERT (in0.ptr () && in1.ptr ());
+
+ SmartPtr<BlenderParam> param = new BlenderParam (in0, in1, out_buf);
+ XCAM_ASSERT (param.ptr ());
+
+ XCamReturn ret = execute_buffer (param, true);
+
+ finish ();
+ if (xcam_ret_is_ok (ret) && !out_buf.ptr ()) {
+ out_buf = param->out_buf;
+ }
+
+ return ret;
+}
+
XCamReturn
GLBlender::start_work (const SmartPtr<ImageHandler::Parameters> &base)
{