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 : >> >> <> 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@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 -- Best Regards, Thomas.P