[Ffmpeg-devel] VP3 Slice Decoding
Sat May 21 07:29:17 CEST 2005
Tonight, I deployed slice-based fragment rendering in the VP3 decoder.
Further, I moved the loop filter up into the new render_slice()
function. I was going to filter rows of fragments when I realized that I
could just apply the loop filter after each fragment is decoded and
placed into the output buffer. I hope there is no problem with that
logic that I did not anticipate.
I have not profiled any of this as I am just taking it on faith that it
should be faster. :) Plus, I have not hooked up the slice dispatch
feature because A) I do not know the protocol syntax and B) I have no
means to test it (or does FFmpeg use it internally?). Anyway, if someone
would like to make the slice dispatch work, I wrote this algorithmic
note at the end of render_slice():
/* this looks like a good place for slice dispatch... */
* if (slice == s->macroblock_height - 1)
* dispatch (both last slice & 2nd-to-last slice);
* else if (slice > 0)
* dispatch (slice - 1);
I am assuming it is possible to output 2 slices in the case of the last
slice render operation.
Have fun. I hope that this is the magic bullet that solves the
performance problems, although I am confident we will still find more
More information about the ffmpeg-devel