[vlc-devel] VLC's performance on SMP system

Kaarlo Räihä agent_007 at luukku.com
Sun May 31 09:11:53 CEST 2009

xxcv kirjoitti 31.05.2009 kello 04:25:
> Kaarlo Räihä wrote:
> > You have to pass it manually because there isn't option for this in 
> > VLC yet. If you look how the loopfilter option is implemented, you 
> > should be able to figure out how to pass the threads option to 
> > libavcodec. (it might also require some changes to source code)
> Results are same as before.
> FFdshow uses its own ffmpeg and ffmpeg-mt
> after viewing the svn content 
> <http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/src/f
> fmpeg-mt/libavcodec/>.
> There's no libavcodec/w32thread.c in ffdshow
> source.
> Looking at this file in ffmpeg-mt.git:master, show
> no support for thread_type FF_THREAD_FRAME.
> ---
> int avcodec_thread_init(AVCodecContext *s, int thread_count){
>     int i;
>     ThreadContext *c;
>     uint32_t threadid;
>     if(!(s->thread_type & FF_THREAD_SLICE)){
>         av_log(s, AV_LOG_WARNING, "The requested thread algorithm is
>  not 
> supported with this thread library.\n");
>         return 0;
>     }
>     s->thread_count= thread_count;
>     s->active_thread_type= FF_THREAD_SLICE;
> ---

Vanilla avcodec uses slices based multithread decoding, but it isn't best possible solution for all H.264 videos.

The threads option should be found from FFDshow if you check the source code of Decoder options page. And after that you should know what to pass to libavcodec from VLC side. http://media.photobucket.com/image/ffdshow%20%252522Number%20of%20decoding%20threads%252522/scenehd/2decoderoptions.jpg

Luukku Plus paketilla pääset eroon tila- ja turvallisuusongelmista.
Hanki Luukku Plus ja helpotat elämääsi. http://www.mtv3.fi/luukku

More information about the vlc-devel mailing list