mbox series

[RFC,00/12] Add support for HEVC and VP9 codecs in decoder

Message ID 20250305104335.3629945-1-quic_dikshita@quicinc.com
Headers show
Series Add support for HEVC and VP9 codecs in decoder | expand

Message

Dikshita Agarwal March 5, 2025, 10:43 a.m. UTC
Hi all,

This patch series adds initial support for the HEVC(H.265) and VP9
codecs in iris decoder. The objective of this work is to extend the 
decoder's capabilities to handle HEVC and VP9 codec streams,
including necessary format handling and buffer management.
In addition, the series also includes a set of fixes to address issues
identified during testing of these additional codecs.

I'm sharing this series as an RFC because compliance and conformance
testing are still in progress.
While initial functional tests show positive results, I would
appreciate early feedback on the design, implementation, and fixes
before moving to a formal submission.

I plan to submit a formal patch series after completing all compliance
checks. Meanwhile, any feedback or suggestion to improve this work are
very welcome.

Thanks,
Dikshita

Dikshita Agarwal (12):
  media: iris: Add HEVC and VP9 formats for decoder
  media: iris: Add platform capabilities for HEVC and VP9 decoders
  media: iris: Set mandatory properties for HEVC and VP9 decoders.
  media: iris: Add internal buffer calculation for HEVC and VP9 decoders
  media: iris: Skip destroying internal buffer if not dequeued
  media: iris: Update CAPTURE format info based on OUTPUT format
  media: iris: Add handling for corrupt and drop frames
  media: iris: Avoid updating frame size to firmware during reconfig
  media: iris: Avoid sending LAST flag multiple times
  media: iris: Send V4L2_BUF_FLAG_ERROR for buffers with 0 filled length
  media: iris: Fix handling of eos buffer during drain
  media: iris: Add handling for no show frames

 .../media/platform/qcom/iris/iris_buffer.c    |  22 +-
 drivers/media/platform/qcom/iris/iris_ctrls.c |  28 +-
 .../platform/qcom/iris/iris_hfi_common.h      |   1 +
 .../qcom/iris/iris_hfi_gen1_command.c         |  38 +-
 .../qcom/iris/iris_hfi_gen1_defines.h         |   4 +
 .../qcom/iris/iris_hfi_gen1_response.c        |  11 +
 .../qcom/iris/iris_hfi_gen2_command.c         | 129 +++++-
 .../qcom/iris/iris_hfi_gen2_defines.h         |   5 +
 .../qcom/iris/iris_hfi_gen2_response.c        |  56 ++-
 .../media/platform/qcom/iris/iris_instance.h  |   6 +
 .../platform/qcom/iris/iris_platform_common.h |  25 +-
 .../platform/qcom/iris/iris_platform_sm8250.c |   4 +-
 .../platform/qcom/iris/iris_platform_sm8550.c | 141 ++++++-
 drivers/media/platform/qcom/iris/iris_vb2.c   |   3 +-
 drivers/media/platform/qcom/iris/iris_vdec.c  |  80 +++-
 drivers/media/platform/qcom/iris/iris_vdec.h  |  11 +
 drivers/media/platform/qcom/iris/iris_vidc.c  |   3 -
 .../platform/qcom/iris/iris_vpu_buffer.c      | 397 +++++++++++++++++-
 .../platform/qcom/iris/iris_vpu_buffer.h      |  46 +-
 19 files changed, 931 insertions(+), 79 deletions(-)