video: Add support RGB 5555 and variants
Submitted by Zebediah Figura
Link to original bug (#788439)
Description
Attempting to play an AVI video created by ffmpeg/avconv using the 'rawvideo' codec and 'rgb555le' pixel format fails:
hazel@watership$ ffmpeg -f lavfi -i smptebars -t 1 -f avi -vcodec rawvideo -pix_fmt rgb555le test.avi
ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0
, lavfi, from 'smptebars':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0
:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0
:0 -> #0
:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0
, avi, to 'test.avi':
Metadata:
ISFT : Lavf57.71.100
Stream #0
:0: Video: rawvideo, rgb555le, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 28800 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.89.100 rawvideo
frame= 25 fps=0.0 q=-0.0 Lsize= 3756kB time=00:00:01.00 bitrate=30770.9kbits/s speed=57.1x
video:3750kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.165677%
hazel@watership$ gst-play-1.0 test.avi
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/zeb/git/wine/dlls/quartz/tests/test.avi
WARNING No decoder available for type 'video/x-avi-unknown, fourcc=(int)0'.
WARNING debug information: gsturidecodebin.c(931): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
ERROR Your GStreamer installation is missing a plug-in. for file:///home/zeb/git/wine/dlls/quartz/tests/test.avi
ERROR debug information: gsturidecodebin.c(998): no_more_pads_full (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0:
no suitable plugins found:
gstdecodebin2.c(4600): gst_decode_bin_expose (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: video/x-avi-unknown (video/x-avi-unknown, fourcc=(int)0)
Reached end of play list.
hazel@watership$ gst-typefind-1.0 test.avi
test.avi - video/x-msvideo
Version: 1.12.3