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
ividenc1.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_IVIDENC1_
48
#define ti_xdais_dm_IVIDENC1_
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 IVIDENC1_EOK XDM_EOK
63
#define IVIDENC1_EFAIL XDM_EFAIL
64
#define IVIDENC1_EUNSUPPORTED XDM_EUNSUPPORTED
70
typedef struct IVIDENC1_Obj {
71
struct
IVIDENC1_Fxns
*
fxns
;
72
}
IVIDENC1_Obj
;
73
74
78
typedef
struct
IVIDENC1_Obj
*
IVIDENC1_Handle
;
79
80
87
typedef
struct
IVIDENC1_Params
{
88
XDAS_Int32
size
;
89
XDAS_Int32
encodingPreset
;
90
XDAS_Int32
rateControlPreset
;
94
XDAS_Int32
maxHeight
;
95
XDAS_Int32
maxWidth
;
96
XDAS_Int32
maxFrameRate
;
101
XDAS_Int32
maxBitRate
;
102
XDAS_Int32
dataEndianness
;
106
XDAS_Int32
maxInterFrameInterval
;
113
XDAS_Int32
inputChromaFormat
;
117
XDAS_Int32
inputContentType
;
122
XDAS_Int32
reconChromaFormat
;
133
}
IVIDENC1_Params
;
134
135
150
typedef
struct
IVIDENC1_DynamicParams
{
151
XDAS_Int32
size
;
152
XDAS_Int32
inputHeight
;
153
XDAS_Int32
inputWidth
;
154
XDAS_Int32
refFrameRate
;
161
XDAS_Int32
targetFrameRate
;
168
XDAS_Int32
targetBitRate
;
169
XDAS_Int32
intraFrameInterval
;
181
XDAS_Int32
generateHeader
;
185
XDAS_Int32
captureWidth
;
190
XDAS_Int32
forceFrame
;
208
XDAS_Int32
interFrameInterval
;
225
XDAS_Int32
mbDataFlag
;
229
}
IVIDENC1_DynamicParams
;
230
231
240
typedef
struct
IVIDENC1_InArgs
{
241
XDAS_Int32
size
;
242
XDAS_Int32
inputID
;
263
XDAS_Int32
topFieldFirstFlag
;
276
}
IVIDENC1_InArgs
;
277
278
286
typedef
struct
IVIDENC1_Status
{
287
XDAS_Int32
size
;
288
XDAS_Int32
extendedError
;
289
XDM1_SingleBufDesc
data
;
310
XDM_AlgBufInfo
bufInfo
;
330
}
IVIDENC1_Status
;
331
332
341
typedef
struct
IVIDENC1_OutArgs
{
342
XDAS_Int32
size
;
343
XDAS_Int32
extendedError
;
344
XDAS_Int32
bytesGenerated
;
347
XDAS_Int32
encodedFrameType
;
351
XDAS_Int32
inputFrameSkip
;
355
XDAS_Int32
outputID
;
366
XDM1_SingleBufDesc
encodedBuf
;
390
IVIDEO1_BufDesc
reconBufs
;
408
}
IVIDENC1_OutArgs
;
409
410
421
typedef
IALG_Cmd
IVIDENC1_Cmd
;
422
423
436
typedef
struct
IVIDENC1_MbData
{
437
XDAS_Int32
mbMode
;
448
XDAS_Int32
QP
;
453
XDAS_Int32
mvFwdXY
;
469
XDAS_Int32
mvBwdXY
;
474
}
IVIDENC1_MbData
;
475
476
480
typedef
struct
IVIDENC1_Fxns
{
481
IALG_Fxns
ialg
;
572
XDAS_Int32
(*
process
)(IVIDENC1_Handle handle,
IVIDEO1_BufDescIn
*inBufs,
573
XDM_BufDesc
*outBufs,
IVIDENC1_InArgs
*inArgs,
574
IVIDENC1_OutArgs
*outArgs);
575
576
612
XDAS_Int32
(*
control
)(IVIDENC1_Handle handle,
IVIDENC1_Cmd
id,
613
IVIDENC1_DynamicParams
*params,
IVIDENC1_Status
*status);
614
615
}
IVIDENC1_Fxns
;
616
617
620
#ifdef __cplusplus
621
}
622
#endif
623
624
#endif
Copyright 2013, Texas Instruments Incorporated