vpu_codec.h 974 B

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