mirror of
https://github.com/dslm4515/BMLFS.git
synced 2025-08-16 16:39:38 +00:00
Upgraded vlc from 3.0.16 to 3.0.20
This commit is contained in:
@ -1,34 +1,40 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
# VLC
|
# VLC
|
||||||
# Source: https://download.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz
|
# Source: https://download.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz
|
||||||
#
|
#
|
||||||
# $BUILD = Directory to temporarily install
|
# $BUILD = Directory to temporarily install
|
||||||
# $PKGS = Directory to store built packages
|
# $PKGS = Directory to store built packages
|
||||||
#
|
#
|
||||||
# DEPS
|
# DEPS
|
||||||
# Required: NONE
|
# Required: libplacebo
|
||||||
# Recommended: gst-plugins-ugly a52dec libgcrypt libmad alsa-lib
|
# Recommended: gst-plugins-ugly a52dec libgcrypt libmad alsa-lib
|
||||||
# Recommended: desktop-file-utils ffmpeg lua52 qt5-qtsvg
|
# Recommended: desktop-file-utils ffmpeg lua52 qt5-qtsvg
|
||||||
# Optional: dbus libidn libssh2 gst-plugins-bad gst-plugins-good
|
# Optional: dbus libidn libssh2 gst-plugins-bad gst-plugins-good
|
||||||
|
|
||||||
|
# NOTE: VLC still expect headers from libplacebo, even if support for
|
||||||
|
# is disabled
|
||||||
|
# NOTE: Fails to build with clang-17. Use GCC.
|
||||||
|
# NOTE: Stripping libraries of debug symbols causes vlc not to load
|
||||||
|
|
||||||
patch -Np1 -i ../patches/vlc-alpine/check-headless.patch
|
patch -Np1 -i ../patches/vlc-alpine/check-headless.patch
|
||||||
patch -Np1 -i ../patches/vlc-alpine/disable-sub-autodetect-fuzzy-1-test.patch
|
patch -Np1 -i ../patches/vlc-alpine/disable-sub-autodetect-fuzzy-1-test.patch
|
||||||
patch -Np1 -i ../patches/vlc-alpine/fribidi_allow_deprecated.patch
|
patch -Np1 -i ../patches/vlc-alpine/fribidi_allow_deprecated.patch
|
||||||
patch -Np1 -i ../patches/vlc-alpine/test-s390x.patch
|
patch -Np1 -i ../patches/vlc-alpine/libplacebo-5.patch
|
||||||
|
patch -Np1 -i ../patches/vlc-alpine/omxil-rpi-codecs.patch
|
||||||
|
|
||||||
NOCONFIGURE=1 ./bootstrap &&
|
NOCONFIGURE=1 ./bootstrap &&
|
||||||
|
|
||||||
CFLAGS=" -fcommon -D_GNU_SOURCE" CXXFLAGS="-fcommon" \
|
CFLAGS=" -fcommon -D_GNU_SOURCE" CXXFLAGS="-fcommon" \
|
||||||
BUILDCC="gcc -std=c99" \
|
BUILDCC="gcc -std=c99" \
|
||||||
./configure --prefix=/usr \
|
./configure --prefix=/usr \
|
||||||
--disable-vpx \
|
|
||||||
--enable-x264 \
|
--enable-x264 \
|
||||||
--enable-merge-ffmpeg \
|
--enable-merge-ffmpeg \
|
||||||
--without-mpg123 $BUILDTRUPLE &&
|
--disable-v4l2 --disable-libplacebo # incompatible atm
|
||||||
|
$BUILDTRUPLE &&
|
||||||
read -p "Compile?" && make -j2 &&
|
read -p "Compile?" && make -j2 &&
|
||||||
|
|
||||||
sudo -S make DESTDIR=$BUILD docdir=/usr/share/doc/vlc-3.0.16 install &&
|
sudo -S make DESTDIR=$BUILD docdir=/usr/share/doc/vlc-3.0.20 install &&
|
||||||
sudo -S mkdir -pv /BMAN/install /BMAN/usr/share && \
|
sudo -S mkdir -pv /BMAN/install /BMAN/usr/share && \
|
||||||
sudo -S mv $BUILD/usr/share/doc /BMAN/usr/share/ && \
|
sudo -S mv $BUILD/usr/share/doc /BMAN/usr/share/ && \
|
||||||
sudo -S mv $BUILD/usr/share/man /BMAN/usr/share/ && \
|
sudo -S mv $BUILD/usr/share/man /BMAN/usr/share/ && \
|
||||||
@ -56,7 +62,7 @@ vlc: homepage: http://www.videolan.org/vlc/
|
|||||||
vlc:
|
vlc:
|
||||||
EOF
|
EOF
|
||||||
sudo -S mv -v /tmp/slack-desc install/ &&
|
sudo -S mv -v /tmp/slack-desc install/ &&
|
||||||
sudo -S makepkg -l y -c n $PKGS/vlc-3.0.16-$(uname -m)-mlfs.txz && \
|
sudo -S makepkg -l y -c n $PKGS/vlc-3.0.20-$PSUFFIX && \
|
||||||
cd /BMAN && \
|
cd /BMAN && \
|
||||||
cat > /tmp/slack-desc << "EOF"
|
cat > /tmp/slack-desc << "EOF"
|
||||||
vlc-doc: Manuals for vlc (VLC media player)
|
vlc-doc: Manuals for vlc (VLC media player)
|
||||||
@ -68,5 +74,5 @@ vlc-doc: http://www.videolan.org/vlc/
|
|||||||
vlc-doc:
|
vlc-doc:
|
||||||
EOF
|
EOF
|
||||||
sudo -S mv -v /tmp/slack-desc install/ && \
|
sudo -S mv -v /tmp/slack-desc install/ && \
|
||||||
sudo -S makepkg -l y -c n $PKGS/vlc-doc-3.0.16-noarch-mlfs.txz && \
|
sudo -S makepkg -l y -c n $PKGS/vlc-doc-3.0.20-$NOPSUFFIX && \
|
||||||
sudo -S rm -rf ${BUILD}/* /BMAN/*
|
sudo -S rm -rf ${BUILD}/* /BMAN/*
|
||||||
|
108
patches/vlc-alpine/libplacebo-5.patch
Normal file
108
patches/vlc-alpine/libplacebo-5.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
patch vaguely ported from: https://code.videolan.org/videolan/vlc/-/merge_requests/2233
|
||||||
|
|
||||||
|
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
|
||||||
|
index 7000e1f..49fa667 100644
|
||||||
|
--- a/modules/video_output/opengl/converter.h
|
||||||
|
+++ b/modules/video_output/opengl/converter.h
|
||||||
|
@@ -26,6 +26,9 @@
|
||||||
|
#include <vlc_picture_pool.h>
|
||||||
|
#include <vlc_opengl.h>
|
||||||
|
|
||||||
|
+#include <libplacebo/log.h>
|
||||||
|
+#include <libplacebo/shaders.h>
|
||||||
|
+
|
||||||
|
/* if USE_OPENGL_ES2 is defined, OpenGL ES version 2 will be used, otherwise
|
||||||
|
* normal OpenGL will be used */
|
||||||
|
#ifdef __APPLE__
|
||||||
|
@@ -253,10 +256,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
|
||||||
|
@@ -273,7 +272,7 @@ struct opengl_tex_converter_t
|
||||||
|
vlc_gl_t *gl;
|
||||||
|
|
||||||
|
/* libplacebo context, created by the caller (optional) */
|
||||||
|
- struct pl_context *pl_ctx;
|
||||||
|
+ pl_log pl_log;
|
||||||
|
|
||||||
|
/* Function pointers to OpenGL functions, set by the caller */
|
||||||
|
const opengl_vtable_t *vt;
|
||||||
|
@@ -337,7 +336,7 @@ struct opengl_tex_converter_t
|
||||||
|
bool yuv_color;
|
||||||
|
GLfloat yuv_coefficients[16];
|
||||||
|
|
||||||
|
- struct pl_shader *pl_sh;
|
||||||
|
+ pl_shader pl_sh;
|
||||||
|
const struct pl_shader_res *pl_sh_res;
|
||||||
|
|
||||||
|
/* Private context */
|
||||||
|
diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c
|
||||||
|
index ecf7226..29f4148 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 13d65e0..1ee99af 100644
|
||||||
|
--- a/modules/video_output/opengl/vout_helper.c
|
||||||
|
+++ b/modules/video_output/opengl/vout_helper.c
|
||||||
|
@@ -570,8 +570,7 @@ 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_log_destroy(&tc->pl_log);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
vlc_object_release(tc);
|
||||||
|
@@ -622,21 +621,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
|
||||||
|
}
|
||||||
|
}
|
15
patches/vlc-alpine/omxil-rpi-codecs.patch
Normal file
15
patches/vlc-alpine/omxil-rpi-codecs.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
--- vlc-2.2.0/modules/codec/omxil/omxil_core.c.orig 2015-02-28 08:37:54.044936036 -0200
|
||||||
|
+++ vlc-2.2.0/modules/codec/omxil/omxil_core.c 2015-02-28 08:38:38.738271654 -0200
|
||||||
|
@@ -204,6 +204,12 @@
|
||||||
|
#ifdef RPI_OMX
|
||||||
|
{ "video_decoder.avc", "OMX.broadcom.video_decode" },
|
||||||
|
{ "video_decoder.mpeg2", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.mpeg4", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.vp6", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.vp8", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.theora", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.mjpg", "OMX.broadcom.video_decode" },
|
||||||
|
+ { "video_decoder.vc1", "OMX.broadcom.video_decode" },
|
||||||
|
{ "iv_renderer", "OMX.broadcom.video_render" },
|
||||||
|
#endif
|
||||||
|
{ 0, 0 }
|
Reference in New Issue
Block a user