Hello, This is the second version of the RFC for HEIF HEVC image encoder aims to revive the discussion. Changes since v1 include: * change the new pixel format to V4L2_PIX_FMT_HEIF_HEVC (1/6). * created a new HEIF control class and control IDs (2/6). * add two additional steps in stateful encoder spec (3/6). * improve the Venus image encoder (4/6 - 6/6). Comments are welcome. First version can be found at: https://lwn.net/ml/linux-media/20210429132833.2802390-1-stanimir.varbanov@xxxxxxxxxx/ -- regards, Stan Refernces: [1] https://0xc0000054.github.io/pdn-avif/using-image-grids.html#fnref:3 [2] https://nokiatech.github.io/heif/technical.html [3] https://github.com/lclevy/canon_cr3/blob/master/heif.md [4] https://github.com/nokiatech/heif/blob/master/srcs/api-cpp/GridImageItem.cpp [5] https://github.com/strukturag/libheif/blob/master/libheif/heif_context.cc#L163 [6] https://androidx.de/androidx/heifwriter/HeifEncoder.html Stanimir Varbanov (6): media: Add HEIF HEVC compressed pixel format v4l: Add HEIF control class and control IDs docs: dev-encoder: Add additional steps for image encoding venus: helpers: Add a new helper for buffer processing venus: hfi: Add hfi property for enable grid venus: Add HEIC image encoder .../userspace-api/media/v4l/dev-encoder.rst | 6 + .../media/v4l/ext-ctrls-heif.rst | 47 + .../media/v4l/pixfmt-compressed.rst | 12 + drivers/media/platform/qcom/venus/Makefile | 2 + drivers/media/platform/qcom/venus/core.h | 29 + drivers/media/platform/qcom/venus/helpers.c | 21 + drivers/media/platform/qcom/venus/helpers.h | 1 + drivers/media/platform/qcom/venus/hfi.c | 1 + drivers/media/platform/qcom/venus/hfi_cmds.c | 9 +- .../media/platform/qcom/venus/hfi_helper.h | 5 + drivers/media/platform/qcom/venus/ienc.c | 1527 +++++++++++++++++ drivers/media/platform/qcom/venus/ienc.h | 14 + .../media/platform/qcom/venus/ienc_ctrls.c | 99 ++ drivers/media/v4l2-core/v4l2-ctrls-defs.c | 10 + drivers/media/v4l2-core/v4l2-ioctl.c | 1 + include/uapi/linux/v4l2-controls.h | 9 + include/uapi/linux/videodev2.h | 1 + 17 files changed, 1793 insertions(+), 1 deletion(-) create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-heif.rst create mode 100644 drivers/media/platform/qcom/venus/ienc.c create mode 100644 drivers/media/platform/qcom/venus/ienc.h create mode 100644 drivers/media/platform/qcom/venus/ienc_ctrls.c -- 2.25.1