archived-mpp/mpp/common/h263d_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

98 lines
3 KiB
C

/*
*
* Copyright 2010 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 __H263D_SYNTAX__
#define __H263D_SYNTAX__
#include "dxva_syntax.h"
/*video vop specific*/
typedef enum {
H263_INVALID_VOP = -1,
H263_I_VOP = 0,
H263_P_VOP = 1,
} H263VOPType;
/* H263PT2 Picture Parameter structure */
typedef struct _DXVA_PicParams_H263 {
RK_U8 short_video_header;
RK_U8 vop_coding_type;
RK_U8 vop_quant;
RK_U16 wDecodedPictureIndex;
RK_U16 wDeblockedPictureIndex;
RK_U16 wForwardRefPictureIndex;
RK_U16 wBackwardRefPictureIndex;
RK_U16 vop_time_increment_resolution;
RK_U32 TRB[2];
RK_U32 TRD[2];
union {
struct {
RK_U16 unPicPostProc : 2;
RK_U16 interlaced : 1;
RK_U16 quant_type : 1;
RK_U16 quarter_sample : 1;
RK_U16 resync_marker_disable : 1;
RK_U16 data_partitioned : 1;
RK_U16 reversible_vlc : 1;
RK_U16 reduced_resolution_vop_enable : 1;
RK_U16 vop_coded : 1;
RK_U16 vop_rounding_type : 1;
RK_U16 intra_dc_vlc_thr : 3;
RK_U16 top_field_first : 1;
RK_U16 alternate_vertical_scan_flag : 1;
};
RK_U16 wPicFlagBitFields;
};
RK_U8 profile_and_level_indication;
RK_U8 video_object_layer_verid;
RK_U16 vop_width;
RK_U16 vop_height;
union {
struct {
RK_U16 sprite_enable : 2;
RK_U16 no_of_sprite_warping_points : 6;
RK_U16 sprite_warping_accuracy : 2;
};
RK_U16 wSpriteBitFields;
};
RK_S16 warping_mv[4][2];
union {
struct {
RK_U8 vop_fcode_forward : 3;
RK_U8 vop_fcode_backward : 3;
};
RK_U8 wFcodeBitFields;
};
RK_U16 StatusReportFeedbackNumber;
RK_U16 Reserved16BitsA;
RK_U16 Reserved16BitsB;
// FIXME: added for rockchip hardware information
RK_U32 prev_coding_type;
RK_U32 header_bits;
} DXVA_PicParams_H263, *LPDXVA_PicParams_H263;
typedef struct h263d_dxva2_picture_context {
DXVA_PicParams_H263 pp;
// pointer and storage for buffer descriptor
DXVA2_DecodeBufferDesc *data[2];
DXVA2_DecodeBufferDesc desc[2];
} h263d_dxva2_picture_context_t;
#endif /*__H263D_SYNTAX__*/