[FFmpeg-devel] DVCPRO HD: request for review
Tue Aug 26 10:15:54 CEST 2008
Roman Shaposhnik a ?crit :
> On Fri, 2008-08-22 at 17:15 +0200, Thomas Parmegiani wrote:
>> Hi all,
>> I tested the patch and it seems to have some errors with 720p files :
>> According to smpte370 specifications about frame structure :
>> <<In the 1080-line system, video data, audio data, and subcode data in
>> one video frame shall be processed in
>> each frame. In the 720-line system, these data in two video frames shall
>> be processed within one frame
>> duration of the 1080-line system. >>
>> So a 720p "frame" consists of two successive 960x720 "fields" (where
>> each "fields" is at the full 960x720 resolution).
>> The given code by Dan Maas seems to only read the first 960x720 picture.
>> the second one is dropped. So if you try to transcode a such file you
>> will have half of the total number of frame missing.
>> The old code provided by Roman V.Shaposhnik outputs 960x1440 frame which
>> contains both "fields".
> I'm not quite sure I understand what you mean by "old code" and "given
> code". The current patch aims at decoding 720p as a stream of normal
> frames. Even though each DV frame has two of them. If you have practical
> examples of where that fails for you -- please make the sample
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
"Old code" is the code provided by Dan Maas.
"Given code" is using the patch you provided.
For example, if I try to transcode a 720p60 which has 400 frames. After
applied your patch and using the following command line :
ffmpeg -i /D/720p60.mxf -an /D/result.ts.
I get a TS file which has 200 frames instead of 400. So I think you
don't manage all the frames (one of two).
In libavcodec/dv.c in dv_decode_video_frame() function the amount of dv
data passed as argument is 480000 (2 x 240 000) which is 2 x DV encoded
frame size (according to DV Profile in dvdata.h).
The problem is that when I try to play result.ts file it plays at x2
speed like if the frame rate was 29.97 instead of 59.94.
I hope my explanation was enough clear for you.
I provided a sample file into the incoming folder in a folder named
720p60_DVCProHD_problem. Sorry if the file is big (60MB) and zipped but
it is the only one I have.
Please let me know if you want I upload the sample to another area.
More information about the ffmpeg-devel