[vlc-commits] [Git][videolan/vlc][master] 4 commits: fourcc: mark the hi10/hi12 planar formats as LSB

Hugo Beauzée-Luyssen (@chouquette) gitlab at videolan.org
Thu Mar 17 10:36:22 UTC 2022



Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC


Commits:
4e011110 by Rémi Denis-Courmont at 2022-03-17T09:40:06+00:00
fourcc: mark the hi10/hi12 planar formats as LSB

The first entry indicated it, but it was missing beyond that.

- - - - -
63a44e8d by Rémi Denis-Courmont at 2022-03-17T09:40:06+00:00
avcodec: make P010 and P016 little endian

Every involved modules other than FFmpeg's assume little endian (e.g.
VA, which derives from DRM which uses little endian always), or only
works on little endian systems at all.

- - - - -
d19eda8b by Rémi Denis-Courmont at 2022-03-17T09:40:06+00:00
fourcc: clarify P010 and P016

- - - - -
a9ffd6ae by Rémi Denis-Courmont at 2022-03-17T09:40:06+00:00
drm: add (back) P010 mapping

- - - - -


3 changed files:

- include/vlc_fourcc.h
- modules/codec/avcodec/chroma.c
- modules/video_output/drm/fourcc.c


Changes:

=====================================
include/vlc_fourcc.h
=====================================
@@ -218,7 +218,7 @@
 /* Planar YUV 4:2:0 Y:U:V 10-bit stored on 16 bits LSB */
 #define VLC_CODEC_I420_10L        VLC_FOURCC('I','0','A','L')
 #define VLC_CODEC_I420_10B        VLC_FOURCC('I','0','A','B')
-/* Planar YUV 4:2:0 Y:U:V 12-bit stored on 16 bits */
+/* Planar YUV 4:2:0 Y:U:V 12-bit stored on 16 bits LSB */
 #define VLC_CODEC_I420_12L        VLC_FOURCC('I','0','C','L')
 #define VLC_CODEC_I420_12B        VLC_FOURCC('I','0','C','B')
 
@@ -228,13 +228,13 @@
 
 /* Planar YUV 4:2:2 Y:U:V 8-bit */
 #define VLC_CODEC_I422            VLC_FOURCC('I','4','2','2')
-/* Planar YUV 4:2:2 Y:U:V  9-bit stored on 16 bits */
+/* Planar YUV 4:2:2 Y:U:V  9-bit stored on 16 bits LSB */
 #define VLC_CODEC_I422_9L         VLC_FOURCC('I','2','9','L')
 #define VLC_CODEC_I422_9B         VLC_FOURCC('I','2','9','B')
-/* Planar YUV 4:2:2 Y:U:V 10-bit stored on 16 bits */
+/* Planar YUV 4:2:2 Y:U:V 10-bit stored on 16 bits LSB */
 #define VLC_CODEC_I422_10L        VLC_FOURCC('I','2','A','L')
 #define VLC_CODEC_I422_10B        VLC_FOURCC('I','2','A','B')
-/* Planar YUV 4:2:2 Y:U:V 12-bit stored on 16 bits */
+/* Planar YUV 4:2:2 Y:U:V 12-bit stored on 16 bits LSB */
 #define VLC_CODEC_I422_12L        VLC_FOURCC('I','2','C','L')
 #define VLC_CODEC_I422_12B        VLC_FOURCC('I','2','C','B')
 /* Planar YUV 4:2:2 Y:U:V 16-bit stored on 16 bits */
@@ -245,13 +245,13 @@
 #define VLC_CODEC_I440            VLC_FOURCC('I','4','4','0')
 /* Planar YUV 4:4:4 Y:U:V 8-bit */
 #define VLC_CODEC_I444            VLC_FOURCC('I','4','4','4')
-/* Planar YUV 4:4:4 Y:U:V  9-bit stored on 16 bits */
+/* Planar YUV 4:4:4 Y:U:V  9-bit stored on 16 bits LSB */
 #define VLC_CODEC_I444_9L         VLC_FOURCC('I','4','9','L')
 #define VLC_CODEC_I444_9B         VLC_FOURCC('I','4','9','B')
