1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright 2020-2021 NXP 4 */ 5 6 #ifndef _AMPHION_VPU_CODEC_H 7 #define _AMPHION_VPU_CODEC_H 8 9 struct vpu_encode_params { 10 u32 input_format; 11 u32 codec_format; 12 u32 profile; 13 u32 tier; 14 u32 level; 15 struct v4l2_fract frame_rate; 16 u32 src_stride; 17 u32 src_width; 18 u32 src_height; 19 struct v4l2_rect crop; 20 u32 out_width; 21 u32 out_height; 22 23 u32 gop_length; 24 u32 bframes; 25 26 u32 rc_enable; 27 u32 rc_mode; 28 u32 bitrate; 29 u32 bitrate_min; 30 u32 bitrate_max; 31 32 u32 i_frame_qp; 33 u32 p_frame_qp; 34 u32 b_frame_qp; 35 u32 qp_min; 36 u32 qp_max; 37 u32 qp_min_i; 38 u32 qp_max_i; 39 40 struct { 41 u32 enable; 42 u32 idc; 43 u32 width; 44 u32 height; 45 } sar; 46 47 struct { 48 u32 primaries; 49 u32 transfer; 50 u32 matrix; 51 u32 full_range; 52 } color; 53 }; 54 55 struct vpu_decode_params { 56 u32 codec_format; 57 u32 output_format; 58 u32 display_delay_enable; 59 u32 display_delay; 60 u32 b_non_frame; 61 u32 frame_count; 62 u32 end_flag; 63 struct { 64 u32 base; 65 u32 size; 66 } udata; 67 }; 68 69 #endif 70