/*
|
*
|
* 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 __VP8D_SYNTAX_H__
|
#define __VP8D_SYNTAX_H__
|
|
#include "rk_type.h"
|
|
typedef struct _DXVA_PicEntry_VP8 {
|
union {
|
struct {
|
RK_U8 Index7Bits : 7;
|
RK_U8 AssociatedFlag : 1;
|
};
|
RK_U8 bPicEntry;
|
};
|
} DXVA_PicEntry_VP8;
|
typedef struct _segmentation_Vp8 {
|
union {
|
struct {
|
RK_U8 segmentation_enabled : 1;
|
RK_U8 update_mb_segmentation_map : 1;
|
RK_U8 update_mb_segmentation_data : 1;
|
RK_U8 mb_segement_abs_delta : 1;
|
RK_U8 ReservedSegmentFlags4Bits : 4;
|
};
|
RK_U8 wSegmentFlags;
|
};
|
RK_S8 segment_feature_data[2][4];
|
RK_U8 mb_segment_tree_probs[3];
|
} DXVA_segmentation_VP8;
|
|
typedef struct VP8DDxvaParam_t {
|
RK_U32 first_part_size;
|
RK_U32 width;
|
RK_U32 height;
|
DXVA_PicEntry_VP8 CurrPic;
|
union {
|
struct {
|
RK_U8 frame_type : 1;
|
RK_U8 version : 3;
|
RK_U8 show_frame : 1;
|
RK_U8 clamp_type : 1;
|
RK_U8 ReservedFrameTag2Bits: 2;
|
};
|
RK_U8 wFrameTagFlags;
|
};
|
DXVA_segmentation_VP8 stVP8Segments;
|
RK_U8 filter_type;
|
RK_U8 filter_level;
|
RK_U8 sharpness;
|
RK_U8 mode_ref_lf_delta_enabled;
|
RK_U8 mode_ref_lf_delta_update;
|
RK_S8 ref_lf_deltas[4];
|
RK_S8 mode_lf_deltas[4];
|
RK_U8 log2_nbr_of_dct_partitions;
|
RK_U8 base_qindex;
|
RK_S8 y1dc_delta_q;
|
RK_S8 y1ac_delta_q;
|
RK_S8 y2dc_delta_q;
|
RK_S8 y2ac_delta_q;
|
RK_S8 uvdc_delta_q;
|
RK_S8 uvac_delta_q;
|
|
DXVA_PicEntry_VP8 alt_fb_idx;
|
DXVA_PicEntry_VP8 gld_fb_idx;
|
DXVA_PicEntry_VP8 lst_fb_idx;
|
|
RK_U8 ref_frame_sign_bias_golden;
|
RK_U8 ref_frame_sign_bias_altref;
|
RK_U8 refresh_entropy_probs;
|
|
RK_U8 vp8_coef_update_probs[4][8][3][11];
|
RK_U8 probe_skip_false;
|
RK_U8 mb_no_coeff_skip;
|
RK_U8 prob_intra;
|
RK_U8 prob_last;
|
RK_U8 prob_golden;
|
RK_U8 intra_16x16_prob[4];
|
RK_U8 intra_chroma_prob[3];
|
RK_U8 vp8_mv_update_probs[2][19];
|
|
RK_U32 decMode;
|
RK_U32 bool_value;
|
RK_U32 bool_range;
|
RK_U32 stream_start_offset;
|
RK_U32 dctPartitionOffsets[8];
|
RK_U32 bitstream_length;
|
RK_U32 stream_start_bit;
|
RK_U32 frameTagSize;
|
RK_U32 streamEndPos;
|
RK_U32 offsetToDctParts;
|
} DXVA_PicParams_VP8;
|
|
#if 0
|
typedef struct VP8DDxvaParam_t {
|
RK_U32 first_part_size;
|
RK_U32 width;
|
RK_U32 height;
|
DXVA_PicEntry_VP8 CurrPic;
|
union {
|
struct {
|
RK_U8 key_frame : 1;
|
RK_U8 segmentationEnabled : 1;
|
RK_U8 segmentationMapUpdate : 1;
|
RK_U8 modeRefLfEnabled : 1;
|
RK_U8 coeffSkipMode: 1;
|
RK_U8 reservedFormatInfo: 3;
|
};
|
RK_U8 wFormatAndPictureInfoFlags;
|
};
|
RK_U32 decMode;
|
RK_U32 loopFilterType;
|
RK_U32 loopFilterSharpness;
|
RK_U32 loopFilterLevel;
|
RK_U32 segmentFeatureMode;
|
RK_U32 vpVersion;
|
RK_U32 bool_value;
|
RK_U32 bool_range;
|
RK_U32 stream_start_offset;
|
RK_U32 stream_start_bit;
|
RK_U32 frameTagSize;
|
RK_U32 streamEndPos;
|
RK_U32 nbrDctPartitions;
|
RK_U32 offsetToDctParts;
|
|
RK_S8 qpYAc;
|
RK_S8 qpYDc;
|
RK_S8 qpY2Ac;
|
RK_S8 qpY2Dc;
|
RK_S8 qpChAc;
|
RK_S8 qpChDc;
|
RK_U8 vp8_coef_update_probs[4][8][3][11];
|
RK_U8 probe_skip_false;
|
RK_U8 prob_intra;
|
RK_U8 prob_last;
|
RK_U8 prob_golden;
|
RK_U8 intra_16x16_prob[4];
|
RK_U8 intra_chroma_prob[3];
|
RK_U8 vp8_mv_update_probs[2][19];
|
RK_U8 vp8_segment_prob[3];
|
|
RK_U32 refFrameSignBias[2];
|
RK_S32 dcPred[2];
|
RK_S32 dcMatch[2];
|
RK_S32 segmentQp[4];
|
RK_S32 mbRefLfDelta[4];
|
RK_S32 mbModeLfDelta[4];
|
RK_U32 vp7ScanOrder[16];
|
RK_S32 segmentLoopfilter[4];
|
RK_U32 dctPartitionOffsets[8];
|
RK_U32 bitstream_length;
|
DXVA_PicEntry_VP8 frame_refs[3];
|
} DXVA_PicParams_VP8;
|
#endif
|
#endif
|