XDAIS
dais-x04
Main Page
Modules
Data Structures
Files
Related Pages
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
packages
ti
xdais
dm
ividdec2.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006-2012, Texas Instruments Incorporated
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* * Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* * Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*
32
*/
33
47
#ifndef ti_xdais_dm_IVIDDEC2_
48
#define ti_xdais_dm_IVIDDEC2_
49
50
#include <
ti/xdais/ialg.h
>
51
#include <
ti/xdais/xdas.h
>
52
#include "
xdm.h
"
53
#include "
ivideo.h
"
54
55
#ifdef __cplusplus
56
extern
"C"
{
57
#endif
58
61
72
#define IVIDDEC2_MAX_IO_BUFFERS IVIDEO2_MAX_IO_BUFFERS
73
74
#define IVIDDEC2_EOK XDM_EOK
75
#define IVIDDEC2_EFAIL XDM_EFAIL
76
#define IVIDDEC2_EUNSUPPORTED XDM_EUNSUPPORTED
82
typedef struct IVIDDEC2_Obj {
83
struct
IVIDDEC2_Fxns
*
fxns
;
84
}
IVIDDEC2_Obj
;
85
86
90
typedef
struct
IVIDDEC2_Obj
*
IVIDDEC2_Handle
;
91
92
100
typedef
enum
{
101
IVIDDEC2_DISPLAY_ORDER
= 0,
117
IVIDDEC2_DECODE_ORDER
= 1,
132
IVIDDEC2_FRAMEORDER_DEFAULT
=
IVIDDEC2_DISPLAY_ORDER
133
}
IVIDDEC2_FrameOrder
;
134
135
142
typedef
struct
IVIDDEC2_Params
{
143
XDAS_Int32
size
;
144
XDAS_Int32
maxHeight
;
145
XDAS_Int32
maxWidth
;
146
XDAS_Int32
maxFrameRate
;
151
XDAS_Int32
maxBitRate
;
155
XDAS_Int32
dataEndianness
;
159
XDAS_Int32
forceChromaFormat
;
163
}
IVIDDEC2_Params
;
164
165
180
typedef
struct
IVIDDEC2_DynamicParams
{
181
XDAS_Int32
size
;
182
XDAS_Int32
decodeHeader
;
186
XDAS_Int32
displayWidth
;
190
XDAS_Int32
frameSkipMode
;
194
XDAS_Int32
frameOrder
;
198
XDAS_Int32
newFrameFlag
;
210
XDAS_Int32
mbDataFlag
;
219
}
IVIDDEC2_DynamicParams
;
220
221
230
typedef
struct
IVIDDEC2_InArgs
{
231
XDAS_Int32
size
;
232
XDAS_Int32
numBytes
;
235
XDAS_Int32
inputID
;
254
}
IVIDDEC2_InArgs
;
255
256
267
typedef
struct
IVIDDEC2_Status
{
268
XDAS_Int32
size
;
269
XDAS_Int32
extendedError
;
270
XDM1_SingleBufDesc
data
;
291
XDAS_Int32
maxNumDisplayBufs
;
297
XDAS_Int32
outputHeight
;
298
XDAS_Int32
outputWidth
;
299
XDAS_Int32
frameRate
;
304
XDAS_Int32
bitRate
;
305
XDAS_Int32
contentType
;
309
XDAS_Int32
outputChromaFormat
;
313
XDM_AlgBufInfo
bufInfo
;
317
}
IVIDDEC2_Status
;
318
319
328
typedef
struct
IVIDDEC2_OutArgs
{
329
XDAS_Int32
size
;
330
XDAS_Int32
bytesConsumed
;
334
XDAS_Int32
outputID
[
IVIDEO2_MAX_IO_BUFFERS
];
349
IVIDEO1_BufDesc
decodedBufs
;
364
IVIDEO1_BufDesc
displayBufs
[
IVIDEO2_MAX_IO_BUFFERS
];
396
XDAS_Int32
outputMbDataID
;
401
XDM1_SingleBufDesc
mbDataBuf
;
408
XDAS_Int32
freeBufID
[
IVIDEO2_MAX_IO_BUFFERS
];
445
XDAS_Int32
outBufsInUseFlag
;
454
}
IVIDDEC2_OutArgs
;
455
456
467
typedef
IALG_Cmd
IVIDDEC2_Cmd
;
468
469
473
typedef
struct
IVIDDEC2_Fxns
{
474
IALG_Fxns
ialg
;
580
XDAS_Int32
(*
process
)(IVIDDEC2_Handle handle,
XDM1_BufDesc
*inBufs,
581
XDM_BufDesc
*outBufs,
IVIDDEC2_InArgs
*inArgs,
582
IVIDDEC2_OutArgs
*outArgs);
583
584
620
XDAS_Int32
(*
control
)(IVIDDEC2_Handle handle,
IVIDDEC2_Cmd
id,
621
IVIDDEC2_DynamicParams
*params,
IVIDDEC2_Status
*status);
622
623
}
IVIDDEC2_Fxns
;
624
625
628
#ifdef __cplusplus
629
}
630
#endif
631
632
#endif
/* ti_xdais_dm_IVIDDEC2_ */
Copyright 2013, Texas Instruments Incorporated