shithub: hantro9

ref: 3296f28705a08bd9daff92a677b0fa76098941dd
dir: /vpuctx.h/

View raw version
typedef struct VPUctx VPUctx;

struct VPUctx {
	int process;
	int slen;

	union {
		/* h.264 decoding */
		struct {
			/* FIXME userspace */
			u32int useDefaultScalingMatrixFlag;
			int PicSizeInMapUnits;
			u8int sl4x4[6*16];
			u8int sl8x8[6*64];
			struct {
				int left, right;
				int top, bottom;
			}crop;

			u8int nal_ref_idc;
			u8int nal_unit_type;
			struct {
				u16int pic_height_in_map_units_minus1;
				u16int pic_width_in_mbs_minus1;
				u8int chroma_format_idc;
				u8int frame_mbs_only_flag;
				u8int log2_max_frame_num_minus4;
				u8int max_num_ref_frames;
				u8int profile_idc;
				u8int direct_8x8_inference_flag;
				u8int mb_adaptive_frame_field_flag;
				u8int seq_scaling_matrix_present_flag;
				u8int separate_colour_plane_flag;

				/* FIXME userspace */
				u8int log2_max_pic_order_cnt_lsb_minus4; /* 0-12 */
				u8int pic_order_cnt_type; /* 0-2 */
				u8int delta_pic_order_always_zero_flag;
			}sps;
			struct {
				s8int chroma_qp_index_offset;
				s8int pic_init_qp_minus26;
				s8int second_chroma_qp_index_offset;
				u8int weighted_bipred_idc;
				u8int num_ref_idx_l0_default_active_minus1;
				u8int num_ref_idx_l1_default_active_minus1;
				u8int constrained_intra_pred_flag;
				u8int deblocking_filter_control_present_flag;
				u8int entropy_coding_mode_flag;
				u8int pic_scaling_matrix_present_flag;
				u8int redundant_pic_cnt_present_flag;
				u8int transform_8x8_mode_flag;
				u8int weighted_pred_flag;
				u8int pic_parameter_set_id;

				/* FIXME userspace */
				u8int bottom_field_pic_order_in_frame_present_flag;
				u8int num_slice_groups_minus1;
				u8int slice_group_map_type;
			}pps;
			struct {
				u16int frame_num;
				u16int idr_pic_id;
				u32int size_dec_ref_pic_marking;
				u8int size_pic_order_cnt_lsb;
				u8int size_delta_pic_order_cnt_bottom;
				u8int size_delta_pic_order_cnt0;
				u8int size_delta_pic_order_cnt1;
				u8int field_pic_flag;
				u8int bottom_field_flag;
			}sh;
		};
	};
};