[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec motion_est.c,1.115,1.116
Corey Hickey
bugfood-ml
Mon Jan 23 20:29:20 CET 2006
Michael Niedermayer wrote:
>>>>I don't know how universally applicable these tests are, but if 16 was
>>>>default before and 1 is default now, adjusting to somewhere toward the
>>>>middle is probably a safe change. I've attached patches for ffmpeg and
>>>>mplayer, if anyone else wants to test this. If the patches should be
>>>>applied, I'll make a patch for the mplayer man page. Otherwise, 6 could
>>>>just be hardcoded.
>>>>
>>>>
>>>>I haven't tried sc_threshold yet. My understanding is that using
>>>
>>>
>>>can you achive the same improvement with sc_threshold? if yes the patch
>>>is rejected, if no the patch is ok and can be applied
>>
>>Well, that took a really long time, mostly because I didn't have any
>>idea what values to start with. I have failed to achieve the same
>>quality improvement with sc_threshold. Here are the PSNR results:
>>
>>sc_threshold=0: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-10: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-20: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-30: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-100: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-200: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-300: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-400: PSNR: Y:42.06, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-500: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-600: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.93
>>sc_threshold=-700: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-800: PSNR: Y:42.06, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-900: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.94
>>sc_threshold=-1000: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.94
>>sc_threshold=-1100: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-1200: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.94
>>sc_threshold=-1300: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-1400: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-1500: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.94
>>sc_threshold=-2000: PSNR: Y:42.06, Cb:45.17, Cr:45.86, All:42.94
>>sc_threshold=-2500: PSNR: Y:42.07, Cb:45.17, Cr:45.87, All:42.95
>>sc_threshold=-3000: PSNR: Y:42.08, Cb:45.18, Cr:45.89, All:42.96
>>sc_threshold=-3500: PSNR: Y:42.08, Cb:45.18, Cr:45.88, All:42.95
>>sc_threshold=-4000: PSNR: Y:42.08, Cb:45.18, Cr:45.88, All:42.96
>>sc_threshold=-4500: PSNR: Y:42.08, Cb:45.18, Cr:45.89, All:42.96
>>sc_threshold=-5000: PSNR: Y:42.08, Cb:45.18, Cr:45.88, All:42.95
>>sc_threshold=-5500: PSNR: Y:42.08, Cb:45.18, Cr:45.88, All:42.96
>>sc_threshold=-6000: PSNR: Y:42.08, Cb:45.18, Cr:45.88, All:42.96
>>sc_threshold=-7000: PSNR: Y:42.09, Cb:45.18, Cr:45.87, All:42.96
>>sc_threshold=-8000: PSNR: Y:42.09, Cb:45.18, Cr:45.87, All:42.96
>>sc_threshold=-9000: PSNR: Y:42.09, Cb:45.18, Cr:45.88, All:42.96
>>sc_threshold=-10000: PSNR: Y:42.09, Cb:45.18, Cr:45.87, All:42.96
>>
>>Or, if you prefer, a graph is attached.
>>
>>
>>As you can see, the PSNR hits a plateau at around sc_threshold=-3000, so
>>I don't think testing lower values would yield any better PSNR. As far
>
>
> maybe try -20000, -40000 and -80000 too just to be sure
Append to the list above:
sc_threshold=-12000: PSNR: Y:42.08, Cb:45.17, Cr:45.86, All:42.95
sc_threshold=-14000: PSNR: Y:42.07, Cb:45.16, Cr:45.85, All:42.95
sc_threshold=-16000: PSNR: Y:42.07, Cb:45.16, Cr:45.85, All:42.94
sc_threshold=-18000: PSNR: Y:42.06, Cb:45.15, Cr:45.82, All:42.93
sc_threshold=-20000: PSNR: Y:42.05, Cb:45.14, Cr:45.81, All:42.92
sc_threshold=-40000: PSNR: Y:41.57, Cb:44.82, Cr:45.39, All:42.46
sc_threshold=-80000: PSNR: Y:39.07, Cb:43.38, Cr:43.62, All:40.11
It looks like last time I stopped testing right before the PSNR
decreases. The encodes made at sc_threshold=-14000 and below actually
end up with more I-frames than sc_factor=6 -- but they don't look as
good. Also, PSNR-wise, sc_factor=6 does better than any sc_threshold
value I found:
sc_factor=6: PSNR: Y:42.10, Cb:45.17, Cr:45.87, All:42.97
-Corey
More information about the ffmpeg-cvslog
mailing list