[MPlayer-dev-eng] dav1d threading

Alexander Strasser eclipse7 at gmx.net
Tue Jan 14 01:37:24 EET 2020


On 2020-01-13 22:47 +0100, Alexander Strasser wrote:
> On 2020-01-13 02:18 +0000, sylvain.bertrand at gmail.com wrote:
> >
> > I cannot decode in realtime av1 videos from youtube. After a bit of digging:
> > dav1d is configured with only 1 thread for tiles decoding and only 1 thread for
> > frames decoding.
> >
> > Is this a ffmpeg or mplayer configuration issue?
>
> It's not an FFmpeg problem, it is a, for today probably bad, default
> choice of MPlayer.
>
> Using e.g "-lavdopts threads=8" should help. Here is the excerpt from
> the man page:
>
>                  threads=<1-8> (MPEG-1/2 and H.264 only)
> 		                       number of threads to use for
> 				       decoding (default: 1)
>
> Reading it now again I see several errors, it's not MPEG-1/2 and H.264
> only and it probably doesn't make sense to document it at that level
> of detail. The range is also off, because we have increased the limit
> up to 16 in year 2012 and up to 32 in year 2016 (see ticket #2289).
>
> I will change this immediately because I think keeping known wrong
> documentation is possibly harmful.

Documentation updated in SVN r38159 .


> Now to the default value of 1. I think it's rather bad for the
> multi-core-on-all-devices-world we live in today. The default dates
> back to the introduction of multi thread to MPlayer vd_ffmpeg in
> late 2005. The beginning of multi-threaded decoding in FFmpeg were
> in early 2004 if I'm not mistaken.
>
> I will think of better default if no one beats me to it. AFAIK it
> should be possible to get libavcodec to choose a thread limit that
> fits the number of logical cores on systems where it can query the
> information. If there no obvious downsides to that, I think that
> would be probably a good way to go forward.


  Alexander


More information about the MPlayer-dev-eng mailing list