This patchset add support for compressed framebuffer while decoding VP9 8bit and 10bit streams. First, it adds two generic Compressed Framebuffer pixel formats to be used with a modifier when imported back in another subsystem like DRM/KMS. These are aligned with the DRM_FORMAT_YUV420_8BIT and DRM_FORMAT_YUV420_10BIT used to describe the underlying compressed buffers used for ARM Framebuffer Compression. In the Amlogic case, the compression is different but the underlying buffer components is the same. Then, in order to handle Compressed Framebuffer support, we need to handle the switch between 8bit and 10bit frame output. Add the necessary changes to decode VP9 8bit and 10bit streams into compressed buffers to be imported back into DRM/KMS using a modifier. Finally, add the necessary to add support for negociating the compressed buffer pixel format with the V4L2 M2M consumer, and allocating the right buffers in this case. Until a proper mechanism exists to pass a modifier along the pixel format, only the generic V4L2_PIX_FMT_YUV420_8BIT and V4L2_PIX_FMT_YUV420_10BIT format are passed in v4l2_pix_format_mplane struct for consumer. Maxime Jourdan (5): media: videodev2: add Compressed Framebuffer pixel formats media: meson: vdec: handle bitdepth on source change media: meson: vdec: update compressed buffer helpers media: meson: vdec: add support for compressed output for VP9 decoder media: meson: vdec: handle compressed output pixel format negociation with consumer drivers/media/v4l2-core/v4l2-ioctl.c | 2 + drivers/staging/media/meson/vdec/codec_h264.c | 3 +- .../media/meson/vdec/codec_hevc_common.c | 133 +++++++----------- .../media/meson/vdec/codec_hevc_common.h | 13 +- drivers/staging/media/meson/vdec/codec_vp9.c | 29 ++-- drivers/staging/media/meson/vdec/vdec.c | 46 ++++++ drivers/staging/media/meson/vdec/vdec.h | 4 + .../staging/media/meson/vdec/vdec_helpers.c | 68 +++++++-- .../staging/media/meson/vdec/vdec_helpers.h | 11 +- .../staging/media/meson/vdec/vdec_platform.c | 9 +- include/uapi/linux/videodev2.h | 9 ++ 11 files changed, 203 insertions(+), 124 deletions(-) -- 2.22.0