v4l2_vidc_extensions.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. /*
  3. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef __V4l2_VIDC_EXTENSIONS_H__
  7. #define __V4l2_VIDC_EXTENSIONS_H__
  8. #include <linux/types.h>
  9. #include <linux/v4l2-controls.h>
  10. /* 32 RGBA-8-8-8-8 compressed */
  11. #define V4L2_PIX_FMT_VIDC_ARGB32C v4l2_fourcc('Q', '2', '4', 'C')
  12. /* AV1 */
  13. #ifndef V4L2_PIX_FMT_AV1
  14. #define V4L2_PIX_FMT_AV1 v4l2_fourcc('A', 'V', '1', '0')
  15. #endif
  16. #ifndef V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE
  17. #define V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10_STILL_PICTURE (3)
  18. #endif
  19. /* vendor controls start */
  20. #ifdef V4L2_CTRL_CLASS_CODEC
  21. #define V4L2_CID_MPEG_VIDC_BASE (V4L2_CTRL_CLASS_CODEC | 0x2000)
  22. #else
  23. #define V4L2_CID_MPEG_VIDC_BASE (V4L2_CTRL_CLASS_MPEG | 0x2000)
  24. #endif
  25. #define V4L2_MPEG_MSM_VIDC_DISABLE 0
  26. #define V4L2_MPEG_MSM_VIDC_ENABLE 1
  27. #define V4L2_CID_MPEG_VIDC_SECURE (V4L2_CID_MPEG_VIDC_BASE + 0x1)
  28. #define V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST (V4L2_CID_MPEG_VIDC_BASE + 0x3)
  29. #define V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC (V4L2_CID_MPEG_VIDC_BASE + 0xD)
  30. #define V4L2_CID_MPEG_VIDC_PRIORITY (V4L2_CID_MPEG_VIDC_BASE + 0x2A)
  31. /* Encoder Complexity control */
  32. #define V4L2_CID_MPEG_VIDC_VENC_COMPLEXITY \
  33. (V4L2_CID_MPEG_VIDC_BASE + 0x2F)
  34. /* Decoder Max Number of Reorder Frames */
  35. #define V4L2_CID_MPEG_VIDC_METADATA_MAX_NUM_REORDER_FRAMES \
  36. (V4L2_CID_MPEG_VIDC_BASE + 0x30)
  37. #define V4L2_CID_MPEG_VIDC_VUI_TIMING_INFO \
  38. (V4L2_CID_MPEG_VIDC_BASE + 0x43)
  39. #endif