[FFmpeg-user] does ffmpeg support MVC (3D BluRays)?

Philippe Cerfon philcerf at gmail.com
Wed Nov 29 04:24:59 EET 2023


Hey Paul.

On Tue, Nov 28, 2023 at 4:51 PM Paul B Mahol <onemda at gmail.com> wrote:
> IIRC MVC in h264 is not supported.

What a pity. I've filed https://trac.ffmpeg.org/ticket/10706 in case
someone is ever going to work on this.

> stereo3d filter is for anaglyph presentation of decoded 3d frames and some
> other minor features.
> supporting alternating, top/bottom, left/right etc.

I'm really new to 3D, so may be completely wrong: but as far as I
understood, quite some end devices (e.g. 3D capable projectors or so)
expect e.g. side-by-side input, too (i.e. than cannot cope with MVC
either).

Also, it would have been nice to convert the MVC to a side-by-side
version and see whether it actually works. Seems so far, there are
only few ways to decode this. Most people apparently use BD3D2MK3D[0],
but that's windows only, and as far as I can see not open.

> But as usual:

Well I guess the following are not really useful, if it anyway doesn't
support MVC, but here they are:

> - missing ffmpeg version

$ ffmpeg -version
ffmpeg version 6.1-4 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13 (Debian 13.2.0-6)
configuration: --prefix=/usr --extra-version=4 --toolchain=hardened
--libdir=/usr/lib/x86_64-linux-gnu
--incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl
--disable-stripping --enable-gnutls --enable-ladspa --enable-libaom
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
--enable-libcdio --enable-libcodec2 --enable-libdav1d
--enable-libflite --enable-libfontconfig --enable-libfreetype
--enable-libfribidi --enable-libglslang --enable-libgme
--enable-libgsm --enable-libjack --enable-libmp3lame
--enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
--enable-libopus --enable-libpulse --enable-librabbitmq
--enable-librist --enable-librubberband --enable-libshine
--enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt
--enable-libssh --enable-libtheora --enable-libtwolame
--enable-libvidstab --enable-libvorbis --enable-libvpx
--enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid
--enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2
--enable-omx --enable-openal --enable-opencl --enable-opengl
--enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx
--enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394
--enable-libdrm --enable-libiec61883 --enable-chromaprint
--enable-frei0r --enable-libsvtav1 --enable-libx264
--enable-libplacebo --enable-librav1e --enable-shared
libavutil      58. 29.100 / 58. 29.100
libavcodec     60. 31.102 / 60. 31.102
libavformat    60. 16.100 / 60. 16.100
libavdevice    60.  3.100 / 60.  3.100
libavfilter     9. 12.100 /  9. 12.100
libswscale      7.  5.100 /  7.  5.100
libswresample   4. 12.100 /  4. 12.100
libpostproc    57.  3.100 / 57.  3.100


> - missing full uncut ffmpeg command line and its output

I merely tried on some MKV (which was generated from a BluRay):
$ ffplay -i a2.mkv -vf stereo3d=sbsr:sbsr

and various oher outbuts. But obviously, the MVC stream is not any of
the input formats that the filter supports.

> - missing input files

That might be difficult, I mean these are from BluRays, so the
material is a) super big, b) copyrighted.


> IIRC H.264 MVC is alternating frames 3d format.

As far as I understood it, it's rather that the H264 contains two
streams: a "normal" (AVC) one, which I think it s the left eye, and
the MVC stream, which is like a diff from the left to the right eye.

Thanks,
Philippe.

[0] https://download.videohelp.com/r0lZ/BD3D2AVS/index.html


More information about the ffmpeg-user mailing list