1
2/*
3 *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
4 *
5 *  Licensed under the Apache License, Version 2.0 (the "License");
6 *  you may not use this file except in compliance with the License.
7 *  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17/**
18 * Global data used communicate state changes back to the applicaiton.  This probably
19 * should really be via a pipe or some other protected mechanism for better
20 * reliability, but this is sufficient for a demo.
21**/
22/*Not used anymore in 2430*/
23/*static volatile OMX_State gComponentState = OMX_STATE_INVALID;*/
24
25#ifndef OMX_TESTDEC_H
26#define OMX_TESTDEC_H
27
28
29#ifndef UNDER_CE
30#include <unistd.h>
31#include <signal.h>
32#endif
33
34#include <OMX_Core.h>
35#include <OMX_Types.h>
36#include <OMX_Image.h>
37
38/* this implements the function for initializing the debug handle */
39
40#define NUM_OF_BUFFERS     4
41
42
43#define M_SOF0  0xC0            /* nStart Of Frame N*/
44#define M_SOF1  0xC1            /* N indicates which compression process*/
45#define M_SOF2  0xC2            /* Only SOF0-SOF2 are now in common use*/
46#define M_SOF3  0xC3
47#define M_SOF5  0xC5            /* NB: codes C4 and CC are NOT SOF markers*/
48#define M_SOF6  0xC6
49#define M_SOF7  0xC7
50#define M_SOF9  0xC9
51#define M_SOF10 0xCA
52#define M_SOF11 0xCB
53#define M_SOF13 0xCD
54#define M_SOF14 0xCE
55#define M_SOF15 0xCF
56#define M_SOI   0xD8            /* nStart Of Image (beginning of datastream)*/
57#define M_EOI   0xD9            /* End Of Image (end of datastream)*/
58#define M_SOS   0xDA            /* nStart Of Scan (begins compressed data)*/
59#define M_JFIF  0xE0            /* Jfif marker*/
60#define M_EXIF  0xE1            /* Exif marker*/
61#define M_COM   0xFE            /* COMment */
62#define M_DQT   0xDB
63#define M_DHT   0xC4
64#define M_DRI   0xDD
65
66#define DSP_MMU_FAULT_HANDLING
67
68typedef struct IMAGE_INFO {
69    int nWidth;
70    int nHeight ;
71	int format;
72    int nProgressive;
73
74} IMAGE_INFO;
75
76#ifdef UNDER_CE
77OMX_STRING StrJpegDecoder= "OMX.TI.IMAGE.JPEG.DEC";
78#else
79OMX_STRING StrJpegDecoder= "OMX.TI.JPEG.decoder";
80#endif
81
82
83typedef struct JPEGD_EVENTPRIVATE {
84	OMX_EVENTTYPE eEvent;
85	OMX_PTR pAppData;
86	OMX_PTR pEventInfo;
87	OMX_U32 nData1;
88	OMX_U32 nData2;
89}JPEGD_EVENTPRIVATE;
90
91typedef struct OMX_CUSTOM_IMAGE_DECODE_SECTION
92{
93    OMX_U32 nSize;
94    OMX_VERSIONTYPE nVersion;
95    OMX_U32 nMCURow;
96    OMX_U32 nAU;
97    OMX_BOOL bSectionsInput;
98    OMX_BOOL bSectionsOutput;
99}OMX_CUSTOM_IMAGE_DECODE_SECTION;
100
101
102typedef struct OMX_CUSTOM_IMAGE_DECODE_SUBREGION
103{
104    OMX_U32 nSize;
105    OMX_VERSIONTYPE nVersion;
106    OMX_U32 nXOrg;         /*Sectional decoding: X origin*/
107    OMX_U32 nYOrg;         /*Sectional decoding: Y origin*/
108    OMX_U32 nXLength;      /*Sectional decoding: X lenght*/
109    OMX_U32 nYLength;      /*Sectional decoding: Y lenght*/
110}OMX_CUSTOM_IMAGE_DECODE_SUBREGION;
111
112typedef struct OMX_CUSTOM_RESOLUTION
113{
114	OMX_U32 nWidth;
115	OMX_U32 nHeight;
116} OMX_CUSTOM_RESOLUTION;
117
118#endif /*OMX_TESTDEC_H*/
119