[FFmpeg-devel] [PATCH] h264 parallelized

Reinhard Nissl rnissl
Tue Sep 4 22:41:19 CEST 2007


Guillaume POIRIER wrote:

> BTW, how do you enable it? Do you just set the "threads' option to a
> value higher than 1? I'd like to test it before committing ;-)
> Could you give links to some multi-slice H264 samples? Does any Apple
> trailer do the trick?

I've tried this patch yesterday with VDR recordings from ASTRA HD, ANIXE
HD, ProSieben HD, Sat.1 HD and EinsFestival HD. To get them played, I've
extracted the video ES like that: pes2vid_es < 001.vdr > 001.vdr.es.h264

Then ffplay -threads 2 001.vdr.es.h264 showed continuous equally high
load distribution on both virtual CPUs of my P4 2.8 GHz HT processor
when the stream was using the supported deblocking type. Replay was more
fluently than without -threads, but the CPU is still to slow to decode
in real time.

Regarding the above "how to enable it": I've added these two lines to
xine-lib just after avcodec_open(this->context, this->codec):

  avcodec_thread_init(this->context, 2);
  this->context->thread_count= 2;

Now, I do get the message about unsupported deblocking type for the
recording from channel EinsFestival HD, but I do not see the load
distribution from ffplay when playing an ASTRA HD recording with xine.

Can someone give me a hint what is still missing for parallel decoding
respectively what is blocking it?

Thanks in advance.

Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de

More information about the ffmpeg-devel mailing list