-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathencode_stream.h
More file actions
executable file
·115 lines (95 loc) · 2.1 KB
/
encode_stream.h
File metadata and controls
executable file
·115 lines (95 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
* Copyright (c) 2010-2014, Freescale Semiconductor Inc.,
* Copyright 2019-2020 NXP
*
* The following programs are the sole property of NXP,
* and contain its proprietary and confidential information.
*
*/
/*
* encode_stream.h
* header file contain all related struct info in encode_stream.c
*
* History :
* Date (y.m.d) Author Version Description
* 2010-12-31 eagle zhou 0.1 Created
*/
#ifndef ENCODE_STREAM_H
#define ENCODE_STREAM_H
typedef int (EncOneFrameOK)(void* pvContxt,unsigned char* pFrmBits,int nFrmLen);
typedef int (EncOneFrame)(void* pvContxt);
typedef struct
{
// input setting
FILE* fin;
FILE* fout;
int nMaxNum;
int nCodec;
int nPicWidth;
int nPicHeight;
int nRotAngle;
int nFrameRate;
int nBitRate; /*unit: kbps*/
int nGOPSize;
int nQuantParam;
//advance options
int nChromaInterleave;
int nMirror;
int nEnableAutoSkip;
int nMapType;
int nLinear2TiledEnable;
int nColor;
int nInitialDelay;
int nVbvBufSize;
int nSliceMode;
int nSliceSizeMode;
int nSliceSize;
int nIntraRefresh;
int nIntraRefreshMode;
int nRcIntraQp;
int nUserQPMin;
int nUserQPMax;
int nUserQPMinEnable;
int nUserQPMaxEnable;
int nUserGamma;
int nRcIntervalMode;
int nMBInterval;
/*for H.264*/
int nAvc_Intra16x16Only;
int nAvc_constrainedIntraPredFlag;
int nAvc_disableDeblk;
int nAvc_deblkFilterOffsetAlpha;
int nAvc_deblkFilterOffsetBeta;
int nAvc_chromaQpOffset;
int nAvc_audEnable;
int nAvc_fmoEnable;
int nAvc_fmoSliceNum;
int nAvc_fmoType;
/*for H.263*/
int nH263_annexJEnable;
int nH263_annexKEnable;
int nH263_annexTEnable;
/*for MPEG4*/
int nMp4_dataPartitionEnable;
int nMp4_reversibleVlcEnable;
int nMp4_intraDcVlcThr;
int nMp4_hecEnable;
int nMp4_verid;
// output info
int nFrameNum;
int nErr;
// app context
void* pApp;
//callback functions
EncOneFrameOK* pfOneFrameOk;
EncOneFrame* pfOneFrameBeg;
EncOneFrame* pfOneFrameEnd;
int nEncFps;
int nTotalFps;
// internal testing for repeat
int nRepeatNum;
int nSimpleApi;
}EncContxt;
int encode_stream(EncContxt * encContxt);
//int encode_reset();
#endif //#ifndef ENCODE_STREAM_H