mpp-nyanmisaka/mpp/common/m2vd_syntax.h
Lin Kesheng 60373a6973 [all]: format code
use fromdos to change file type, remove ^M in code.

Change-Id: I000202dc51fcff57cc0771455baebea595115b1d
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2016-09-08 15:21:02 +08:00

141 lines
4.6 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 __M2VD_SYNTAX_H__
#define __M2VD_SYNTAX_H__
#include "rk_type.h"
typedef struct _DXVA_PicEntry_M2V {
union {
struct {
RK_U8 Index7Bits : 7;
RK_U8 AssociatedFlag : 1;
};
RK_U8 bPicEntry;
};
} DXVA_PicEntry_M2V;
/* ISO/IEC 13818-2 section 6.2.2.1: sequence_Dxvaer() */
typedef struct M2VDDxvaSeq_t {
RK_U32 decode_width; //horizontal_size_value
RK_U32 decode_height; //vertical_size_value
RK_S32 aspect_ratio_information;
RK_S32 frame_rate_code;
RK_S32 bit_rate_value;
RK_S32 vbv_buffer_size;
RK_S32 constrained_parameters_flag;
RK_U32 load_intra_quantizer_matrix; //[TEMP]
RK_U32 load_non_intra_quantizer_matrix; //[TEMP]
} M2VDDxvaSeq;
/* ISO/IEC 13818-2 section 6.2.2.3: sequence_extension() */
typedef struct M2VDDxvaSeqExt_t {
RK_S32 profile_and_level_indication;
RK_S32 progressive_sequence;
RK_S32 chroma_format;
RK_S32 low_delay;
RK_S32 frame_rate_extension_n;
RK_S32 frame_rate_extension_d;
} M2VDDxvaSeqExt;
/* ISO/IEC 13818-2 section 6.2.2.6: group_of_pictures_Dxvaer() */
typedef struct M2VDDxvaGop_t {
RK_S32 drop_flag;
RK_S32 hour;
RK_S32 minute;
RK_S32 sec;
RK_S32 frame;
RK_S32 closed_gop;
RK_S32 broken_link;
} M2VDDxvaGop;
/* ISO/IEC 13818-2 section 6.2.3: picture_Dxvaer() */
typedef struct M2VDDxvaPic_t {
RK_S32 temporal_reference;
RK_S32 picture_coding_type;
RK_S32 pre_picture_coding_type;
RK_S32 vbv_delay;
RK_S32 full_pel_forward_vector;
RK_S32 forward_f_code;
RK_S32 full_pel_backward_vector;
RK_S32 backward_f_code;
RK_S32 pre_temporal_reference;
} M2VDDxvaPic;
/* ISO/IEC 13818-2 section 6.2.2.4: sequence_display_extension() */
typedef struct M2VDDxvaSeqDispExt_t {
RK_S32 video_format;
RK_S32 color_description;
RK_S32 color_primaries;
RK_S32 transfer_characteristics;
RK_S32 matrix_coefficients;
} M2VDDxvaSeqDispExt;
/* ISO/IEC 13818-2 section 6.2.3.1: picture_coding_extension() Dxvaer */
typedef struct M2VDDxvaPicCodeExt_t {
RK_S32 f_code[2][2];
RK_S32 intra_dc_precision;
RK_S32 picture_structure;
RK_S32 top_field_first;
RK_S32 frame_pred_frame_dct;
RK_S32 concealment_motion_vectors;
RK_S32 q_scale_type;
RK_S32 intra_vlc_format;
RK_S32 alternate_scan;
RK_S32 repeat_first_field;
RK_S32 chroma_420_type;
RK_S32 progressive_frame;
RK_S32 composite_display_flag;
RK_S32 v_axis;
RK_S32 field_sequence;
RK_S32 sub_carrier;
RK_S32 burst_amplitude;
RK_S32 sub_carrier_phase;
} M2VDDxvaPicCodeExt;
/* ISO/IEC 13818-2 section 6.2.3.3: picture_display_extension() Dxvaer */
typedef struct M2VDDxvaPicDispExt_t {
RK_S32 frame_center_horizontal_offset[3];
RK_S32 frame_center_vertical_offset[3];
} M2VDDxvaPicDispExt;
typedef struct M2VDDxvaParam_t {
RK_U32 bitstream_length;
RK_U32 bitstream_start_bit;
RK_U32 bitstream_offset;
RK_U8 *qp_tab;
DXVA_PicEntry_M2V CurrPic;
DXVA_PicEntry_M2V frame_refs[4];
RK_U32 seq_ext_head_dec_flag;
M2VDDxvaSeq seq;
M2VDDxvaSeqExt seq_ext;
M2VDDxvaGop gop;
M2VDDxvaPic pic;
M2VDDxvaSeqDispExt seq_disp_ext;
M2VDDxvaPicCodeExt pic_code_ext;
M2VDDxvaPicDispExt pic_disp_ext;
} M2VDDxvaParam;
#endif