[FFmpeg-devel] [NOPATCH] lavfi/mp: drop tinterlace wrapper

Stefano Sabatini stefasab at gmail.com
Wed Sep 5 00:26:01 CEST 2012


Hi,

some benchmarks comparing mp=tinterlace and interlace follow:
0:917992 decicycles in tinterlace, 4096 runs, 0 skips
0:884563 decicycles in mp=tinterlace, 8192 runs, 0 skips
1:11844 decicycles in tinterlace, 4022 runs, 74 skips
1:213485 decicycles in mp=tinterlace, 8191 runs, 1 skips
2:15128 decicycles in tinterlace, 4092 runs, 4 skips
2:213543 decicycles in mp=tinterlace, 8190 runs, 2 skips
3:1039099 decicycles in tinterlace, 8192 runs, 0 skips
3:1649987 decicycles in mp=tinterlace, 8192 runs, 0 skips
4:492157 decicycles in tinterlace, 4096 runs, 0 skips
4:423035 decicycles in mp=tinterlace, 8192 runs, 0 skips

tinterlace is sligthly slower with modes 0 and 4, and much faster in
the other cases. This is mostly due to the fact that tinterlace use a
function to perform field merging/copying, so it has the call
overhead.

I can try to optimize tinterlace C code if there is someone believes
it is worth the effort.

tinterlace also supports mode 5 and 6, and output should be the same
for both, with the exception in mode=3 where tinterlace correctly set
pad lines luma values to 16 rather than to 0.

Also tinterlace supports more formats and mp=tinterlace is broken with
regards to PTS (they're always set to 0).

So the question is: should I drop mp=tinterlace? Anyone against?
-- 
FFmpeg = Fantastic Freak Multimedia Peaceful Egregious Gorilla


More information about the ffmpeg-devel mailing list