[MPlayer-dev-eng] Regarding x264 decoding optimizations

Gautham Anil gautham_anil at yahoo.com
Fri Jan 25 08:47:18 CET 2008


Hi,

I am a Comp Sc Ph.D student but I dont know much about
MPlayer development. I am a bit frustrated at the
difficulty in playing 1080p movies on my core 2 Duo
1.66GHz. Granted, mplayer is faster than most, but
still have to skip loop filters upto nonkey for jerk
free playback if it cannot be multithreaded. Also, as
you know, most videos nowadays cannot be
multithreaded.

The issue of lack of multithreading has been stuck in
my head for a while and I have come up with a possible
solution for 2 way multithreading. The idea is to make
a pipeline similar to what processor designers use to
increase speed of single thread processing. 

We can split the decoder into two stages - a just
decoding stage and a de-blocking stage. With one extra
buffer (with any data structures needed for
de-blocking), we should be able to de-block a frame in
one core while decoding the next frame in the other
core. In addition or as an alternative, we can split
the audio decode into another thread providing what I
estimate to be adequate parallelism. If this can be
done, 1080p will be fairly smooth in most dual core
systems.

Another trick I thought of is that decoding non-ref
frames can be skipped automatically if facing frame
dropping. The skipped decode should save enough time
to catch up. This should provide gradual degradation
to playback framerate rather than long jerks. I looked
to me like this is not being done at the moment,
pardon me if I am wrong.

Thats my 2 cents. I wont be able to code any of that
but tell me what you think. thanks...

MPlayer rocks!!

--
Gautham Anil


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 




More information about the MPlayer-dev-eng mailing list