Menu

#11 [patch] Dav1d 1.0.0 support

1.2.11
closed
nobody
dav1d (1)
2022-03-24
2022-03-18
VVD
No

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;

Discussion

  • Petri Hintukainen

    Pushed. Thanks!

     
  • Petri Hintukainen

    • status: open --> closed
     
  • VVD

    VVD - 2022-03-24

    Thanks you too!

     

Log in to post a comment.

MongoDB Logo MongoDB