19f599f35SMing Qian /* SPDX-License-Identifier: GPL-2.0 */ 29f599f35SMing Qian /* 39f599f35SMing Qian * Copyright 2020-2021 NXP 49f599f35SMing Qian */ 59f599f35SMing Qian 69f599f35SMing Qian #ifndef _AMPHION_VPU_CODEC_H 79f599f35SMing Qian #define _AMPHION_VPU_CODEC_H 89f599f35SMing Qian 99f599f35SMing Qian struct vpu_encode_params { 109f599f35SMing Qian u32 input_format; 119f599f35SMing Qian u32 codec_format; 129f599f35SMing Qian u32 profile; 139f599f35SMing Qian u32 tier; 149f599f35SMing Qian u32 level; 159f599f35SMing Qian struct v4l2_fract frame_rate; 169f599f35SMing Qian u32 src_stride; 179f599f35SMing Qian u32 src_width; 189f599f35SMing Qian u32 src_height; 199f599f35SMing Qian struct v4l2_rect crop; 209f599f35SMing Qian u32 out_width; 219f599f35SMing Qian u32 out_height; 229f599f35SMing Qian 239f599f35SMing Qian u32 gop_length; 249f599f35SMing Qian u32 bframes; 259f599f35SMing Qian 269f599f35SMing Qian u32 rc_enable; 279f599f35SMing Qian u32 rc_mode; 289f599f35SMing Qian u32 bitrate; 299f599f35SMing Qian u32 bitrate_min; 309f599f35SMing Qian u32 bitrate_max; 319f599f35SMing Qian 329f599f35SMing Qian u32 i_frame_qp; 339f599f35SMing Qian u32 p_frame_qp; 349f599f35SMing Qian u32 b_frame_qp; 359f599f35SMing Qian u32 qp_min; 369f599f35SMing Qian u32 qp_max; 379f599f35SMing Qian u32 qp_min_i; 389f599f35SMing Qian u32 qp_max_i; 399f599f35SMing Qian 409f599f35SMing Qian struct { 419f599f35SMing Qian u32 enable; 429f599f35SMing Qian u32 idc; 439f599f35SMing Qian u32 width; 449f599f35SMing Qian u32 height; 459f599f35SMing Qian } sar; 469f599f35SMing Qian 479f599f35SMing Qian struct { 489f599f35SMing Qian u32 primaries; 499f599f35SMing Qian u32 transfer; 509f599f35SMing Qian u32 matrix; 519f599f35SMing Qian u32 full_range; 529f599f35SMing Qian } color; 539f599f35SMing Qian }; 549f599f35SMing Qian 559f599f35SMing Qian struct vpu_decode_params { 569f599f35SMing Qian u32 codec_format; 579f599f35SMing Qian u32 output_format; 58*ffa331d9SMing Qian u32 display_delay_enable; 59*ffa331d9SMing Qian u32 display_delay; 609f599f35SMing Qian u32 b_non_frame; 619f599f35SMing Qian u32 frame_count; 629f599f35SMing Qian u32 end_flag; 639f599f35SMing Qian struct { 649f599f35SMing Qian u32 base; 659f599f35SMing Qian u32 size; 669f599f35SMing Qian } udata; 679f599f35SMing Qian }; 689f599f35SMing Qian 699f599f35SMing Qian #endif 70