[Ffmpeg-devel] [PATCH] DVCPRO50 support

Dan Maas dmaas
Thu Mar 2 02:08:56 CET 2006


Hi Roman - Here is the big patch for DVCPRO50 support. Please look it
over and get back to me with any comments. 

This adds support for both NTSC and PAL with 4:2:2 sampling at 50
Mbps, according to SMPTE 314M. The 50 Mbps mode is turned on when you
compress or decompress 4:2:2 video (PIX_FMT_YUV422P). Otherwise it
operates at 25 Mbps just like before.

4 audio channels (in 2 stereo pairs) are supported in 50 Mbps mode.

The only thing that I know is missing is a regression test for 50 Mbps
mode. I don't know how to add one, so please help!

Other minor changes:

I changed the NTSC audio sample pattern to agree with SMPTE 314M.
The spec only allows
1600,1602,1602,1602,1602
not
1602,1601,1602,1601,1602.

I changed dv_anchor to be statically allocated, which seems simpler
and more efficient.

I increased a few of the hard-coded array sizes to handle 50 Mbps.

I moved large buffers to the end of struct RawDVContext and
DVMuxContext. I think on most CPU architectures it is more efficient
not to have small struct members at very large offsets.

I made dvvideo_encode_frame() fill in just enough of the header so
that dv_frame_profile() will recognize the correct format. This is
necessary to correctly decode frames that haven't been passed through
the dvvideo avformat driver. (long term, the DV header filling should
probably be moved into the avcodec, since it is necessary to have
complete headers for "wrapped" formats like DV-within-Quicktime).

I added a 'DVprofile *sys' member to DVDemuxContext, which makes the
demuxing code a little cleaner and faster.

Note: I will be on travel starting March 18. I would like to get this
patch fully applied by then.

Regards,
Dan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: maas-dv50-20060301.patch.gz
Type: application/octet-stream
Size: 23895 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20060301/abe7f1f0/attachment.obj>



More information about the ffmpeg-devel mailing list