vidc_color_converter.h revision a19e2b5f4746d249b2910e577792336739cd5672
161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan/*-------------------------------------------------------------------------- 261a2c6a19dbd06a317a419623020e02056661876Praveen ChavanCopyright (c) 2012-2013, The Linux Foundation. All rights reserved. 361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan 461a2c6a19dbd06a317a419623020e02056661876Praveen ChavanRedistribution and use in source and binary forms, with or without 561a2c6a19dbd06a317a419623020e02056661876Praveen Chavanmodification, are permitted provided that the following conditions are 661a2c6a19dbd06a317a419623020e02056661876Praveen Chavanmet: 761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan * Redistributions of source code must retain the above copyright 861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan notice, this list of conditions and the following disclaimer. 961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan * Redistributions in binary form must reproduce the above 1061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan copyright notice, this list of conditions and the following 1161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan disclaimer in the documentation and/or other materials provided 1261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan with the distribution. 1361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan * Neither the name of The Linux Foundation nor the names of its 1461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan contributors may be used to endorse or promote products derived 1561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan from this software without specific prior written permission. 1661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan 1761a2c6a19dbd06a317a419623020e02056661876Praveen ChavanTHIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 1861a2c6a19dbd06a317a419623020e02056661876Praveen ChavanWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1961a2c6a19dbd06a317a419623020e02056661876Praveen ChavanMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 2061a2c6a19dbd06a317a419623020e02056661876Praveen ChavanARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 2161a2c6a19dbd06a317a419623020e02056661876Praveen ChavanBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2261a2c6a19dbd06a317a419623020e02056661876Praveen ChavanCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2361a2c6a19dbd06a317a419623020e02056661876Praveen ChavanSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 2461a2c6a19dbd06a317a419623020e02056661876Praveen ChavanBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2561a2c6a19dbd06a317a419623020e02056661876Praveen ChavanWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 2661a2c6a19dbd06a317a419623020e02056661876Praveen ChavanOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 2761a2c6a19dbd06a317a419623020e02056661876Praveen ChavanIF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan--------------------------------------------------------------------------*/ 2961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#include <dlfcn.h> 3061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan#include "C2DColorConverter.h" 3161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan 3261a2c6a19dbd06a317a419623020e02056661876Praveen Chavanusing namespace android; 3361a2c6a19dbd06a317a419623020e02056661876Praveen Chavanclass omx_c2d_conv 3461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan{ 3561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan public: 3661a2c6a19dbd06a317a419623020e02056661876Praveen Chavan omx_c2d_conv(); 3761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan ~omx_c2d_conv(); 3861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan bool init(); 3961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan void destroy(); 4061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan bool open(unsigned int height,unsigned int width, 4161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan ColorConvertFormat src, 4261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan ColorConvertFormat dest); 4361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan bool convert(int src_fd, void *src_base, void *src_viraddr, 4461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan int dest_fd, void *dest_base, void *dest_viraddr); 4561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan bool get_buffer_size(int port,unsigned int &buf_size); 46a19e2b5f4746d249b2910e577792336739cd5672Praveen Chavan bool get_output_filled_length(unsigned int &filled_length); 4761a2c6a19dbd06a317a419623020e02056661876Praveen Chavan int get_src_format(); 4861a2c6a19dbd06a317a419623020e02056661876Praveen Chavan void close(); 4961a2c6a19dbd06a317a419623020e02056661876Praveen Chavan private: 5061a2c6a19dbd06a317a419623020e02056661876Praveen Chavan C2DColorConverterBase *c2dcc; 5161a2c6a19dbd06a317a419623020e02056661876Praveen Chavan void *mLibHandle; 5261a2c6a19dbd06a317a419623020e02056661876Praveen Chavan ColorConvertFormat src_format; 5361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan createC2DColorConverter_t *mConvertOpen; 5461a2c6a19dbd06a317a419623020e02056661876Praveen Chavan destroyC2DColorConverter_t *mConvertClose; 5561a2c6a19dbd06a317a419623020e02056661876Praveen Chavan}; 56