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