Carl Eugen Hoyos <cehoyos <at> ag.or.at> writes: > Clément Bœsch <u <at> pkh.me> writes: > > > + if (cyclestart == 0) { > > + vdm->vmi[0].maxbdiff = vdm->vmi[1].maxbdiff; > > + vdm->vmi[0].totdiff = vdm->scthresh + 1; > > + } > > + > > > I suggest to "cherry-pick" this if it works. > > Nicolas has already found a very similar solution > that only differs in rare cases (although the change > should be ported) and not for the file in question.
This should not be ported because Nicolas' approach is better: The difference of above approach is that if the first five frames contain a scene change, the first frame after the scene change would be dropped if no duplicate was found. This is a rare case and it is not obvious why it's better to drop the first frame after the scene change instead of the very first frame (as currently with Nicolas' patch). But the important and imo more typical case is when the first frame of the original telecined video was an interlaced frame that could not be matched by fieldmatch (because the missing field is not available): In this case, the first frame should be dropped if no duplicate was found (there will be no duplicate for the first five frames if the input stream was a clean telecined stream starting with an interlaced frame) and this is what currently happens in FFmpeg. This does not explain the issue in ticket #4990: I will not test with Avisynth / whatever, if nobody can test, the ticket will stay open. The OP there claims that the original filter drops the correct frame, this does not happen with FFmpeg and the default options which are - afaict - identical for the original filter. Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel