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
ividdec1.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
50
#ifndef ti_xdais_dm_IVIDDEC1_
51
#define ti_xdais_dm_IVIDDEC1_
52
53
#include <
ti/xdais/ialg.h
>
54
#include <
ti/xdais/xdas.h
>
55
#include "
xdm.h
"
56
#include "
ivideo.h
"
57
58
#ifdef __cplusplus
59
extern
"C"
{
60
#endif
61
64
65
#define IVIDDEC1_EOK XDM_EOK
66
#define IVIDDEC1_EFAIL XDM_EFAIL
67
#define IVIDDEC1_EUNSUPPORTED XDM_EUNSUPPORTED
73
typedef struct IVIDDEC1_Obj {
74
struct
IVIDDEC1_Fxns
*
fxns
;
75
}
IVIDDEC1_Obj
;
76
77
81
typedef
struct
IVIDDEC1_Obj
*
IVIDDEC1_Handle
;
82
83
91
typedef
enum
{
92
IVIDDEC_DISPLAY_ORDER
= 0,
108
IVIDDEC_DECODE_ORDER
= 1,
123
IVIDDEC_FRAMEORDER_DEFAULT
=
IVIDDEC_DISPLAY_ORDER
124
}
IVIDDEC1_FrameOrder
;
125
126
133
typedef
struct
IVIDDEC1_Params
{
134
XDAS_Int32
size
;
135
XDAS_Int32
maxHeight
;
136
XDAS_Int32
maxWidth
;
137
XDAS_Int32
maxFrameRate
;
142
XDAS_Int32
maxBitRate
;
146
XDAS_Int32
dataEndianness
;
150
XDAS_Int32
forceChromaFormat
;
154
}
IVIDDEC1_Params
;
155
156
171
typedef
struct
IVIDDEC1_DynamicParams
{
172
XDAS_Int32
size
;
173
XDAS_Int32
decodeHeader
;
177
XDAS_Int32
displayWidth
;
181
XDAS_Int32
frameSkipMode
;
185
XDAS_Int32
frameOrder
;
189
XDAS_Int32
newFrameFlag
;
201
XDAS_Int32
mbDataFlag
;
210
}
IVIDDEC1_DynamicParams
;
211
212
221
typedef
struct
IVIDDEC1_InArgs
{
222
XDAS_Int32
size
;
223
XDAS_Int32
numBytes
;
226
XDAS_Int32
inputID
;
245
}
IVIDDEC1_InArgs
;
246
247
258
typedef
struct
IVIDDEC1_Status
{
259
XDAS_Int32
size
;
260
XDAS_Int32
extendedError
;
261
XDM1_SingleBufDesc
data
;
282
XDAS_Int32
outputHeight
;
283
XDAS_Int32
outputWidth
;
284
XDAS_Int32
frameRate
;
289
XDAS_Int32
bitRate
;
290
XDAS_Int32
contentType
;
294
XDAS_Int32
outputChromaFormat
;
298
XDM_AlgBufInfo
bufInfo
;
302
}
IVIDDEC1_Status
;
303
304
305
#define IVIDDEC1_FREE_BUFF_SIZE 16
318
typedef struct IVIDDEC1_OutArgs {
319
XDAS_Int32
size
;
320
XDAS_Int32
bytesConsumed;
323
XDAS_Int32
outputID[
XDM_MAX_IO_BUFFERS
];
338
IVIDEO1_BufDesc
decodedBufs;
353
IVIDEO1_BufDesc
displayBufs[
XDM_MAX_IO_BUFFERS
];
376
XDAS_Int32
outputMbDataID;
381
XDM1_SingleBufDesc
mbDataBuf;
388
XDAS_Int32
freeBufID[
IVIDDEC1_FREE_BUFF_SIZE
];
425
XDAS_Int32
outBufsInUseFlag;
434
}
IVIDDEC1_OutArgs
;
435
436
447
typedef
IALG_Cmd
IVIDDEC1_Cmd
;
448
449
453
typedef
struct
IVIDDEC1_Fxns
{
454
IALG_Fxns
ialg
;
541
XDAS_Int32
(*
process
)(IVIDDEC1_Handle handle,
XDM1_BufDesc
*inBufs,
542
XDM_BufDesc
*outBufs,
IVIDDEC1_InArgs
*inArgs,
543
IVIDDEC1_OutArgs
*outArgs);
544
545
581
XDAS_Int32
(*
control
)(IVIDDEC1_Handle handle,
IVIDDEC1_Cmd
id,
582
IVIDDEC1_DynamicParams
*params,
IVIDDEC1_Status
*status);
583
584
}
IVIDDEC1_Fxns
;
585
586
589
#ifdef __cplusplus
590
}
591
#endif
592
593
#endif
Copyright 2013, Texas Instruments Incorporated