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