[vlc-commits] [Git][videolan/vlc][master] 2 commits: lib: picture: add rgba format

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Fri Nov 21 05:32:32 UTC 2025



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
dfecd32a by Pierre Lamot at 2025-11-21T06:08:10+01:00
lib: picture: add rgba format

- - - - -
3bf92cc6 by Pierre Lamot at 2025-11-21T06:08:10+01:00
test: add test for rbga picture format

- - - - -


4 changed files:

- include/vlc/libvlc_picture.h
- lib/picture.c
- test/Makefile.am
- test/libvlc/meson.build


Changes:

=====================================
include/vlc/libvlc_picture.h
=====================================
@@ -36,6 +36,7 @@ typedef enum libvlc_picture_type_t
     libvlc_picture_Png,
     libvlc_picture_Jpg,
     libvlc_picture_WebP,
+    libvlc_picture_Rgba,
 } libvlc_picture_type_t;
 
 /**


=====================================
lib/picture.c
=====================================
@@ -73,6 +73,7 @@ libvlc_picture_t* libvlc_picture_new( vlc_object_t* p_obj, picture_t* input,
         [libvlc_picture_Png] = VLC_CODEC_PNG,
         [libvlc_picture_Argb] = VLC_CODEC_ARGB,
         [libvlc_picture_WebP] = VLC_CODEC_WEBP,
+        [libvlc_picture_Rgba] = VLC_CODEC_RGBA,
     };
     assert(ARRAY_SIZE(table) > type && table[type] != 0);
     vlc_fourcc_t format = table[type];
@@ -191,7 +192,7 @@ libvlc_picture_type_t libvlc_picture_type( const libvlc_picture_t* pic )
 
 unsigned int libvlc_picture_get_stride( const libvlc_picture_t *pic )
 {
-    assert( pic->type == libvlc_picture_Argb );
+    assert( pic->type == libvlc_picture_Argb || pic->type == libvlc_picture_Rgba );
     return pic->fmt.i_width * 4;
 }
 


=====================================
test/Makefile.am
=====================================
@@ -14,6 +14,7 @@ check_PROGRAMS = \
 	test_libvlc_media \
 	test_libvlc_media_callback \
 	test_libvlc_media_thumbnail_argb \
+	test_libvlc_media_thumbnail_rgba \
 	test_libvlc_media_thumbnail_jpeg \
 	test_libvlc_media_thumbnail_png \
 	test_libvlc_media_thumbnail_webp \
@@ -138,6 +139,9 @@ test_libvlc_media_callback_LDADD = $(LIBVLCCORE) $(LIBVLC)
 test_libvlc_media_thumbnail_argb_SOURCES = libvlc/media_thumbnail.c
 test_libvlc_media_thumbnail_argb_LDADD = $(LIBVLCCORE) $(LIBVLC)
 test_libvlc_media_thumbnail_argb_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_THUMB_TYPE=libvlc_picture_Argb -DTEST_REQUIRED_MODULES=\"avcodec\"
+test_libvlc_media_thumbnail_rgba_SOURCES = libvlc/media_thumbnail.c
+test_libvlc_media_thumbnail_rgba_LDADD = $(LIBVLCCORE) $(LIBVLC)
+test_libvlc_media_thumbnail_rgba_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_THUMB_TYPE=libvlc_picture_Rgba -DTEST_REQUIRED_MODULES=\"avcodec\"
 test_libvlc_media_thumbnail_png_SOURCES = libvlc/media_thumbnail.c
 test_libvlc_media_thumbnail_png_LDADD = $(LIBVLCCORE) $(LIBVLC)
 test_libvlc_media_thumbnail_png_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_THUMB_TYPE=libvlc_picture_Png -DTEST_REQUIRED_MODULES=\"png\"


=====================================
test/libvlc/meson.build
=====================================
@@ -39,6 +39,19 @@ vlc_tests += {
     'module_depends': ['demux_mock', 'swscale', 'avcodec'],
 }
 
+vlc_tests += {
+    'name' : 'test_libvlc_media_thumbnail_rgba',
+    'sources' : files('media_thumbnail.c'),
+    'link_with' : [libvlc, libvlccore],
+    'suite' : ['libvlc', 'test_libvlc_media_thumbnail'],
+    'c_args' : [
+        '-DTEST_THUMB_TYPE=libvlc_picture_Rgba',
+        '-DTEST_REQUIRED_MODULES="avcodec"',
+    ],
+    'module_depends': ['demux_mock', 'swscale', 'avcodec'],
+}
+
+
 vlc_tests += {
     'name' : 'test_libvlc_media_thumbnail_jpeg',
     'sources' : files('media_thumbnail.c'),



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/03de19324f58ee8e2efa8c8a408d7c43848b8794...3bf92cc6c756abcc5ad43c59382a0deb2ec39cf5

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/03de19324f58ee8e2efa8c8a408d7c43848b8794...3bf92cc6c756abcc5ad43c59382a0deb2ec39cf5
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