[RFC/WIP v2 0/6] HEIC image encoder

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux