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
ividdec3.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_IVIDDEC3_
48
#define ti_xdais_dm_IVIDDEC3_
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
62
#define IVIDDEC3_EOK XDM_EOK
63
#define IVIDDEC3_EFAIL XDM_EFAIL
64
#define IVIDDEC3_EUNSUPPORTED XDM_EUNSUPPORTED
70
typedef struct IVIDDEC3_Obj {
71
struct
IVIDDEC3_Fxns
*
fxns
;
72
}
IVIDDEC3_Obj
;
73
74
78
typedef
struct
IVIDDEC3_Obj
*
IVIDDEC3_Handle
;
79
80
89
typedef
enum
{
90
IVIDDEC3_DISPLAY_DELAY_AUTO
= -1,
91
IVIDDEC3_DECODE_ORDER
= 0,
92
IVIDDEC3_DISPLAY_DELAY_1
= 1,
93
IVIDDEC3_DISPLAY_DELAY_2
= 2,
94
IVIDDEC3_DISPLAY_DELAY_3
= 3,
95
IVIDDEC3_DISPLAY_DELAY_4
= 4,
96
IVIDDEC3_DISPLAY_DELAY_5
= 5,
97
IVIDDEC3_DISPLAY_DELAY_6
= 6,
98
IVIDDEC3_DISPLAY_DELAY_7
= 7,
99
IVIDDEC3_DISPLAY_DELAY_8
= 8,
100
IVIDDEC3_DISPLAY_DELAY_9
= 9,
101
IVIDDEC3_DISPLAY_DELAY_10
= 10,
102
IVIDDEC3_DISPLAY_DELAY_11
= 11,
103
IVIDDEC3_DISPLAY_DELAY_12
= 12,
104
IVIDDEC3_DISPLAY_DELAY_13
= 13,
105
IVIDDEC3_DISPLAY_DELAY_14
= 14,
106
IVIDDEC3_DISPLAY_DELAY_15
= 15,
107
IVIDDEC3_DISPLAY_DELAY_16
= 16,
108
IVIDDEC3_DISPLAYDELAY_DEFAULT
=
IVIDDEC3_DISPLAY_DELAY_AUTO
109
}
IVIDDEC3_displayDelay
;
110
117
typedef
struct
IVIDDEC3_Params
{
118
XDAS_Int32
size
;
119
XDAS_Int32
maxHeight
;
120
XDAS_Int32
maxWidth
;
121
XDAS_Int32
maxFrameRate
;
126
XDAS_Int32
maxBitRate
;
130
XDAS_Int32
dataEndianness
;
134
XDAS_Int32
forceChromaFormat
;
138
XDAS_Int32
operatingMode
;
142
XDAS_Int32
displayDelay
;
146
XDAS_Int32
inputDataMode
;
165
XDAS_Int32
outputDataMode
;
180
XDAS_Int32
numInputDataUnits
;
191
XDAS_Int32
numOutputDataUnits
;
202
XDAS_Int32
errorInfoMode
;
207
XDAS_Int32
displayBufsMode
;
218
XDAS_Int32
metadataType
[
IVIDEO_MAX_NUM_METADATA_PLANES
];
223
}
IVIDDEC3_Params
;
224
225
240
typedef
struct
IVIDDEC3_DynamicParams
{
241
XDAS_Int32
size
;
242
XDAS_Int32
decodeHeader
;
246
XDAS_Int32
displayWidth
;
251
XDAS_Int32
frameSkipMode
;
255
XDAS_Int32
newFrameFlag
;
267
XDM_DataSyncPutFxn
putDataFxn
;
281
XDM_DataSyncHandle
putDataHandle
;
303
XDM_DataSyncGetFxn
getDataFxn
;
316
XDM_DataSyncHandle
getDataHandle
;
337
XDM_DataSyncPutBufferFxn
putBufferFxn
;
351
XDM_DataSyncHandle
putBufferHandle
;
373
XDAS_Int32
lateAcquireArg
;
402
}
IVIDDEC3_DynamicParams
;
403
404
413
typedef
struct
IVIDDEC3_InArgs
{
414
XDAS_Int32
size
;
415
XDAS_Int32
numBytes
;
418
XDAS_Int32
inputID
;
437
}
IVIDDEC3_InArgs
;
438
439
447
typedef
struct
IVIDDEC3_Status
{
448
XDAS_Int32
size
;
449
XDAS_Int32
extendedError
;
450
XDM1_SingleBufDesc
data
;
471
XDAS_Int32
maxNumDisplayBufs
;
477
XDAS_Int32
maxOutArgsDisplayBufs
;
488
XDAS_Int32
outputHeight
;
489
XDAS_Int32
outputWidth
;
490
XDAS_Int32
frameRate
;
495
XDAS_Int32
bitRate
;
496
XDAS_Int32
contentType
;
500
XDAS_Int32
sampleAspectRatioHeight
;
501
XDAS_Int32
sampleAspectRatioWidth
;
502
XDAS_Int32
bitRange
;
503
XDAS_Int32
forceChromaFormat
;
507
XDAS_Int32
operatingMode
;
511
XDAS_Int32
frameOrder
;
517
XDAS_Int32
inputDataMode
;
522
XDAS_Int32
outputDataMode
;
527
XDM1_AlgBufInfo
bufInfo
;
538
XDAS_Int32
numInputDataUnits
;
551
XDAS_Int32
numOutputDataUnits
;
563
XDAS_Int32
configurationID
;
575
XDAS_Int32
metadataType
[
IVIDEO_MAX_NUM_METADATA_PLANES
];
580
IVIDDEC3_DynamicParams
decDynamicParams
;
587
}
IVIDDEC3_Status
;
588
589
599
typedef
enum
{
600
IVIDDEC3_DISPLAYBUFS_EMBEDDED
= 1,
611
IVIDDEC3_DISPLAYBUFS_PTRS
= 2
632
}
IVIDDEC3_DisplayBufsMode
;
633
634
656
typedef
struct
IVIDDEC3_OutArgs
{
657
XDAS_Int32
size
;
668
XDAS_Int32
extendedError
;
669
XDAS_Int32
bytesConsumed
;
670
XDAS_Int32
outputID
[
IVIDEO2_MAX_IO_BUFFERS
];
685
IVIDEO2_BufDesc
decodedBufs
;
701
XDAS_Int32
freeBufID
[
IVIDEO2_MAX_IO_BUFFERS
];
738
XDAS_Int32
outBufsInUseFlag
;
747
XDAS_Int32
displayBufsMode
;
764
union
{
765
IVIDEO2_BufDesc
bufDesc
[1];
806
IVIDEO2_BufDesc
*
pBufDesc
[
IVIDEO2_MAX_IO_BUFFERS
];
816
}
displayBufs
;
842
}
IVIDDEC3_OutArgs
;
843
844
855
typedef
IALG_Cmd
IVIDDEC3_Cmd
;
856
857
861
typedef
struct
IVIDDEC3_Fxns
{
862
IALG_Fxns
ialg
;
959
XDAS_Int32
(*
process
)(IVIDDEC3_Handle handle,
XDM2_BufDesc
*inBufs,
960
XDM2_BufDesc
*outBufs,
IVIDDEC3_InArgs
*inArgs,
961
IVIDDEC3_OutArgs
*outArgs);
962
963
999
XDAS_Int32
(*
control
)(IVIDDEC3_Handle handle,
IVIDDEC3_Cmd
id,
1000
IVIDDEC3_DynamicParams
*params,
IVIDDEC3_Status
*status);
1001
1002
}
IVIDDEC3_Fxns
;
1003
1004
1007
#ifdef __cplusplus
1008
}
1009
#endif
1010
1011
#endif
Copyright 2013, Texas Instruments Incorporated