Don't kown how to make avdec_h264 working under multi-threads modes, seems not working with max-threads

Nicolas Dufresne nicolas at
Fri Mar 19 18:54:44 UTC 2021

Le vendredi 19 mars 2021 à 04:54 -0500, wanted002 a écrit :
> Thanks for your help, Nicolas.  Since I'm a fresh on video and gstreamer, so
> Further more please :) 
> 1) Seems slice base *threading* need the cooperation from encoder side. So I
> need to checkout the slice number in the encoded frame first ?  Then I can
> decide the max-threads value according to it .

Correct, that setting will depends on the encoder you use of course. An example,
for openh264enc, slice-mode=n-slices and num-slices=N will do.

> 2) I should use thread-type=slice ? But that's introduced in gstreamer 1.18
> , may be I need to upgrade my gstreamer 

Oh, oops, well, or backport the changes.

> 3) "The paralellism still vary on the encoding of references, since
> sometimes you have to decode the reference before you can do anything else.
> " ----for this, I'm a little puzzled.  "references" means the I frame? And I
> need to decode the I frame 1st for the sync between multi-threads ? 

A reference frame is a frame used to decode other frames. The compression method
used in H264 include the ability to start from a previous frame and edit that
(moving some blockes, strething from other block) around in order to reconstruct
a similar image. If you haven't decoded that frame yet, it's not really possible
to decode. Decoder can be facy of course and wait till the specific block is

>     Thanks again. Best wishes !
> --
> Sent from:
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list