xine-libs 1.2.12.
After update dav1d to 1.0.0:
dav1d.c:547:12: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
~~~~~~~~ ^
dav1d.c:548:12: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
~~~~~~~~ ^
dav1d.c:548:52: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
~~~~~~~~ ^
/usr/include/sys/param.h:306:25: note: expanded from macro 'MAX'
#define MAX(a,b) (((a)>(b))?(a):(b))
^
dav1d.c:548:52: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
~~~~~~~~ ^
/usr/include/sys/param.h:306:34: note: expanded from macro 'MAX'
#define MAX(a,b) (((a)>(b))?(a):(b))
^
dav1d.c:551:22: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
settings.n_frame_threads, settings.n_tile_threads);
~~~~~~~~ ^
../../include/xine/xineutils.h:687:40: note: expanded from macro 'xprintf'
xine_log(xine, XINE_LOG_TRACE, __VA_ARGS__); \
^~~~~~~~~~~
dav1d.c:551:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
settings.n_frame_threads, settings.n_tile_threads);
This commit break compatibility: https://github.com/videolan/dav1d/commit/753eef833bdd8ff1585c5c858cafeca8fefbb16e
Patch:
--- src/video_dec/dav1d.c.orig
+++ src/video_dec/dav1d.c
@@ -544,11 +544,17 @@
/* multithreading */
ncpu = xine_cpu_count();
+#if DAV1D_API_VERSION_MAJOR > 5
+ settings.n_threads = ncpu + 1;
+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
+ "Using %d threads\n", settings.n_threads);
+#else
settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
"Using %d frame threads, %d tile threads\n",
settings.n_frame_threads, settings.n_tile_threads);
+#endif
/* dri frame allocator */
settings.allocator.cookie = this;
Pushed. Thanks!
Thanks you too!