[FFmpeg-devel] H.264 MVC

Stefan Gehrer stefan.gehrer
Fri Jun 25 17:41:38 CEST 2010


On 06/25/2010 02:00 PM, Peter Wimmer wrote:
> Hi,
>
> I would like to do the H.264 Multi View Coding implementation to allow
> playback of Blu-ray 3D format. Before I start, I want to ask if anybody is
> already working on it or has submitted patches that implement parts of this
> task.
>
> My goal is to implement a MVC decoder for the Stereoscopic Player, which I
> need quite urgently. FFmpeg is the obvious choice for such a project, thus
> my interest to add MVC to FFmpeg.
>
> I hope to get some suggestions and feedback from this list, because I'm
> neighter familiar with FFmpeg nor with MVC yet. The issues I'm thing about
> are:
>
> 1) How to handle the strange way MVC is implemented on Blu-ray 3D disks in
> FFmpeg? You can either open two *.m2ts files, one contains the 2D version,
> the other additional information to decode the second view. Or you open the
> *.ssif file, which is an interleaved version of the *.m2ts files. The *.ssif
> file and the *.m2ts files share the same physical sectors on the disk. It's
> a trick on the file system level. All files are MPEG transport streams,
> however, the 2D base stream and the stereo extension stream use different
> PIDs.
>
> 2) How to get the Blu-ray 3D spec? It would be very helpful to have the spec
> of the ssif format instead of reverse engineer or guess all the details. Can
> anybody help (contact me offlist if you have access to the spec)?

We have a ssif sample here
http://samples.mplayerhq.hu/3D/small-00000.ssif
and the MPEG TS demuxer seems to handle it okay, maybe it only
leaves the question of how to pass two video streams to the decoder
interleaving between the two views.
The MVC spec itself is part of the H.264 spec here
http://www.itu.int/rec/T-REC-H.264
see Annex H

> 3) How to output the second frame in libavcodec? Is there a recommended way
> how to set a left/right flag on the decompressed frames?

IMHO it would be easiest to decode into side-by-side format,
the output can then just be handled like other 3d content.

Stefan



More information about the ffmpeg-devel mailing list