/* * cl_3a_image_processor.cpp - CL 3A image processor * * Copyright (c) 2015 Intel Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Author: wangfei */ #include "cl_csc_image_processor.h" #include "cl_context.h" #include "cl_csc_handler.h" namespace XCam { CLCscImageProcessor::CLCscImageProcessor () : CLImageProcessor ("CLCscImageProcessor") { XCAM_LOG_DEBUG ("CLCscImageProcessor constructed"); } CLCscImageProcessor::~CLCscImageProcessor () { XCAM_LOG_DEBUG ("CLCscImageProcessor destructed"); } XCamReturn CLCscImageProcessor::create_handlers () { SmartPtr image_handler; SmartPtr context = get_cl_context (); XCAM_ASSERT (context.ptr ()); /* color space conversion */ image_handler = create_cl_csc_image_handler (context, CL_CSC_TYPE_YUYVTORGBA); _csc = image_handler.dynamic_cast_ptr (); XCAM_FAIL_RETURN ( WARNING, _csc .ptr (), XCAM_RETURN_ERROR_CL, "CLCscImageProcessor create csc handler failed"); image_handler->set_pool_type (CLImageHandler::CLVideoPoolType); add_handler (image_handler); return XCAM_RETURN_NO_ERROR; } };