hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
/*
*
* Copyright 2015 Rockchip Electronics Co. LTD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
 
 
#ifndef __AVSD_SYNTAX_H__
#define __AVSD_SYNTAX_H__
 
#include "rk_type.h"
 
 
//!< cavs decoder picture parameters structure
typedef struct _PicParams_Avsd {
    //!< sequence header
    RK_U32 profileId;
    RK_U32 levelId;
    RK_U32 progressiveSequence;
    RK_U32 horizontalSize;
    RK_U32 verticalSize;
    RK_U32 chromaFormat;
    RK_U32 aspectRatio;
    RK_U32 frameRateCode;
    RK_U32 bitRateValue;
    RK_U32 lowDelay;
    RK_U32 bbvBufferSize;
    //!< sequence display extension header
    RK_U32 videoFormat;
    RK_U32 sampleRange;
    RK_U32 colorDescription;
    RK_U32 colorPrimaries;
    RK_U32 transferCharacteristics;
    RK_U32 matrixCoefficients;
    RK_U32 displayHorizontalSize;
    RK_U32 displayVerticalSize;
 
    //!< picture header
    RK_U32 picCodingType;
    RK_U32 bbvDelay;
    RK_U16 bbvDelayExtension;
    RK_U8  timeCodeFlag;
    RK_U32 timeCode;
 
    RK_U32 pictureDistance;
    RK_U32 progressiveFrame;
    RK_U32 pictureStructure;
    RK_U32 advancedPredModeDisable;
    RK_U32 topFieldFirst;
    RK_U32 repeatFirstField;
    RK_U32 fixedPictureQp;
    RK_U32 pictureQp;
    RK_U32 pictureReferenceFlag;
    RK_U32 skipModeFlag;
    RK_U32 loopFilterDisable;
    RK_S32 alphaOffset;
    RK_S32 betaOffset;
 
    //!< weighting quant, AVS Plus stuff
    RK_U32 weightingQuantFlag;
    RK_U32 chromaQuantParamDisable;
    RK_S32 chromaQuantParamDeltaCb;
    RK_S32 chromaQuantParamDeltaCr;
    RK_U32 weightingQuantParamIndex;
    RK_U32 weightingQuantModel;
    RK_S32 weightingQuantParamDelta1[6];
    RK_S32 weightingQuantParamDelta2[6];
    RK_U32 weightingQuantParam[6]; // wqP[m][6]
 
    //!< advance entropy coding
    RK_U32 aecEnable;
 
    //!< picture enhance
    RK_U32 noForwardReferenceFlag;
    RK_U32 pbFieldEnhancedFlag;
 
} PicParams_Avsd, *LP_PicParams_Avsd;
 
 
 
typedef struct avsd_syntax_t {
    PicParams_Avsd     pp;
    RK_U8             *bitstream;
    RK_U32             bitstream_size;
} AvsdSyntax_t;
 
 
 
#endif /*__AVSD_SYNTAX_H__*/