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