Opened 7 months ago

Closed 3 weeks ago

#2381 closed defect (invalid)

dav1d split MAX_THREADS

Reported by: LigH Owned by: beastd
Priority: normal Component: build system
Version: HEAD Severity: blocker
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Summary of the bug:
The AV1 decoder dav1d now uses DAV1D_MAX_TILE_THREADS and DAV1D_MAX_FRAME_THREADS instead of a common DAV1D_MAX_THREADS, so compiling mplayer fails.
How to reproduce:

libavcodec/libdav1d.c: At top level:
libavcodec/libdav1d.c:462:94: error: 'DAV1D_MAX_TILE_THREADS' undeclared here (not in a function); did you mean 'DAV1D_MAX_THREADS'?
  462 |     { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
      |                                                                                              ^~~~~~~~~~~~~~~~~~~~~~
      |                                                                                              DAV1D_MAX_THREADS
libavcodec/libdav1d.c:463:97: error: 'DAV1D_MAX_FRAME_THREADS' undeclared here (not in a function); did you mean 'DAV1D_MAX_THREADS'?
  463 |     { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
      |                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                                 DAV1D_MAX_THREADS
make[1]: *** [ffbuild/common.mak:67: libavcodec/libdav1d.o] Error 1

Attachments (1)

ab-suite.install.log.zip (37.8 KB ) - added by LigH 7 months ago.
log of "make install" recorded by media-autobuild suite

Download all attachments as: .zip

Change History (6)

by LigH, 7 months ago

Attachment: ab-suite.install.log.zip added

log of "make install" recorded by media-autobuild suite

comment:1 by beastd, 6 months ago

Thanks for reporting this build failure.

Could you paste the contents of dav1d/version.h ?

Last edited 6 months ago by beastd (previous) (diff)

in reply to:  1 comment:2 by LigH, 6 months ago

Without comment header:

#ifndef DAV1D_VERSION_H
#define DAV1D_VERSION_H

#define DAV1D_API_VERSION_MAJOR 6
#define DAV1D_API_VERSION_MINOR 0
#define DAV1D_API_VERSION_PATCH 0

#endif /* DAV1D_VERSION_H */

comment:3 by beastd, 6 months ago

AFAICT the problem is that your libavcodec version is too low for your libdav1d version.

For your libdav1d version, at least libavcodec from FFmpeg 4.4.1 is required.

Regarding threaded decoding with libdav1d, the current development version of FFmpeg and the upcoming 4.4.2 will be better because it contains a fix and improvements regarding libdav1d threading.

Hope that helps and if possible report back if compiling with newer FFmpeg fixes the build.

in reply to:  3 comment:4 by LigH, 6 months ago

I, personally, am not able to change anything; I am not a developer. I only let the media-autobuild suite run and hope that it passes. The best I can do in case of issues is sharing educated guesses with real developers.

The media-autobuild suite maintainers may not take the burden of maintaining the mplayer/mencoder building process, their main goal is building ffmpeg with a lot of modules, and that works with a current libdav1d. I can tell them about it but doubt that there is an easy solution from their side...

In general, the suite builds the most recent modules, it always retrieves HEAD (or known good) sources to build ffmpeg from. But I don't know if the ffmpeg version mplayer will be based on is currently frozen to an older version, maybe...

M-AB-S issue 2072

comment:5 by beastd, 3 weeks ago

Resolution: invalid
Status: newclosed

I assume this isn't a problem anymore, right?

According to my analysis it isn't an MPlayer problem anyway. Thus closing this ticket with resolution invalid.

Thanks for taking the time to report!

Note: See TracTickets for help on using tickets.