[vlc-commits] [Git][videolan/vlc][master] 4 commits: fourcc: add planar Y:U:V:A 4:4:4 12bits

Hugo Beauzée-Luyssen (@chouquette) gitlab at videolan.org
Thu Oct 21 09:56:19 UTC 2021



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


Commits:
f88c0104 by Zhao Zhili at 2021-10-21T09:34:18+00:00
fourcc: add planar Y:U:V:A 4:4:4 12bits

- - - - -
8888b173 by Zhao Zhili at 2021-10-21T09:34:18+00:00
fourcc: add description for VLC_CODEC_YUVA_444_10B

- - - - -
51c3da8b by Zhao Zhili at 2021-10-21T09:34:18+00:00
avcodec: map VLC_CODEC_YUVA_444_12

- - - - -
2cdd2fa5 by Zhao Zhili at 2021-10-21T09:34:18+00:00
fourcc: add FFmpeg mapping for NotchLC

Fix #26191

- - - - -


5 changed files:

- include/vlc_fourcc.h
- modules/codec/avcodec/chroma.c
- modules/codec/avcodec/fourcc.c
- src/misc/fourcc.c
- src/misc/fourcc_list.h


Changes:

=====================================
include/vlc_fourcc.h
=====================================
@@ -190,6 +190,7 @@
 #define VLC_CODEC_IMM4            VLC_FOURCC('I','M','M','4')
 #define VLC_CODEC_IMM5            VLC_FOURCC('I','M','M','5')
 #define VLC_CODEC_AGM             VLC_FOURCC('A','G','M','0')
+#define VLC_CODEC_NOTCHLC         VLC_FOURCC('n','c','l','c')
 
 /***********
  * Chromas
@@ -276,6 +277,10 @@
 #define VLC_CODEC_YUVA_444_10L    VLC_FOURCC('Y','A','0','L')
 #define VLC_CODEC_YUVA_444_10B    VLC_FOURCC('Y','A','0','B')
 
+/* Planar Y:U:V:A 4:4:4 12bits */
+#define VLC_CODEC_YUVA_444_12L    VLC_FOURCC('Y','A','2','L')
+#define VLC_CODEC_YUVA_444_12B    VLC_FOURCC('Y','A','2','B')
+
 /* Semi-planar Y/UV */
 
 /* 2 planes Y/UV 4:2:0 */


=====================================
modules/codec/avcodec/chroma.c
=====================================
@@ -115,6 +115,11 @@ static const struct
 
     {VLC_CODEC_YUVA_444_10L, AV_PIX_FMT_YUVA444P10LE, 0, 0, 0 },
     {VLC_CODEC_YUVA_444_10B, AV_PIX_FMT_YUVA444P10BE, 0, 0, 0 },
+    /* FFmpeg only */
+#if LIBAVUTIL_VERSION_MICRO >= 100 && LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 24, 101)
+    {VLC_CODEC_YUVA_444_12L, AV_PIX_FMT_YUVA444P12LE, 0, 0, 0 },
+    {VLC_CODEC_YUVA_444_12B, AV_PIX_FMT_YUVA444P12BE, 0, 0, 0 },
+#endif
 
     {VLC_CODEC_I444_9L, AV_PIX_FMT_YUV444P9LE, 0, 0, 0 },
     {VLC_CODEC_I444_9B, AV_PIX_FMT_YUV444P9BE, 0, 0, 0 },


=====================================
modules/codec/avcodec/fourcc.c
=====================================
@@ -322,6 +322,11 @@ static const struct vlc_avcodec_fourcc video_codecs[] =
 #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 58, 56, 100 )
     { VLC_CODEC_IMM5, AV_CODEC_ID_IMM5 },
 #endif
+
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 58, 85, 100 )
+    { VLC_CODEC_NOTCHLC, AV_CODEC_ID_NOTCHLC },
+#endif
+
 #endif /* FFmpeg only */
 };
 


=====================================
src/misc/fourcc.c
=====================================
@@ -234,7 +234,7 @@ const char *vlc_fourcc_GetDescription(int cat, vlc_fourcc_t fourcc)
     VLC_CODEC_I444, VLC_CODEC_J444
 
 #define VLC_CODEC_YUV_PLANAR_444_ALPHA \
-    VLC_CODEC_YUVA, VLC_CODEC_YUVA_444_10L, VLC_CODEC_YUVA_444_10B
+    VLC_CODEC_YUVA, VLC_CODEC_YUVA_444_10L, VLC_CODEC_YUVA_444_10B, VLC_CODEC_YUVA_444_12L, VLC_CODEC_YUVA_444_12B
 
 #define VLC_CODEC_YUV_SEMIPLANAR_444 \
     VLC_CODEC_NV24, VLC_CODEC_NV42
@@ -781,6 +781,8 @@ static const struct
         VLC_CODEC_I444_16B },                  PLANAR_16(3, 1, 1, 16) },
     { { VLC_CODEC_YUVA_444_10L,
         VLC_CODEC_YUVA_444_10B },              PLANAR_16(4, 1, 1, 10) },
+    { { VLC_CODEC_YUVA_444_12L,
+        VLC_CODEC_YUVA_444_12B },              PLANAR_16(4, 1, 1, 12) },
     { { VLC_CODEC_P010 },                      SEMIPLANAR(2, 2, 2, 10) },
     { { VLC_CODEC_P016 },                      SEMIPLANAR(2, 2, 2, 16) },
 


=====================================
src/misc/fourcc_list.h
=====================================
@@ -782,7 +782,10 @@ static const staticentry_t p_list_video[] = {
         A("I40A"),
     B(VLC_CODEC_YUV422A, "Planar YUV 4:2:2 Y:U:V:A"),
         A("I42A"),
-    B(VLC_CODEC_YUVA_444_10L, "Planar YUV 4:4:4 Y:U:V:A 10bits"),
+    B(VLC_CODEC_YUVA_444_10L, "Planar YUV 4:4:4 Y:U:V:A 10bits LE"),
+    B(VLC_CODEC_YUVA_444_10B, "Planar YUV 4:4:4 Y:U:V:A 10bits BE"),
+    B(VLC_CODEC_YUVA_444_12L, "Planar YUV 4:4:4 Y:U:V:A 12bits LE"),
+    B(VLC_CODEC_YUVA_444_12B, "Planar YUV 4:4:4 Y:U:V:A 12bits BE"),
 
     B(VLC_CODEC_RGBP, "Palettized RGB with palette element R:G:B"),
         A("RGBP"),
@@ -1256,6 +1259,8 @@ static const staticentry_t p_list_video[] = {
         A("AGM5"),
         A("AGM6"),
         A("AGM7"),
+
+    B(VLC_CODEC_NOTCHLC, "NotchLC"),
 };
 
 static const staticentry_t p_list_audio[] = {



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ce5a4b18b10bbef5dfd8fcd2157b8a9a22671c55...2cdd2fa51604321cf848ba512b6f9413a16973f4

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




More information about the vlc-commits mailing list