archived-mpp/mpp/common/avsd_syntax.h
Yandong Lin 3adde926e2 [avs]: Add avs module
NOTE: I frame header decoding should check stream version.

Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I1c8276f4499d73e3b60d582890037dec376e136f
2022-10-13 15:16:13 +08:00

100 lines
2.7 KiB
C

/*
* 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_offset;
RK_U32 bitstream_size;
} AvsdSyntax_t;
#endif /*__AVSD_SYNTAX_H__*/