[FFmpeg-devel] DVCPRO HD: request for review

Thomas Parmegiani thomasp
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
> available.
>
> Thanks,
> Roman.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>
>   
Hi Roman,

"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.

-- 
Best Regards,

Thomas.P





More information about the ffmpeg-devel mailing list