I have discovered that h264_loop_filter_strength_mmx2(), used for 'bS' calculation in inter predicted macroblocks, gives wrong output when used in fields (compared with the reference decoder). Attached patch is temporary not-optimized solution giving correct output. I would like to ask Loren Merritt for help - could you look at this, please? Learning MMX instructions and understanding your code would not take me a while... On Sun, 14 Oct 2007 21:17:00 +0200, Martin Zlomek <martin.zlomek at email.cz> wrote:
There is special case for deblocking top- and left-most macroblocks in the ffmpeg implementation. The problem is in the condition, which tests macroblock y-coordinate for equation to 0, and in y-coordinate of top-most macroblocks in bottom fields, where the coordinate is 1. The attached patch fixes this problem - the condition is fulfilled for top-most macroblocks in both top and bottom fields.
Decoded I-frames (fields in fact) should be equivalent to those decoded by the reference decoder now. P-frames are still different...
On Thu, 11 Oct 2007 17:23:59 +0200, Martin Zlomek <martin.zlomek at email.cz> wrote:
I have discovered that the PAFF implementation still produces different color values of several pixels in comparision with the reference decoder, even in I-frames. I use the following sample for testing:
http://ftp3.itu.ch/av-arch/jvt-site/draft_conformance/FI1_Sony_E.zip
and I am working on solution...
-- Martin Zlomek martin.zlomek at email.cz