mirror of
				https://github.com/nyanmisaka/mpp.git
				synced 2025-10-31 12:36:44 +08:00 
			
		
		
		
	[av1d]: Add av1 parser api
Change-Id: Iff3c205d34cd8d8c2074de42eadc8418f5144a42 Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
This commit is contained in:
		
							
								
								
									
										236
									
								
								mpp/common/av1d_syntax.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								mpp/common/av1d_syntax.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,236 @@ | ||||
| /* | ||||
|  * Copyright 2021 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 _AV1D_SYNTAX_H_ | ||||
| #define _AV1D_SYNTAX_H_ | ||||
|  | ||||
| typedef unsigned long       DWORD; | ||||
| typedef unsigned char       BYTE; | ||||
| typedef unsigned short      WORD; | ||||
| typedef unsigned long       ULONG; | ||||
| typedef unsigned short      USHORT; | ||||
| typedef unsigned char       UCHAR; | ||||
| typedef unsigned int        UINT; | ||||
| typedef unsigned int        UINT32; | ||||
|  | ||||
| typedef signed   int        BOOL; | ||||
| typedef signed   int        INT; | ||||
| typedef signed   char       CHAR; | ||||
| typedef signed   short      SHORT; | ||||
| typedef signed   long       LONG; | ||||
| typedef void               *PVOID; | ||||
|  | ||||
| typedef struct _DXVA_PicEntry_AV1 { | ||||
|     union { | ||||
|         struct { | ||||
|             UCHAR Index7Bits     : 7; | ||||
|             UCHAR AssociatedFlag : 1; | ||||
|         }; | ||||
|         UCHAR bPicEntry; | ||||
|     }; | ||||
| } DXVA_PicEntry_AV1, *LPDXVA_PicEntry_AV1; | ||||
|  | ||||
|  | ||||
| typedef struct _DXVA_PicParams_AV1 { | ||||
|     DXVA_PicEntry_AV1 CurrPic; | ||||
|     USHORT width               ; | ||||
|     USHORT height              ; | ||||
|     USHORT max_width           ; | ||||
|     USHORT max_height          ; | ||||
|     USHORT CurrPicTextureIndex ; | ||||
|     USHORT superres_denom      ; | ||||
|     USHORT bitdepth            ; | ||||
|     USHORT seq_profile         ; | ||||
|     union { | ||||
|         struct { | ||||
|             UINT32 use_128x128_superblock       : 1; | ||||
|             UINT32 intra_edge_filter            : 1; | ||||
|             UINT32 interintra_compound          : 1; | ||||
|             UINT32 masked_compound              : 1; | ||||
|             UINT32 warped_motion                : 1; | ||||
|             UINT32 dual_filter                  : 1; | ||||
|             UINT32 jnt_comp                     : 1; | ||||
|             UINT32 screen_content_tools         : 1; | ||||
|             UINT32 integer_mv                   : 2; | ||||
|             UINT32 cdef_en                      : 1; | ||||
|             UINT32 restoration                  : 1; | ||||
|             UINT32 film_grain_en                : 1; | ||||
|             UINT32 intrabc                      : 1; | ||||
|             UINT32 high_precision_mv            : 1; | ||||
|             UINT32 switchable_motion_mode       : 1; | ||||
|             UINT32 filter_intra                 : 1; | ||||
|             UINT32 disable_frame_end_update_cdf : 1; | ||||
|             UINT32 disable_cdf_update           : 1; | ||||
|             UINT32 reference_mode               : 1; | ||||
|             UINT32 skip_mode                    : 1; | ||||
|             UINT32 reduced_tx_set               : 1; | ||||
|             UINT32 superres                     : 1; | ||||
|             UINT32 tx_mode                      : 3; | ||||
|             UINT32 use_ref_frame_mvs            : 1; | ||||
|             UINT32 enable_ref_frame_mvs         : 1; | ||||
|             UINT32 reference_frame_update       : 1; | ||||
|             UINT32 error_resilient_mode         : 1; | ||||
|         } coding; | ||||
|     }; | ||||
|  | ||||
|     struct { | ||||
|         USHORT   cols; | ||||
|         USHORT   rows; | ||||
|         USHORT   context_update_id; | ||||
|         USHORT   widths[64]; | ||||
|         USHORT   heights[64]; | ||||
|         UINT32   tile_offset_start[128]; | ||||
|         UINT32   tile_offset_end[128]; | ||||
|         UCHAR    tile_sz_mag; | ||||
|     } tiles; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR frame_type    ; | ||||
|         UCHAR show_frame    ; | ||||
|         UCHAR showable_frame; | ||||
|         UCHAR subsampling_x ; | ||||
|         UCHAR subsampling_y ; | ||||
|         UCHAR mono_chrome   ; | ||||
|     } format; | ||||
|  | ||||
|     UCHAR primary_ref_frame; | ||||
|     UCHAR order_hint; | ||||
|     UCHAR order_hint_bits; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR filter_level[2]              ; | ||||
|         UCHAR filter_level_u               ; | ||||
|         UCHAR filter_level_v               ; | ||||
|         UCHAR sharpness_level              ; | ||||
|         UCHAR mode_ref_delta_enabled       ; | ||||
|         UCHAR mode_ref_delta_update        ; | ||||
|         UCHAR delta_lf_multi               ; | ||||
|         UCHAR delta_lf_present             ; | ||||
|         UCHAR delta_lf_res                 ; | ||||
|         CHAR  ref_deltas[8]                ; | ||||
|         CHAR  mode_deltas[2]               ; | ||||
|         UCHAR frame_restoration_type[3]    ; | ||||
|         UCHAR log2_restoration_unit_size[3]; | ||||
|     } loop_filter; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR delta_q_present; | ||||
|         UCHAR delta_q_res    ; | ||||
|         UCHAR base_qindex    ; | ||||
|         CHAR  y_dc_delta_q   ; | ||||
|         CHAR  u_dc_delta_q   ; | ||||
|         CHAR  v_dc_delta_q   ; | ||||
|         CHAR  u_ac_delta_q   ; | ||||
|         CHAR  v_ac_delta_q   ; | ||||
|         UCHAR qm_y           ; | ||||
|         UCHAR qm_u           ; | ||||
|         UCHAR qm_v           ; | ||||
|     } quantization; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR damping; | ||||
|         UCHAR bits; | ||||
|  | ||||
|         struct { | ||||
|             UCHAR primary; | ||||
|             UCHAR secondary; | ||||
|         } y_strengths[8]; | ||||
|         struct { | ||||
|             UCHAR primary; | ||||
|             UCHAR secondary; | ||||
|         } uv_strengths[8]; | ||||
|     } cdef; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR  enabled           ; | ||||
|         UCHAR  update_map        ; | ||||
|         UCHAR  update_data       ; | ||||
|         UCHAR  temporal_update   ; | ||||
|         UCHAR  feature_mask[8]   ; | ||||
|         INT    feature_data[8][8]; | ||||
|     } segmentation; | ||||
|  | ||||
|     struct { | ||||
|         UCHAR apply_grain              ; | ||||
|         UCHAR scaling_shift_minus8     ; | ||||
|         UCHAR chroma_scaling_from_luma ; | ||||
|         UCHAR ar_coeff_lag             ; | ||||
|         UCHAR ar_coeff_shift_minus6    ; | ||||
|         UCHAR grain_scale_shift        ; | ||||
|         UCHAR overlap_flag             ; | ||||
|         UCHAR clip_to_restricted_range ; | ||||
|         UCHAR matrix_coeff_is_identity ; | ||||
|         UCHAR num_y_points             ; | ||||
|         UCHAR num_cb_points            ; | ||||
|         UCHAR num_cr_points            ; | ||||
|         UCHAR scaling_points_y[14][2]  ; | ||||
|         UCHAR scaling_points_cb[10][2] ; | ||||
|         UCHAR scaling_points_cr[10][2] ; | ||||
|         UCHAR ar_coeffs_y[24]          ; | ||||
|         UCHAR ar_coeffs_cb[25]         ; | ||||
|         UCHAR ar_coeffs_cr[25]         ; | ||||
|         UCHAR cb_mult                  ; | ||||
|         UCHAR cb_luma_mult             ; | ||||
|         UCHAR cr_mult                  ; | ||||
|         UCHAR cr_luma_mult             ; | ||||
|  | ||||
|         USHORT grain_seed              ; | ||||
|         USHORT cb_offset               ; | ||||
|         USHORT cr_offset               ; | ||||
|     } film_grain; | ||||
|  | ||||
|     struct { | ||||
|         UINT32  width; | ||||
|         UINT32  height; | ||||
|         UINT32  order_hint; | ||||
|         UINT32  lst_frame_offset; | ||||
|         UINT32  lst2_frame_offset; | ||||
|         UINT32  lst3_frame_offset; | ||||
|         UINT32  gld_frame_offset; | ||||
|         UINT32  bwd_frame_offset; | ||||
|         UINT32  alt2_frame_offset; | ||||
|         UINT32  alt_frame_offset; | ||||
|         UINT32  is_intra_frame; | ||||
|         UINT32  intra_only; | ||||
|         CHAR    Index; | ||||
|         UCHAR   wminvalid; | ||||
|         UCHAR   wmtype; | ||||
|         RK_S32  wmmat[6]; | ||||
|         USHORT  alpha, beta, gamma, delta; | ||||
|     } frame_refs[7]; | ||||
|  | ||||
|     UCHAR coded_lossless; | ||||
|     UCHAR interp_filter; | ||||
|     UCHAR RefFrameMapTextureIndex[7]; | ||||
|     UINT32 upscaled_width; | ||||
|     UINT32 frame_to_show_map_idx; | ||||
|     UINT32 frame_tag_size; | ||||
|     UINT32 offset_to_dct_parts; | ||||
|     UCHAR  skip_ref0; | ||||
|     UCHAR  skip_ref1; | ||||
|     RK_U8 refresh_frame_flags; | ||||
|     void         *cdfs; | ||||
|     void          *cdfs_ndvc; | ||||
|     RK_U8 tile_cols_log2; | ||||
| } DXVA_PicParams_AV1, *LPDXVA_PicParams_AV1; | ||||
|  | ||||
| typedef struct _DXVA_Slice_AV1_Short { | ||||
|     UINT BSNALunitDataLocation; | ||||
|     UINT SliceByteInBuffer; | ||||
|     USHORT wBadSliceChopping; | ||||
| } DXVA_Slice_AV1_Short, *LPDXVA_Slice_AV1_Short; | ||||
|  | ||||
| #endif | ||||
		Reference in New Issue
	
	Block a user
	 sayon.chen
					sayon.chen