Source: xine-lib-1.2
Version: 1.2.12-1
Severity: important
Tags: sid bookworm ftbfs patch
Forwarded: https://sourceforge.net/p/xine/tickets/11/


xine-lib-1.2 FTBFS with dav1d 1.0.0 in experimental:
|libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../include -I../..
-I../../include -I../../include -I../../src -I../../src/xine-engine
-I../../src/xine-engine -I../../src/xine-utils -I../../src/input
-I../../src/input -I../../lib -I../../lib -DNDEBUG -D_REENTRANT
-DXINE_COMPILE -Wdate-time -D_FORTIFY_SOURCE=2 -O3
-fexpensive-optimizations -ffast-math -fvisibility=hidden
-I/usr/include/libpng16 -pipe -Wall -Wformat=2 -Wno-format-zero-length
-Wmissing-format-attribute -Werror-implicit-function-declaration
-Wstrict-aliasing=2 -Wchar-subscripts -Wmissing-declarations
-Wmissing-prototypes -Wwrite-strings -Wpointer-arith -g -g -O2
-ffile-prefix-map=/build/xine-lib-1.2-1.2.12=.
-fstack-protector-strong -Wformat -Werror=format-security -O3
-fexpensive-optimizations -ffast-math -Wall -Wchar-subscripts
-Wnested-externs -Wcast-align -Wmissing-declarations
-Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign
-Wformat=2 -Wno-format-zero-length -Wformat-security
-Wstrict-aliasing=2 -Werror=implicit-function-declaration -c libpng.c
-fPIC -DPIC -o .libs/xineplug_decode_libpng_la-libpng.o
|dav1d.c: In function '_open_plugin':
|dav1d.c:547:11: error: 'Dav1dSettings' has no member named 'n_frame_threads'
|  547 |   settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
|      |           ^
|dav1d.c:548:12: error: 'Dav1dSettings' has no member named
'n_tile_threads'; did you mean 'n_threads'?
|  548 |   settings.n_tile_threads = MAX(1, ncpu -
settings.n_frame_threads + 1);
|      |            ^~~~~~~~~~~~~~
|      |            n_threads
|In file included from ../../lib/os_internal.h:71,
|                 from ../../include/config.h:47,
|                 from dav1d.c:23:
|dav1d.c:548:51: error: 'Dav1dSettings' has no member named 'n_frame_threads'
|  548 |   settings.n_tile_threads = MAX(1, ncpu -
settings.n_frame_threads + 1);
|      |                                                   ^
|libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../include -I../..
-I../../include -I../../include -I../../src -I../../src/xine-engine
-I../../src/xine-engine -I../../src/xine-utils -I../../src/input
-I../../src/input -I../../lib -I../../lib -DNDEBUG -D_REENTRANT
-DXINE_COMPILE -Wdate-time -D_FORTIFY_SOURCE=2 -O3
-fexpensive-optimizations -ffast-math -fvisibility=hidden -pipe -Wall
-Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute
-Werror-implicit-function-declaration -Wstrict-aliasing=2
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes
-Wwrite-strings -Wpointer-arith -g -g -O2
-ffile-prefix-map=/build/xine-lib-1.2-1.2.12=.
-fstack-protector-strong -Wformat -Werror=format-security -O3
-fexpensive-optimizations -ffast-math -Wall -Wchar-subscripts
-Wnested-externs -Wcast-align -Wmissing-declarations
-Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign
-Wformat=2 -Wno-format-zero-length -Wformat-security
-Wstrict-aliasing=2 -Werror=implicit-function-declaration -c
group_raw.c  -fPIC -DPIC -o .libs/group_raw.o
|dav1d.c:548:51: error: 'Dav1dSettings' has no member named 'n_frame_threads'
|  548 |   settings.n_tile_threads = MAX(1, ncpu -
settings.n_frame_threads + 1);
|      |                                                   ^
|In file included from ../../include/xine/input_plugin.h:28,
|                 from ../../include/xine/xine_internal.h:35,
|                 from dav1d.c:38:
|dav1d.c:551:21: error: 'Dav1dSettings' has no member named 'n_frame_threads'
|  551 |             settings.n_frame_threads, settings.n_tile_threads);
|      |                     ^
|../../include/xine/xineutils.h:687:40: note: in definition of macro 'xprintf'
|  687 |         xine_log(xine, XINE_LOG_TRACE, __VA_ARGS__);
              \
|      |                                        ^~~~~~~~~~~
|dav1d.c:551:48: error: 'Dav1dSettings' has no member named
'n_tile_threads'; did you mean 'n_threads'?
|  551 |             settings.n_frame_threads, settings.n_tile_threads);
|      |                                                ^~~~~~~~~~~~~~
|../../include/xine/xineutils.h:687:40: note: in definition of macro 'xprintf'
|  687 |         xine_log(xine, XINE_LOG_TRACE, __VA_ARGS__);
              \
|      |                                        ^~~~~~~~~~~

The attached upstream patch fix this issue.

Best,
Dylan
From b0d8e56959af72e9ece0a44d746231ac80b85de9 Mon Sep 17 00:00:00 2001
From: Petri Hintukainen <phint...@users.sourceforge.net>
Date: Thu, 24 Mar 2022 19:19:19 +0200
Subject: [PATCH] dav1d 1.0.0 support

https://sourceforge.net/p/xine/tickets/11/
---
 ChangeLog             | 2 ++
 src/video_dec/dav1d.c | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/src/video_dec/dav1d.c b/src/video_dec/dav1d.c
index 06187295c..187b357cc 100644
--- a/src/video_dec/dav1d.c
+++ b/src/video_dec/dav1d.c
@@ -544,11 +544,17 @@ static video_decoder_t *_open_plugin(video_decoder_class_t *class_gen, xine_stre
 
   /* 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;

Reply via email to