-/* Planar YUV 4:4:4 Y:U:V 10-bit stored on 16 bits */
+/* Planar YUV 4:4:4 Y:U:V 10-bit stored on 16 bits LSB */
 #define VLC_CODEC_I444_10L        VLC_FOURCC('I','4','A','L')
 #define VLC_CODEC_I444_10B        VLC_FOURCC('I','4','A','B')
-/* Planar YUV 4:4:4 Y:U:V 12-bit stored on 16 bits */
+/* Planar YUV 4:4:4 Y:U:V 12-bit stored on 16 bits LSB */
 #define VLC_CODEC_I444_12L        VLC_FOURCC('I','4','C','L')
 #define VLC_CODEC_I444_12B        VLC_FOURCC('I','4','C','B')
 /* Planar YUV 4:4:4 Y:U:V 16-bit */
@@ -298,9 +298,9 @@
 #define VLC_CODEC_NV24            VLC_FOURCC('N','V','2','4')
 /* 2 planes Y/VU 4:4:4 */
 #define VLC_CODEC_NV42            VLC_FOURCC('N','V','4','2')
-/* 2 planes Y/UV 4:2:0 10-bit */
+/* 2 planes Y/UV 4:2:0 10-bit MSB, little endian */
 #define VLC_CODEC_P010            VLC_FOURCC('P','0','1','0')
-/* 2 planes Y/UV 4:2:0 16-bit */
+/* 2 planes Y/UV 4:2:0 16-bit, little endian */
 #define VLC_CODEC_P016            VLC_FOURCC('P','0','1','6')
 
 /* Packed YUV */


=====================================
modules/codec/avcodec/chroma.c
=====================================
@@ -94,11 +94,11 @@ static const struct
 #endif
     {VLC_CODEC_I420_16L, AV_PIX_FMT_YUV420P16LE, 0, 0, 0 },
     {VLC_CODEC_I420_16B, AV_PIX_FMT_YUV420P16BE, 0, 0, 0 },
-#ifdef AV_PIX_FMT_P010
-    {VLC_CODEC_P010, AV_PIX_FMT_P010, 0, 0, 0 },
+#ifdef AV_PIX_FMT_P010LE
+    {VLC_CODEC_P010, AV_PIX_FMT_P010LE, 0, 0, 0 },
 #endif
-#ifdef AV_PIX_FMT_P016
-    {VLC_CODEC_P016, AV_PIX_FMT_P016, 0, 0, 0 },
+#ifdef AV_PIX_FMT_P016LE
+    {VLC_CODEC_P016, AV_PIX_FMT_P016LE, 0, 0, 0 },
 #endif
 
     {VLC_CODEC_I422_9L, AV_PIX_FMT_YUV422P9LE, 0, 0, 0 },


=====================================
modules/video_output/drm/fourcc.c
=====================================
@@ -66,7 +66,6 @@
    DRM_FORMAT_XVYU12_16161616
    DRM_FORMAT_XVYU16161616
    DRM_FORMAT_P210
-   DRM_FORMAT_P010 (*not* the same as VLC_CODEC_P010, MSB instead of LSB)
    DRM_FORMAT_P012
    DRM_FORMAT_Q410 (*not* the same as VLC_CODEC_I444_10L, MSB)
    DRM_FORMAT_Q401
@@ -195,9 +194,8 @@ static const struct {
     { DRM_FORMAT_NV61,     VLC_CODEC_NV61 },
     { DRM_FORMAT_NV24,     VLC_CODEC_NV24 },
     { DRM_FORMAT_NV42,     VLC_CODEC_NV42 },
-#ifndef WORDS_BIGENDIAN
+    { DRM_FORMAT_P010,     VLC_CODEC_P010 },
     { DRM_FORMAT_P016,     VLC_CODEC_P016 },
-#endif
 
     /* Planar YUV */
     { DRM_FORMAT_YUV410,   VLC_CODEC_I410 },



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2eb7186a550c6f509b5bb9ef822cf46335928a4f...a9ffd6aec1849e962077f6bc8956f3c20d472497

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2eb7186a550c6f509b5bb9ef822cf46335928a4f...a9ffd6aec1849e962077f6bc8956f3c20d472497
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list