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