[MPlayer-dev-eng] MIPS and colorspace conversion
jgreen at users.sourceforge.net
Wed Dec 17 01:27:21 CET 2003
I wrote this list just recently about getting higher performance with an
FPU-less 400MHz MIPS board. I did some profiling with mplayer on a P-II
366 laptop, and disabled MMX in mplayer to try get the same code path
(report at end of email). The summary of this test is essentially what I
was told before, that the colorspace conversion (to the fbdev) is likely
killing most of the CPU time.
I've looked over the macros for creating the yuv2rb_c_* routines, but I
have yet jumped into the MIPS assembler to see if any optimization can
be done (I doubt much can be gained there, but I will check out the
assembler output for that routine).
Before seeing about assembler optimization for the mips, I wanted to ask
if anyone knows of a good quality video format that could be played with
mplayer that has native BGR output? Looking through the codecs.conf it
appears there are lots of codecs that have BGR output, but I didn't find
one that I could encode to easily, to see if colorspace conversion could
be done away with.
Thanks in advance for any ideas about how I can get some decent
resolution video (640x480 or larger) to play on this thing :) Cheers.
Top ten CPU eaters from an oprofile report running 1200 frames of a
640x480 MPEG 2 file 24fps.
mplayer -benchmark -vo fbdev -nosound benchmark.avi
CPU: CPU with RTC device, speed 364.744 MHz (estimated)
Counted RTC_INTERRUPTS events (RTC interrupts/sec (rounded up to power
samples % symbol name
13623 37.0876 yuv2rgb_c_16
5342 14.5432 idct_col
2725 7.4186 MC_put_o_16_c
2635 7.1736 idct_row
2238 6.0928 mpeg2_idct_add_c
1541 4.1953 MC_put_o_8_c
1457 3.9666 get_mpeg1_non_intra_block
1443 3.9285 mpeg2_idct_copy_c
1263 3.4384 MC_put_xy_16_c
679 1.8485 mpeg2_slice
More information about the MPlayer-dev-eng