On 17/04/2020 18:05, Neil Armstrong wrote: > On 17/04/2020 17:07, Daniel Vetter wrote: >> On Thu, Apr 16, 2020 at 05:24:53PM +0200, Neil Armstrong wrote: >>> Amlogic uses a proprietary lossless image compression protocol and format >>> for their hardware video codec accelerators, either video decoders or >>> video input encoders. >>> >>> It considerably reduces memory bandwidth while writing and reading >>> frames in memory. >>> >>> The underlying storage is considered to be 3 components, 8bit or 10-bit >>> per component, YCbCr 420, single plane : >>> - DRM_FORMAT_YUV420_8BIT >>> - DRM_FORMAT_YUV420_10BIT >>> >>> This modifier will be notably added to DMA-BUF frames imported from the V4L2 >>> Amlogic VDEC decoder. >>> >>> This introduces the basic layout composed of: >>> - a body content organized in 64x32 superblocks with 4096 bytes per >>> superblock in default mode. >>> - a 32 bytes per 128x64 header block >>> >>> This layout is tranferrable between Amlogic SoCs supporting this modifier. >>> >>> Tested-by: Kevin Hilman <khilman@xxxxxxxxxxxx> >>> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> >>> --- >>> include/uapi/drm/drm_fourcc.h | 39 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 39 insertions(+) >>> >>> diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h >>> index 8bc0b31597d8..a1b163a5641f 100644 >>> --- a/include/uapi/drm/drm_fourcc.h >>> +++ b/include/uapi/drm/drm_fourcc.h >>> @@ -309,6 +309,7 @@ extern "C" { >>> #define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07 >>> #define DRM_FORMAT_MOD_VENDOR_ARM 0x08 >>> #define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09 >>> +#define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a >>> >>> /* add more to the end as needed */ >>> >>> @@ -804,6 +805,44 @@ extern "C" { >>> */ >>> #define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1) >>> >>> +/* >>> + * Amlogic Video Framebuffer Compression modifiers >>> + * >>> + * Amlogic uses a proprietary lossless image compression protocol and format >>> + * for their hardware video codec accelerators, either video decoders or >>> + * video input encoders. >>> + * >>> + * It considerably reduces memory bandwidth while writing and reading >>> + * frames in memory. >>> + * >>> + * The underlying storage is considered to be 3 components, 8bit or 10-bit >>> + * per component YCbCr 420, single plane : >>> + * - DRM_FORMAT_YUV420_8BIT >>> + * - DRM_FORMAT_YUV420_10BIT >>> + * >>> + * The first 8 bits of the mode defines the layout, then the following 8 bits >>> + * defines the options changing the layout. >> >> None of the modifiers you're doing seem to have these other 8 bits >> defined anywhere. And it's not encoded in your modifiers. Can't we just >> enumerate the ones we have/need and done? > > It's introduced in patch 5 I did slit the options/layout for the last one: SCATTER so I could apply the BASIC and the option first then continue the discussion on the second SCATTER layout. So maybe I should add the option in the first patch. Neil _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel