1e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly/*-------------------------------------------------------------------------- 2dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandCopyright (c) 2010-2011, Code Aurora Forum. All rights reserved. 3e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 4e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyRedistribution and use in source and binary forms, with or without 5e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pellymodification, are permitted provided that the following conditions are met: 6e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly * Redistributions of source code must retain the above copyright 7e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly notice, this list of conditions and the following disclaimer. 8e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly * Redistributions in binary form must reproduce the above copyright 9e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly notice, this list of conditions and the following disclaimer in the 10e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly documentation and/or other materials provided with the distribution. 11dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Neither the name of Code Aurora nor 12e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly the names of its contributors may be used to endorse or promote 13e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly products derived from this software without specific prior written 14e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly permission. 15e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 16e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyNON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26e7273837b521d16f87dd5fb6eea3750a51ea92daNick PellyADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly--------------------------------------------------------------------------*/ 28e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 29e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#ifndef __OMX_VIDEO_COMMON_H__ 30e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define __OMX_VIDEO_COMMON_H__ 31e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly////////////////////////////////////////////////////////////////////////////// 32e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly// Include Files 33e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly////////////////////////////////////////////////////////////////////////////// 34e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 35e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#include<stdlib.h> 36e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#include <stdio.h> 37826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifdef USE_ION 38278952ff92fab2da0c47b912daeb662130676be1Haynes Mathew George#include <linux/msm_ion.h> 39826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif 40e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 41e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_VIDEO_DEC_NUM_INPUT_BUFFERS 2 42e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_VIDEO_DEC_NUM_OUTPUT_BUFFERS 2 43e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 44e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#ifdef FEATURE_QTV_WVGA_ENABLE 45e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_VIDEO_DEC_INPUT_BUFFER_SIZE (256*1024) 46e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#else 47e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_VIDEO_DEC_INPUT_BUFFER_SIZE (128*1024) 48e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#endif 49e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 50e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_CONTROL_CMDQ_SIZE 100 51e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_QCIF_HEIGHT 144 52e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_QCIF_WIDTH 176 53e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_VGA_HEIGHT 480 54e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_VGA_WIDTH 640 55e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_WVGA_HEIGHT 480 56e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#define OMX_CORE_WVGA_WIDTH 800 57e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 58e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pellyenum PortIndexType 59e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly{ 60e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly PORT_INDEX_IN = 0, 61e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly PORT_INDEX_OUT = 1, 62e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly PORT_INDEX_BOTH = -1, 63e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly PORT_INDEX_NONE = -2 64e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly}; 65e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 66e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pellystruct pmem 67e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly{ 68e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly void *buffer; 69e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly int fd; 70e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly unsigned offset; 71e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly unsigned size; 72e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly}; 73826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#ifdef USE_ION 74826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchevstruct venc_ion 75826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev{ 76826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev int ion_device_fd; 77826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev struct ion_fd_data fd_ion_data; 78826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev struct ion_allocation_data ion_alloc_data; 79826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev}; 80826ececcbea342f7a0b92ec61847f1c95d384e05Iliyan Malchev#endif 81e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly#endif // __OMX_VIDEO_COMMON_H__ 82e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 83e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 84e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 85e7273837b521d16f87dd5fb6eea3750a51ea92daNick Pelly 86