1b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
2b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*
3b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
4b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
5b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  Licensed under the Apache License, Version 2.0 (the "License");
6b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  you may not use this file except in compliance with the License.
7b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  You may obtain a copy of the License at
8b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
9b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *     http://www.apache.org/licenses/LICENSE-2.0
10b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
11b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  Unless required by applicable law or agreed to in writing, software
12b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  distributed under the License is distributed on an "AS IS" BASIS,
13b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  See the License for the specific language governing permissions and
15b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * limitations under the License.
16b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
17b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================
18b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*             Texas Instruments OMAP(TM) Platform Software
19b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*  (c) Copyright Texas Instruments, Incorporated.  All Rights Reserved.
20b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*
21b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*  Use of this software is controlled by the terms and conditions found
22b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*  in the license agreement under which this software has been supplied.
23b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* ================================================================================= */
24b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
25b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @file JPEGTest.h
26b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*
27b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* This file implements OMX Component for JPEG encoder that
28b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* is fully compliant with the OMX specification 1.5.
29b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*
30b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @path  $(CSLPATH)\src
31b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*
32b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @rev  0.1
33b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/
34b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* -------------------------------------------------------------------------------- */
35b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================
36b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*!
37b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! Revision History
38b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! ===================================
39b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*!
40b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! 22-May-2006 mf: Revisions appear in reverse chronological order;
41b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! that is, newest first.  The date format is dd-Mon-yyyy.
42b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* ================================================================================= */
43b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef OMX_JPEGTEST_H
44b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_JPEGTEST_H
45b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
46b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
47b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct IMAGE_INFO {
48b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nWidth;
49b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nHeight ;
50b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nFormat;
51b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nComment;
52b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    char* pCommentString;
53b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailWidth_app0;
54b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailHeight_app0;
55b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailWidth_app1;
56b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailHeight_app1;
57b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailWidth_app5;
58b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailHeight_app5;
59b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailWidth_app13;
60b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nThumbnailHeight_app13;
61b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int nDRI;
62b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bAPP0;
63b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bAPP1;
64b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bAPP5;
65b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bAPP13;
66b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} IMAGE_INFO;
67b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
68b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct JPEGE_EVENTPRIVATE {
69b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_EVENTTYPE eEvent;
70b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PTR pAppData;
71b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PTR pEventInfo;
72b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nData1;
73b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nData2;
74b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}JPEGE_EVENTPRIVATE;
75b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
76b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define MALLOC(_pStruct_, _sName_)  \
77b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    _pStruct_ = (_sName_*)malloc(sizeof(_sName_));  \
78b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    if(_pStruct_ == NULL){  \
79b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        error = OMX_ErrorInsufficientResources;  \
80b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        goto EXIT;  \
81b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }\
82b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    memset((void *)_pStruct_, 0, sizeof(_sName_))
83b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
84b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define FREE(_ptr)   \
85b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin{                     \
86b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    if (_ptr != NULL) { \
87b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        free(_ptr);   \
88b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        _ptr = NULL; \
89b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }                \
90b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}
91b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
92b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_CONF_CHECK_CMD(_ptr1, _ptr2, _ptr3) \
93b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin{                       \
94b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    if(!_ptr1 || !_ptr2 || !_ptr3){     \
95b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        eError = OMX_ErrorBadParameter;     \
96b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    goto OMX_CONF_CMD_BAIL;         \
97b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }                       \
98b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}
99b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE
100b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define sleep Sleep
101b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
102b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
103b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
104b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*#define OMX_DEB*/
105b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef OMX_DEB
106b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    #define PRINT(...) fprintf(stdout,__VA_ARGS__)
107b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
108b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    #define PRINT(...)
109b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
110b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
111b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define DSP_MMU_FAULT_HANDLING
112b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
113b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif /* OMX_JPEGTEST_H */
114b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
115