1 /* 2 * Copyright 2015 Rockchip Electronics Co. LTD 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef __AVSD_SYNTAX_H__ 18 #define __AVSD_SYNTAX_H__ 19 20 #include "rk_type.h" 21 22 23 //!< cavs decoder picture parameters structure 24 typedef struct _PicParams_Avsd { 25 //!< sequence header 26 RK_U32 profileId; 27 RK_U32 levelId; 28 RK_U32 progressiveSequence; 29 RK_U32 horizontalSize; 30 RK_U32 verticalSize; 31 RK_U32 chromaFormat; 32 RK_U32 aspectRatio; 33 RK_U32 frameRateCode; 34 RK_U32 bitRateValue; 35 RK_U32 lowDelay; 36 RK_U32 bbvBufferSize; 37 //!< sequence display extension header 38 RK_U32 videoFormat; 39 RK_U32 sampleRange; 40 RK_U32 colorDescription; 41 RK_U32 colorPrimaries; 42 RK_U32 transferCharacteristics; 43 RK_U32 matrixCoefficients; 44 RK_U32 displayHorizontalSize; 45 RK_U32 displayVerticalSize; 46 47 //!< picture header 48 RK_U32 picCodingType; 49 RK_U32 bbvDelay; 50 RK_U16 bbvDelayExtension; 51 RK_U8 timeCodeFlag; 52 RK_U32 timeCode; 53 54 RK_U32 pictureDistance; 55 RK_U32 progressiveFrame; 56 RK_U32 pictureStructure; 57 RK_U32 advancedPredModeDisable; 58 RK_U32 topFieldFirst; 59 RK_U32 repeatFirstField; 60 RK_U32 fixedPictureQp; 61 RK_U32 pictureQp; 62 RK_U32 pictureReferenceFlag; 63 RK_U32 skipModeFlag; 64 RK_U32 loopFilterDisable; 65 RK_S32 alphaOffset; 66 RK_S32 betaOffset; 67 68 //!< weighting quant, AVS Plus stuff 69 RK_U32 weightingQuantFlag; 70 RK_U32 chromaQuantParamDisable; 71 RK_S32 chromaQuantParamDeltaCb; 72 RK_S32 chromaQuantParamDeltaCr; 73 RK_U32 weightingQuantParamIndex; 74 RK_U32 weightingQuantModel; 75 RK_S32 weightingQuantParamDelta1[6]; 76 RK_S32 weightingQuantParamDelta2[6]; 77 RK_U32 weightingQuantParam[6]; // wqP[m][6] 78 79 //!< advance entropy coding 80 RK_U32 aecEnable; 81 82 //!< picture enhance 83 RK_U32 noForwardReferenceFlag; 84 RK_U32 pbFieldEnhancedFlag; 85 86 } PicParams_Avsd, *LP_PicParams_Avsd; 87 88 89 90 typedef struct avsd_syntax_t { 91 PicParams_Avsd pp; 92 RK_U8 *bitstream; 93 RK_U32 bitstream_offset; 94 RK_U32 bitstream_size; 95 } AvsdSyntax_t; 96 97 98 99 #endif /*__AVSD_SYNTAX_H__*/ 100 101