[MPlayer-dev-eng] [PATCH]Add support for CoreAVC h264 codec
Alan Nisota
alannisota at gmail.com
Thu Oct 5 05:00:15 CEST 2006
On 10/4/06, Corey Hickey wrote:
> Alan Nisota wrote:
> > On 10/3/06, Michael Niedermayer wrote:
> >> things to test
> >> * low resolution where all reference frames+1 _easily_ fit in the L2 cache
> >> * CABAC / CAVLC
> >> * high bitrate / low bitrate
> >> * intra only
> >> * B frames vs. no B frames
> >> * loop filter / disabled loop filter
> >>
> >> and also check if the output of coreavc is binary identical to ffh264
> >> if not that would explain why they are faster
> >>
> >> also try to compile (i386)/dsputil* with -O2 that will make lavc
> >> faster depending on the gcc version
I used the same input file for all runs (1280x720, 55secs, 3242 video frames)
I resized the stream to 320x180, 640x360, 960x540, and 1280x720
For each of those I ran for encodings:
high-bitrate, no b-frames
low-bitrate, no b-frames
high-bitrate, 2 b-frames
high-bitrate, only I-frames
which gives a total of 16 streams to benchmark.
'high-bitrate' is defined as ~8.9 bits/(sec * pixel) = 500 kb/s at 320x180
'low-bitrate' is defined as ~2.2 bits/(sec * pixel) = 100 kb/s at 320x180
audio was fixed at 48kb/s CBR MP3 (though this really shouldn't matter)
Each stream was benchmarked 3 times with the average result used
(reproducibilty was very good)
encoding was done using:
mencoder -ovc x264 -oac mp3lame -vf scale=320x180 -srate 8000
-lameopts cbr:br=48 -x264encopts xxxx
decoding was done using:
mplayer -vc coreavc/ffh264 -vo null -nosound -benchmark
frame comparison was done using:
mplayer -vc coreavc/ffh264 -vo md5sum -nosound
every frame was different. I guess the next step would be to do a
frame diff but let's do this one step at a time. The one thing I can
say is that the output from CoreAVC looks very good.
Also, I recompiled libavcodec/i386/dsputil* with -O2 instead of -O4 with no sign
ificant runtime change.
I believe I've covered most of what you asked for, but I don't know
what you mean by:
> >> * CABAC / CAVLC
> >> * loop filter / disabled loop filter
These runs were done on a Pentium 4 2.8GHz (Northwood) with
hyper-threading disabled, and a 512K cache.
If you'd like additional benchmarks, I'll be ahppy to run them, but it
would be helpful if you could be explicit about what you are asking
for.
320x180_lo_no_b.avi: AVC: 1.6983 FFh264: 2.1397 Diff: 20.63%
320x180_no_b.avi: AVC: 2.5720 FFh264: 3.6647 Diff: 29.82%
320x180_2_b.avi: AVC: 3.0217 FFh264: 4.3490 Diff: 30.52%
320x180_only_i.avi: AVC: 3.6400 FFh264: 5.5330 Diff: 34.21%
640x360_lo_no_b.avi: AVC: 7.4727 FFh264: 9.0733 Diff: 17.64%
640x360_no_b.avi: AVC: 11.6083 FFh264: 15.1547 Diff: 23.40%
640x360_2_b.avi: AVC: 13.2737 FFh264: 17.6897 Diff: 24.96%
640x360_only_i.avi: AVC: 13.9900 FFh264: 20.8660 Diff: 32.95%
960x540_lo_no_b.avi: AVC: 16.3263 FFh264: 19.5637 Diff: 16.55%
960x540_no_b.avi: AVC: 25.7600 FFh264: 34.7473 Diff: 25.86%
960x540_2_b.avi: AVC: 29.5473 FFh264: 40.3160 Diff: 26.71%
960x540_only_i.avi: AVC: 32.3753 FFh264: 47.0533 Diff: 31.19%
1280x720_lo_no_b.avi: AVC: 28.5677 FFh264: 34.8783 Diff: 18.09%
1280x720_no_b.avi: AVC: 46.9833 FFh264: 62.9510 Diff: 25.36%
1280x720_2_b.avi: AVC: 51.2857 FFh264: 70.2810 Diff: 27.01%
1280x720_only_i.avi: AVC: 56.2217 FFh264: 81.0200 Diff: 30.61%
More information about the MPlayer-dev-eng
mailing list