Home | History | Annotate | Download | only in inc
      1 
      2 /*
      3  * Copyright (C) Texas Instruments - http://www.ti.com/
      4  *
      5  * This library is free software; you can redistribute it and/or
      6  * modify it under the terms of the GNU Lesser General Public
      7  * License as published by the Free Software Foundation; either
      8  * version 2.1 of the License, or (at your option) any later version.
      9  *
     10  *
     11  * This library is distributed in the hope that it will be useful,
     12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14  * Lesser General Public License for more details.
     15  *
     16  *
     17  * You should have received a copy of the GNU Lesser General Public
     18  * License along with this library; if not, write to the Free Software
     19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
     20  */
     21 /* =============================================================================
     22 *             Texas Instruments OMAP(TM) Platform Software
     23 *  (c) Copyright Texas Instruments, Incorporated.  All Rights Reserved.
     24 *
     25 *  Use of this software is controlled by the terms and conditions found
     26 *  in the license agreement under which this software has been supplied.
     27 * =========================================================================== */
     28 /**
     29 * @file OMX_JpegEnc_CustomCmd.h
     30 *
     31 * This is an header file for an Jpeg encoder that is fully compliant with the OMX specification.
     32 * This is the file that the application that uses OMX would include in its code.
     33 *
     34 * @path $(CSLPATH)\
     35 *
     36 * @rev 0.1
     37 */
     38 /* -------------------------------------------------------------------------- */
     39 
     40 #ifndef OMX_JPEGENC_CUSTOMCMD_H
     41 #define OMX_JPEGENC_CUSTOMCMD_H
     42 
     43 
     44 /*------- Program Header Files ----------------------------------------*/
     45 #include <OMX_Component.h>
     46 
     47 /*------- Structures ----------------------------------------*/
     48 
     49 
     50 typedef struct JPEGENC_CUSTOM_HUFFMAN_TABLE {
     51 
     52       OMX_U32 lum_dc_vlc[12];
     53       OMX_U32 lum_ac_vlc[16][16];
     54       OMX_U32 chm_dc_vlc[12];
     55       OMX_U32 chm_ac_vlc[16][16];
     56       OMX_U8  lum_dc_codelens[16];
     57       OMX_U16 lum_dc_ncodes;
     58       OMX_U8  lum_dc_symbols[12];
     59       OMX_U16 lum_dc_nsymbols;
     60       OMX_U8  lum_ac_codelens[16];
     61       OMX_U16 lum_ac_ncodes;
     62       OMX_U8  lum_ac_symbols[162];
     63       OMX_U16 lum_ac_nsymbols;
     64       OMX_U8  chm_dc_codelens[16];
     65       OMX_U16 chm_dc_ncodes;
     66       OMX_U8  chm_dc_symbols[12];
     67       OMX_U16 chm_dc_nsymbols;
     68       OMX_U8  chm_ac_codelens[16];
     69       OMX_U16 chm_ac_ncodes;
     70       OMX_U8  chm_ac_symbols[162];
     71       OMX_U16 chm_ac_nsymbols;
     72 }JPEGENC_CUSTOM_HUFFMAN_TABLE;
     73 
     74 typedef struct JPEGENC_CUSTOM_HUFFMANTTABLETYPE {
     75     OMX_U32 nSize;
     76     OMX_VERSIONTYPE nVersion;
     77     OMX_U32 nPortIndex;
     78     JPEGENC_CUSTOM_HUFFMAN_TABLE sHuffmanTable;
     79 }JPEGENC_CUSTOM_HUFFMANTTABLETYPE;
     80 
     81 typedef struct JPEG_APPTHUMB_MARKER {
     82 	OMX_BOOL bMarkerEnabled;		/* Boolean flag to enable/disable this marker on its whole */
     83 	OMX_U8 *pMarkerBuffer;			/* This pointer must point to the marker buffer allocated by application */
     84 	OMX_U32 nMarkerSize;			/* This variable holds the size of the marker buffer */
     85 	OMX_U32 nThumbnailWidth;          /* This variable holds the thumbnail's width value (0 = No thumbnail) */
     86 	OMX_U32 nThumbnailHeight;	        /* This variable holds the thumbnail's height value (0 = No thumbnail) */
     87 } JPEG_APPTHUMB_MARKER;
     88 
     89 typedef struct JPEG_APP13_MARKER {
     90 	OMX_BOOL bMarkerEnabled;		/* Boolean flag to enable/disable this marker on its whole */
     91 	OMX_U8 *pMarkerBuffer;			/* This pointer must point to the marker buffer allocated by application */
     92 	OMX_U32 nMarkerSize;			/* This variable holds the size of the marker buffer */
     93 } JPEG_APP13_MARKER;
     94 
     95 #endif /* OMX_JPEGENC_CUSTOMCMD_H */
     96 
     97