Compare commits
11 Commits
Author | SHA1 | Date |
---|---|---|
ebasov | 3a3fa7acd2 | 4 weeks ago |
ebasov | 8db5f2bfab | 4 weeks ago |
ebasov | 51cc6ccc2a | 4 weeks ago |
Arkady L. Shane | 984bc4a170 | 11 months ago |
MSVSphere Packaging Team | 0116c1f8bc | 1 year ago |
MSVSphere Packaging Team | ec94d2b911 | 1 year ago |
Arkady L. Shane | 0c80cb2ab1 | 1 year ago |
MSVSphere Packaging Team | 303fd10282 | 1 year ago |
MSVSphere Packaging Team | 70b315d133 | 1 year ago |
Arkady L. Shane | ef94bed19c | 1 year ago |
Arkady L. Shane | 7c5ac7904b | 1 year ago |
@ -1,2 +1 @@
|
|||||||
vlc-*.tar.xz
|
SOURCES/vlc-3.0.21.tar.xz
|
||||||
vlc-*.tar.gz
|
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
be8557fc2f4be58caebe4a8b1d70f03dc6b95792 SOURCES/vlc-3.0.21.tar.xz
|
@ -1,50 +0,0 @@
|
|||||||
From 94845266b705dc9de7921408531b9d7704f4458f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dominic Mayers <dominic.mayers@meditationstudies.org>
|
|
||||||
Date: Sun, 28 Mar 2021 04:37:54 -0400
|
|
||||||
Subject: [PATCH] Get addr by ref. from getConnectionEndpointAddress.
|
|
||||||
|
|
||||||
Fixes issue #25473 in code.videolan.org. The maintainers of live555 changed
|
|
||||||
connectionEndpointAddresss to getConnectionEndpointAddress, which now provides
|
|
||||||
the address value by reference. Before, connectionEndpointAddresss returned
|
|
||||||
the value. So, in modules/access/live555.cpp, we must first get the value and
|
|
||||||
then pass it to IsMulticastAddress. The code will not compile with the recent
|
|
||||||
live555 unless we also modify modules/access/Makefile.am - a different patch.
|
|
||||||
---
|
|
||||||
modules/access/live555.cpp | 7 +++++--
|
|
||||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp
|
|
||||||
index 01c535ca5b..95e15e35d9 100644
|
|
||||||
--- a/modules/access/live555.cpp
|
|
||||||
+++ b/modules/access/live555.cpp
|
|
||||||
@@ -60,6 +60,7 @@
|
|
||||||
#include <liveMedia.hh>
|
|
||||||
#include <liveMedia_version.hh>
|
|
||||||
#include <Base64.hh>
|
|
||||||
+#include <NetAddress.hh>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include "../access/mms/asf.h" /* Who said ugly ? */
|
|
||||||
@@ -727,7 +728,8 @@ static int SessionsSetup( demux_t *p_demux )
|
|
||||||
unsigned const thresh = 200000; /* RTP reorder threshold .2 second (default .1) */
|
|
||||||
const char *p_sess_lang = NULL;
|
|
||||||
const char *p_lang;
|
|
||||||
-
|
|
||||||
+ struct sockaddr_storage addr;
|
|
||||||
+
|
|
||||||
b_rtsp_tcp = var_CreateGetBool( p_demux, "rtsp-tcp" ) ||
|
|
||||||
var_GetBool( p_demux, "rtsp-http" );
|
|
||||||
i_client_port = var_InheritInteger( p_demux, "rtp-client-port" );
|
|
||||||
@@ -850,7 +852,8 @@ static int SessionsSetup( demux_t *p_demux )
|
|
||||||
if( !p_sys->b_multicast )
|
|
||||||
{
|
|
||||||
/* We need different rollover behaviour for multicast */
|
|
||||||
- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() );
|
|
||||||
+ sub->getConnectionEndpointAddress(addr);
|
|
||||||
+ p_sys->b_multicast = IsMulticastAddress( addr );
|
|
||||||
}
|
|
||||||
|
|
||||||
tk = (live_track_t*)malloc( sizeof( live_track_t ) );
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
|||||||
From b107d105f8489edd6deafb340c65f435ab6e1c29 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Leigh Scott <leigh123linux@gmail.com>
|
|
||||||
Date: Mon, 14 Jun 2021 12:26:09 +0100
|
|
||||||
Subject: [PATCH] Revert "access: libdvdread 6.1.2 supports UTF-8 paths in
|
|
||||||
Windows."
|
|
||||||
|
|
||||||
This reverts commit 02b784c0cefe6d0d36bbc3b668a7f238c7f7b3ed.
|
|
||||||
---
|
|
||||||
modules/access/dvdnav.c | 9 ---------
|
|
||||||
modules/access/dvdread.c | 9 ---------
|
|
||||||
2 files changed, 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c
|
|
||||||
index 69abe50c8c..89fb66f11e 100644
|
|
||||||
--- a/modules/access/dvdnav.c
|
|
||||||
+++ b/modules/access/dvdnav.c
|
|
||||||
@@ -371,14 +371,7 @@ static int AccessDemuxOpen ( vlc_object_t *p_this )
|
|
||||||
goto bailout;
|
|
||||||
|
|
||||||
/* Open dvdnav */
|
|
||||||
-#if DVDREAD_VERSION < DVDREAD_VERSION_CODE(6, 1, 2)
|
|
||||||
- /* In libdvdread prior to 6.1.2, UTF8 is not supported for windows and
|
|
||||||
- * requires a prior conversion.
|
|
||||||
- * For non win32/os2 platforms, this is just a no-op */
|
|
||||||
psz_path = ToLocale( psz_file );
|
|
||||||
-#else
|
|
||||||
- psz_path = psz_file;
|
|
||||||
-#endif
|
|
||||||
#if DVDNAV_VERSION >= 60100
|
|
||||||
dvdnav_logger_cb cbs;
|
|
||||||
cbs.pf_log = DvdNavLog;
|
|
||||||
@@ -397,10 +390,8 @@ static int AccessDemuxOpen ( vlc_object_t *p_this )
|
|
||||||
|
|
||||||
bailout:
|
|
||||||
free( psz_file );
|
|
||||||
-#if DVDREAD_VERSION < DVDREAD_VERSION_CODE(6, 1, 2)
|
|
||||||
if( psz_path )
|
|
||||||
LocaleFree( psz_path );
|
|
||||||
-#endif
|
|
||||||
return i_ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c
|
|
||||||
index 749cbd47e0..e75bef5986 100644
|
|
||||||
--- a/modules/access/dvdread.c
|
|
||||||
+++ b/modules/access/dvdread.c
|
|
||||||
@@ -212,14 +212,7 @@ static int Open( vlc_object_t *p_this )
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Open dvdread */
|
|
||||||
-#if DVDREAD_VERSION < DVDREAD_VERSION_CODE(6, 1, 2)
|
|
||||||
- /* In libdvdread prior to 6.1.2, UTF8 is not supported for windows and
|
|
||||||
- * requires a prior conversion.
|
|
||||||
- * For non win32/os2 platforms, this is just a no-op */
|
|
||||||
const char *psz_path = ToLocale( psz_file );
|
|
||||||
-#else
|
|
||||||
- const char *psz_path = psz_file;
|
|
||||||
-#endif
|
|
||||||
#if DVDREAD_VERSION >= DVDREAD_VERSION_CODE(6, 1, 0)
|
|
||||||
dvd_logger_cb cbs;
|
|
||||||
cbs.pf_log = DvdReadLog;
|
|
||||||
@@ -227,9 +220,7 @@ static int Open( vlc_object_t *p_this )
|
|
||||||
#else
|
|
||||||
dvd_reader_t *p_dvdread = DVDOpen( psz_path );
|
|
||||||
#endif
|
|
||||||
-#if DVDREAD_VERSION < DVDREAD_VERSION_CODE(6, 1, 2)
|
|
||||||
LocaleFree( psz_path );
|
|
||||||
-#endif
|
|
||||||
if( p_dvdread == NULL )
|
|
||||||
{
|
|
||||||
msg_Err( p_demux, "DVDRead cannot open source: %s", psz_file );
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
From 982f44d09bb61490194baf371d52c12016e0c5c9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nicolas Chauvet <kwizart@gmail.com>
|
|
||||||
Date: Fri, 28 Jul 2023 12:25:44 +0200
|
|
||||||
Subject: [PATCH] po: Fixup invalid format string
|
|
||||||
|
|
||||||
Will fix the following errors
|
|
||||||
|
|
||||||
oc.po:5301: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid.
|
|
||||||
oc.po:5306: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid.
|
|
||||||
oc.po:5312: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid.
|
|
||||||
|
|
||||||
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
|
|
||||||
---
|
|
||||||
po/oc.po | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/po/oc.po b/po/oc.po
|
|
||||||
index 667696cfe785..ddb1677d8a53 100644
|
|
||||||
--- a/po/oc.po
|
|
||||||
+++ b/po/oc.po
|
|
||||||
@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
|
|
||||||
#: src/misc/update.c:482
|
|
||||||
#, c-format
|
|
||||||
msgid "%.1f GiB"
|
|
||||||
-msgstr "%.lf Gio"
|
|
||||||
+msgstr "%.1f Gio"
|
|
||||||
|
|
||||||
#: src/misc/update.c:484
|
|
||||||
#, c-format
|
|
||||||
msgid "%.1f MiB"
|
|
||||||
-msgstr "%.lf Mio"
|
|
||||||
+msgstr "%.1f Mio"
|
|
||||||
|
|
||||||
#: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
|
|
||||||
#: modules/gui/macosx/VLCPlaylistInfo.m:140
|
|
||||||
#, c-format
|
|
||||||
msgid "%.1f KiB"
|
|
||||||
-msgstr "%.lf Kio"
|
|
||||||
+msgstr "%.1f Kio"
|
|
||||||
|
|
||||||
#: src/misc/update.c:488
|
|
||||||
#, c-format
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
|||||||
diff -uNrp a/modules/video_output/caca.c b/modules/video_output/caca.c
|
|
||||||
--- a/modules/video_output/caca.c 2022-01-14 06:09:28.000000000 +0000
|
|
||||||
+++ b/modules/video_output/caca.c 2022-01-18 23:09:44.979137301 +0000
|
|
||||||
@@ -74,9 +74,9 @@ static void Place(vout_display_t *, vout
|
|
||||||
|
|
||||||
/* */
|
|
||||||
struct vout_display_sys_t {
|
|
||||||
- cucul_canvas_t *cv;
|
|
||||||
+ caca_canvas_t *cv;
|
|
||||||
caca_display_t *dp;
|
|
||||||
- cucul_dither_t *dither;
|
|
||||||
+ caca_dither_t *dither;
|
|
||||||
|
|
||||||
picture_pool_t *pool;
|
|
||||||
vout_display_event_thread_t *et;
|
|
||||||
@@ -153,9 +153,9 @@ static int Open(vlc_object_t *object)
|
|
||||||
if (!sys)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
- sys->cv = cucul_create_canvas(0, 0);
|
|
||||||
+ sys->cv = caca_create_canvas(0, 0);
|
|
||||||
if (!sys->cv) {
|
|
||||||
- msg_Err(vd, "cannot initialize libcucul");
|
|
||||||
+ msg_Err(vd, "cannot initialize libcaca");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -209,11 +209,11 @@ error:
|
|
||||||
if (sys->pool)
|
|
||||||
picture_pool_Release(sys->pool);
|
|
||||||
if (sys->dither)
|
|
||||||
- cucul_free_dither(sys->dither);
|
|
||||||
+ caca_free_dither(sys->dither);
|
|
||||||
if (sys->dp)
|
|
||||||
caca_free_display(sys->dp);
|
|
||||||
if (sys->cv)
|
|
||||||
- cucul_free_canvas(sys->cv);
|
|
||||||
+ caca_free_canvas(sys->cv);
|
|
||||||
|
|
||||||
free(sys);
|
|
||||||
}
|
|
||||||
@@ -235,9 +235,9 @@ static void Close(vlc_object_t *object)
|
|
||||||
if (sys->pool)
|
|
||||||
picture_pool_Release(sys->pool);
|
|
||||||
if (sys->dither)
|
|
||||||
- cucul_free_dither(sys->dither);
|
|
||||||
+ caca_free_dither(sys->dither);
|
|
||||||
caca_free_display(sys->dp);
|
|
||||||
- cucul_free_canvas(sys->cv);
|
|
||||||
+ caca_free_canvas(sys->cv);
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
FreeConsole();
|
|
||||||
@@ -266,7 +266,7 @@ static void Prepare(vout_display_t *vd,
|
|
||||||
|
|
||||||
if (!sys->dither) {
|
|
||||||
/* Create the libcaca dither object */
|
|
||||||
- sys->dither = cucul_create_dither(32,
|
|
||||||
+ sys->dither = caca_create_dither(32,
|
|
||||||
vd->source.i_visible_width,
|
|
||||||
vd->source.i_visible_height,
|
|
||||||
picture->p[0].i_pitch,
|
|
||||||
@@ -284,12 +284,12 @@ static void Prepare(vout_display_t *vd,
|
|
||||||
vout_display_place_t place;
|
|
||||||
Place(vd, &place);
|
|
||||||
|
|
||||||
- cucul_set_color_ansi(sys->cv, CUCUL_COLOR_DEFAULT, CUCUL_COLOR_BLACK);
|
|
||||||
- cucul_clear_canvas(sys->cv);
|
|
||||||
+ caca_set_color_ansi(sys->cv, CACA_DEFAULT, CACA_BLACK);
|
|
||||||
+ caca_clear_canvas(sys->cv);
|
|
||||||
|
|
||||||
const int crop_offset = vd->source.i_y_offset * picture->p->i_pitch +
|
|
||||||
vd->source.i_x_offset * picture->p->i_pixel_pitch;
|
|
||||||
- cucul_dither_bitmap(sys->cv, place.x, place.y,
|
|
||||||
+ caca_dither_bitmap(sys->cv, place.x, place.y,
|
|
||||||
place.width, place.height,
|
|
||||||
sys->dither,
|
|
||||||
&picture->p->p_pixels[crop_offset]);
|
|
||||||
@@ -328,7 +328,7 @@ static int Control(vout_display_t *vd, i
|
|
||||||
|
|
||||||
case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
|
|
||||||
if (sys->dither)
|
|
||||||
- cucul_free_dither(sys->dither);
|
|
||||||
+ caca_free_dither(sys->dither);
|
|
||||||
sys->dither = NULL;
|
|
||||||
return VLC_SUCCESS;
|
|
||||||
|
|
||||||
@@ -366,8 +366,8 @@ static void Place(vout_display_t *vd, vo
|
|
||||||
|
|
||||||
vout_display_PlacePicture(place, &vd->source, vd->cfg, false);
|
|
||||||
|
|
||||||
- const int canvas_width = cucul_get_canvas_width(sys->cv);
|
|
||||||
- const int canvas_height = cucul_get_canvas_height(sys->cv);
|
|
||||||
+ const int canvas_width = caca_get_canvas_width(sys->cv);
|
|
||||||
+ const int canvas_height = caca_get_canvas_height(sys->cv);
|
|
||||||
const int display_width = caca_get_display_width(sys->dp);
|
|
||||||
const int display_height = caca_get_display_height(sys->dp);
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
|||||||
From 55b24abf7219a0c6a6560187496e41fd60638552 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
||||||
Date: Fri, 18 Mar 2022 11:42:49 +0100
|
|
||||||
Subject: [PATCH 1/2] dav1d: fix compilation with (upcoming) dav1d 1.0
|
|
||||||
|
|
||||||
(cherry picked from commit dbf45cea2a8abdfbef897b8a71f3eb782bb1b712) (edited)
|
|
||||||
edited:
|
|
||||||
- 3.0 has the 128 pixels padding elsewhere
|
|
||||||
- 3.0 has an extra parameter for add_integer_with_range()
|
|
||||||
- 3.0 was setting i_extra_picture_buffers further down in the code
|
|
||||||
- 3.0 uses 16 threads max
|
|
||||||
|
|
||||||
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
||||||
---
|
|
||||||
modules/codec/dav1d.c | 22 +++++++++++++++++++++-
|
|
||||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules/codec/dav1d.c b/modules/codec/dav1d.c
|
|
||||||
index 039165f52e..cfabbc27cb 100644
|
|
||||||
--- a/modules/codec/dav1d.c
|
|
||||||
+++ b/modules/codec/dav1d.c
|
|
||||||
@@ -63,10 +63,16 @@ vlc_module_begin ()
|
|
||||||
set_category(CAT_INPUT)
|
|
||||||
set_subcategory(SUBCAT_INPUT_VCODEC)
|
|
||||||
|
|
||||||
+#if DAV1D_API_VERSION_MAJOR >= 6
|
|
||||||
+ add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_THREADS,
|
|
||||||
+ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
|
|
||||||
+ add_obsolete_string("dav1d-thread-tiles") // unused with dav1d 1.0
|
|
||||||
+#else
|
|
||||||
add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
|
|
||||||
THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
|
|
||||||
add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
|
|
||||||
THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false)
|
|
||||||
+#endif
|
|
||||||
vlc_module_end ()
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
@@ -294,6 +300,11 @@ static int OpenDecoder(vlc_object_t *p_this)
|
|
||||||
return VLC_ENOMEM;
|
|
||||||
|
|
||||||
dav1d_default_settings(&p_sys->s);
|
|
||||||
+#if DAV1D_API_VERSION_MAJOR >= 6
|
|
||||||
+ p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
|
|
||||||
+ if (p_sys->s.n_threads == 0)
|
|
||||||
+ p_sys->s.n_threads = (i_core_count < 16) ? i_core_count : 16;
|
|
||||||
+#else
|
|
||||||
p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
|
|
||||||
if (p_sys->s.n_tile_threads == 0)
|
|
||||||
p_sys->s.n_tile_threads =
|
|
||||||
@@ -303,6 +314,7 @@ static int OpenDecoder(vlc_object_t *p_this)
|
|
||||||
p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
|
|
||||||
if (p_sys->s.n_frame_threads == 0)
|
|
||||||
p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16;
|
|
||||||
+#endif
|
|
||||||
p_sys->s.allocator.cookie = dec;
|
|
||||||
p_sys->s.allocator.alloc_picture_callback = NewPicture;
|
|
||||||
p_sys->s.allocator.release_picture_callback = FreePicture;
|
|
||||||
@@ -313,12 +325,20 @@ static int OpenDecoder(vlc_object_t *p_this)
|
|
||||||
return VLC_EGENERIC;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if DAV1D_API_VERSION_MAJOR >= 6
|
|
||||||
+ msg_Dbg(p_this, "Using dav1d version %s with %d threads",
|
|
||||||
+ dav1d_version(), p_sys->s.n_threads);
|
|
||||||
+
|
|
||||||
+ dec->i_extra_picture_buffers = (p_sys->s.n_threads - 1);
|
|
||||||
+#else
|
|
||||||
msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
|
|
||||||
dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
|
|
||||||
|
|
||||||
+ dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
dec->pf_decode = Decode;
|
|
||||||
dec->pf_flush = FlushDecoder;
|
|
||||||
- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
|
|
||||||
|
|
||||||
dec->fmt_out.video.i_width = dec->fmt_in.video.i_width;
|
|
||||||
dec->fmt_out.video.i_height = dec->fmt_in.video.i_height;
|
|
||||||
--
|
|
||||||
2.36.1
|
|
||||||
|
|
||||||
|
|
||||||
From c95e5288ab2d222346b19552a462afe5159d1122 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
||||||
Date: Mon, 21 Mar 2022 15:53:52 +0100
|
|
||||||
Subject: [PATCH 2/2] dav1d: limit the number of extra frames needed by the
|
|
||||||
decoder
|
|
||||||
|
|
||||||
The i_extra_picture_buffers is used to add pictures to the pool that the core
|
|
||||||
will allocate. dav1d is actually using n_threads frames. And the core is
|
|
||||||
allocating 10 frames per default for AV1. So we need to add the missing ones.
|
|
||||||
|
|
||||||
(cherry picked from commit a32031dc0f5f32083fc54a21397bce732742ccbe) (rebased)
|
|
||||||
rebased:
|
|
||||||
- the code dav1d 1.0.0 in 3.0 uses different max versions
|
|
||||||
|
|
||||||
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
||||||
---
|
|
||||||
modules/codec/dav1d.c | 25 +++++++++++++++++++++++--
|
|
||||||
1 file changed, 23 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules/codec/dav1d.c b/modules/codec/dav1d.c
|
|
||||||
index cfabbc27cb..8a439ce4ff 100644
|
|
||||||
--- a/modules/codec/dav1d.c
|
|
||||||
+++ b/modules/codec/dav1d.c
|
|
||||||
@@ -304,7 +304,28 @@ static int OpenDecoder(vlc_object_t *p_this)
|
|
||||||
p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
|
|
||||||
if (p_sys->s.n_threads == 0)
|
|
||||||
p_sys->s.n_threads = (i_core_count < 16) ? i_core_count : 16;
|
|
||||||
-#else
|
|
||||||
+
|
|
||||||
+#if DAV1D_API_VERSION_MAJOR > 6 || DAV1D_API_VERSION_MINOR >= 7
|
|
||||||
+ // after dav1d 1.0.0
|
|
||||||
+ p_sys->s.max_frame_delay = dav1d_get_frame_delay( &p_sys->s );
|
|
||||||
+#else // 1.0.0
|
|
||||||
+ // corresponds to c->n_fc when max_frame_delay is 0 in dav1d 1.0.0
|
|
||||||
+ static const uint8_t fc_lut[49] = {
|
|
||||||
+ 1, /* 1 */
|
|
||||||
+ 2, 2, 2, /* 2- 4 */
|
|
||||||
+ 3, 3, 3, 3, 3, /* 5- 9 */
|
|
||||||
+ 4, 4, 4, 4, 4, 4, 4, /* 10-16 */
|
|
||||||
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, /* 17-25 */
|
|
||||||
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, /* 26-36 */
|
|
||||||
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, /* 37-49 */
|
|
||||||
+ };
|
|
||||||
+ if (p_sys->s.n_threads >= 50)
|
|
||||||
+ p_sys->s.max_frame_delay = 8;
|
|
||||||
+ else
|
|
||||||
+ p_sys->s.max_frame_delay = fc_lut[p_sys->s.n_threads - 1];
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#else // before dav1d 1.0.0
|
|
||||||
p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
|
|
||||||
if (p_sys->s.n_tile_threads == 0)
|
|
||||||
p_sys->s.n_tile_threads =
|
|
||||||
@@ -329,7 +350,7 @@ static int OpenDecoder(vlc_object_t *p_this)
|
|
||||||
msg_Dbg(p_this, "Using dav1d version %s with %d threads",
|
|
||||||
dav1d_version(), p_sys->s.n_threads);
|
|
||||||
|
|
||||||
- dec->i_extra_picture_buffers = (p_sys->s.n_threads - 1);
|
|
||||||
+ dec->i_extra_picture_buffers = p_sys->s.max_frame_delay;
|
|
||||||
#else
|
|
||||||
msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
|
|
||||||
dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
|
|
||||||
--
|
|
||||||
2.36.1
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
|||||||
--- a/modules/video_chroma/chain.c
|
|
||||||
+++ b/modules/video_chroma/chain.c
|
|
||||||
@@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
|
|
||||||
return VLC_SUCCESS;
|
|
||||||
|
|
||||||
/* Lets try resize+chroma first, then transform */
|
|
||||||
- msg_Dbg( p_filter, "Trying to build chroma+resize" );
|
|
||||||
- EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );
|
|
||||||
+ msg_Dbg( p_filter, "Trying to build chroma+resize, then transform" );
|
|
||||||
+ es_format_Copy( &fmt_mid, &p_filter->fmt_out );
|
|
||||||
+ video_format_TransformTo(&fmt_mid.video, p_filter->fmt_in.video.orientation);
|
|
||||||
i_ret = CreateChain( p_filter, &fmt_mid );
|
|
||||||
es_format_Clean( &fmt_mid );
|
|
||||||
if( i_ret == VLC_SUCCESS )
|
|
@ -1 +0,0 @@
|
|||||||
SHA512 (vlc-6f0d0ab.tar.gz) = 5a2529a397c27c97d0a8ac32d483327b3f47f90ce97c86ff7c169e4c349456c95339b755f28320cbc717d52148225402f6fd64009d7543f50a85701d303dbd6a
|
|
@ -1,131 +0,0 @@
|
|||||||
From efbb1fdbc4420365b3ffd22e55dd27ad520037c7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Niklas Haas <git@haasn.dev>
|
|
||||||
Date: Sat, 16 Jul 2022 14:41:13 +0200
|
|
||||||
Subject: [PATCH] opengl: port to libplacebo v4 API
|
|
||||||
|
|
||||||
These v3.x APIs will be removed in v5.x. Fortunately, the new APIs are a
|
|
||||||
near drop-in replacement, so the change was minimal. Only the error
|
|
||||||
handling was cleaned up slightly.
|
|
||||||
---
|
|
||||||
modules/video_output/opengl/converter.h | 18 ++++++++++--------
|
|
||||||
modules/video_output/opengl/fragment_shaders.c | 4 ++--
|
|
||||||
modules/video_output/opengl/vout_helper.c | 14 +++++++-------
|
|
||||||
3 files changed, 19 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
|
|
||||||
index 7000e1f38e..cb8e593a9a 100644
|
|
||||||
--- a/modules/video_output/opengl/converter.h
|
|
||||||
+++ b/modules/video_output/opengl/converter.h
|
|
||||||
@@ -52,6 +52,11 @@
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef HAVE_LIBPLACEBO
|
|
||||||
+# include <libplacebo/log.h>
|
|
||||||
+# include <libplacebo/shaders.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#define VLCGL_PICTURE_MAX 128
|
|
||||||
|
|
||||||
#ifndef GL_TEXTURE_RECTANGLE
|
|
||||||
@@ -253,10 +258,6 @@ static inline bool HasExtension(const char *apis, const char *api)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
-struct pl_context;
|
|
||||||
-struct pl_shader;
|
|
||||||
-struct pl_shader_res;
|
|
||||||
-
|
|
||||||
/*
|
|
||||||
* Structure that is filled by "glhw converter" module probe function
|
|
||||||
* The implementation should initialize every members of the struct that are
|
|
||||||
@@ -272,8 +273,12 @@ struct opengl_tex_converter_t
|
|
||||||
/* Pointer to object gl, set by the caller */
|
|
||||||
vlc_gl_t *gl;
|
|
||||||
|
|
||||||
+#ifdef HAVE_LIBPLACEBO
|
|
||||||
/* libplacebo context, created by the caller (optional) */
|
|
||||||
- struct pl_context *pl_ctx;
|
|
||||||
+ pl_log pl_log;
|
|
||||||
+ pl_shader pl_sh;
|
|
||||||
+ const struct pl_shader_res *pl_sh_res;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Function pointers to OpenGL functions, set by the caller */
|
|
||||||
const opengl_vtable_t *vt;
|
|
||||||
@@ -337,9 +342,6 @@ struct opengl_tex_converter_t
|
|
||||||
bool yuv_color;
|
|
||||||
GLfloat yuv_coefficients[16];
|
|
||||||
|
|
||||||
- struct pl_shader *pl_sh;
|
|
||||||
- const struct pl_shader_res *pl_sh_res;
|
|
||||||
-
|
|
||||||
/* Private context */
|
|
||||||
void *priv;
|
|
||||||
|
|
||||||
diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c
|
|
||||||
index 2246e33afd..16380335cc 100644
|
|
||||||
--- a/modules/video_output/opengl/fragment_shaders.c
|
|
||||||
+++ b/modules/video_output/opengl/fragment_shaders.c
|
|
||||||
@@ -611,7 +611,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target,
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBPLACEBO
|
|
||||||
if (tc->pl_sh) {
|
|
||||||
- struct pl_shader *sh = tc->pl_sh;
|
|
||||||
+ pl_shader sh = tc->pl_sh;
|
|
||||||
struct pl_color_map_params color_params = pl_color_map_default_params;
|
|
||||||
color_params.intent = var_InheritInteger(tc->gl, "rendering-intent");
|
|
||||||
color_params.tone_mapping_algo = var_InheritInteger(tc->gl, "tone-mapping");
|
|
||||||
@@ -634,7 +634,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target,
|
|
||||||
pl_color_space_from_video_format(&tc->fmt),
|
|
||||||
dst_space, NULL, false);
|
|
||||||
|
|
||||||
- struct pl_shader_obj *dither_state = NULL;
|
|
||||||
+ pl_shader_obj dither_state = NULL;
|
|
||||||
int method = var_InheritInteger(tc->gl, "dither-algo");
|
|
||||||
if (method >= 0) {
|
|
||||||
|
|
||||||
diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c
|
|
||||||
index 13d65e04c8..e971f5170b 100644
|
|
||||||
--- a/modules/video_output/opengl/vout_helper.c
|
|
||||||
+++ b/modules/video_output/opengl/vout_helper.c
|
|
||||||
@@ -570,8 +570,8 @@ opengl_deinit_program(vout_display_opengl_t *vgl, struct prgm *prgm)
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBPLACEBO
|
|
||||||
FREENULL(tc->uloc.pl_vars);
|
|
||||||
- if (tc->pl_ctx)
|
|
||||||
- pl_context_destroy(&tc->pl_ctx);
|
|
||||||
+ pl_shader_free(&tc->pl_sh);
|
|
||||||
+ pl_log_destroy(&tc->pl_log);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vlc_object_release(tc);
|
|
||||||
@@ -622,21 +622,21 @@ opengl_init_program(vout_display_opengl_t *vgl, struct prgm *prgm,
|
|
||||||
// create the main libplacebo context
|
|
||||||
if (!subpics)
|
|
||||||
{
|
|
||||||
- tc->pl_ctx = pl_context_create(PL_API_VER, &(struct pl_context_params) {
|
|
||||||
+ tc->pl_log = pl_log_create(PL_API_VER, &(struct pl_log_params) {
|
|
||||||
.log_cb = log_cb,
|
|
||||||
.log_priv = tc,
|
|
||||||
.log_level = PL_LOG_INFO,
|
|
||||||
});
|
|
||||||
- if (tc->pl_ctx) {
|
|
||||||
+ if (tc->pl_log) {
|
|
||||||
# if PL_API_VER >= 20
|
|
||||||
- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, &(struct pl_shader_params) {
|
|
||||||
+ tc->pl_sh = pl_shader_alloc(tc->pl_log, &(struct pl_shader_params) {
|
|
||||||
.glsl.version = tc->glsl_version,
|
|
||||||
.glsl.gles = tc->is_gles,
|
|
||||||
});
|
|
||||||
# elif PL_API_VER >= 6
|
|
||||||
- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0);
|
|
||||||
+ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0);
|
|
||||||
# else
|
|
||||||
- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0, 0);
|
|
||||||
+ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0, 0);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.38.1
|
|
@ -1,24 +0,0 @@
|
|||||||
diff -up vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac.vpl vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac
|
|
||||||
--- vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac.vpl 2023-06-17 17:19:28.954540887 +0200
|
|
||||||
+++ vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac 2023-06-17 17:19:28.956540899 +0200
|
|
||||||
@@ -2925,7 +2925,7 @@ fi
|
|
||||||
dnl
|
|
||||||
dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder
|
|
||||||
dnl
|
|
||||||
-PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
|
|
||||||
+PKG_ENABLE_MODULES_VLC([MFX], [qsv], [vpl], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl libfluidsynth (MIDI synthetizer) plugin
|
|
||||||
diff -up vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c.vpl vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c
|
|
||||||
--- vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c.vpl 2023-06-09 17:29:29.000000000 +0200
|
|
||||||
+++ vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c 2023-06-17 17:22:05.468382540 +0200
|
|
||||||
@@ -33,7 +33,7 @@
|
|
||||||
#include <vlc_picture.h>
|
|
||||||
#include <vlc_codec.h>
|
|
||||||
|
|
||||||
-#include <mfx/mfxvideo.h>
|
|
||||||
+#include <vpl/mfxvideo.h>
|
|
||||||
|
|
||||||
#define SOUT_CFG_PREFIX "sout-qsv-"
|
|
||||||
|
|
Loading…
Reference in new issue