From 6eec6d28e9e9ddff2954e5141fd505d5b559c2f4 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 26 May 2018 16:01:34 +0200 Subject: [PATCH] Update vlc-nightly to 4.0.0v20180520 --- ...=> 0001-lua-Fix-build-using-lua-5.3.patch} | 9 +- ...-Fix-compatibility-with-OpenCV-3.4.1.patch | 258 ++++++++++++++++-- .../0003-Fix-compilation-with-Qt-5.11.patch | 24 ++ vlc/nightly/PKGBUILD | 25 +- 4 files changed, 285 insertions(+), 31 deletions(-) rename vlc/nightly/{0001-lua-fix-build-using-lua-5.3.patch => 0001-lua-Fix-build-using-lua-5.3.patch} (74%) create mode 100644 vlc/nightly/0003-Fix-compilation-with-Qt-5.11.patch diff --git a/vlc/nightly/0001-lua-fix-build-using-lua-5.3.patch b/vlc/nightly/0001-lua-Fix-build-using-lua-5.3.patch similarity index 74% rename from vlc/nightly/0001-lua-fix-build-using-lua-5.3.patch rename to vlc/nightly/0001-lua-Fix-build-using-lua-5.3.patch index 0acbb211..e7a20c01 100644 --- a/vlc/nightly/0001-lua-fix-build-using-lua-5.3.patch +++ b/vlc/nightly/0001-lua-Fix-build-using-lua-5.3.patch @@ -1,14 +1,14 @@ -From 5824efb5fbb8aa00773aa2ff891645d17e68efc8 Mon Sep 17 00:00:00 2001 +From 4d5b19c96894ffe2fd699838b08d91f4ed11a552 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 24 Feb 2018 01:32:40 +0100 -Subject: [PATCH] lua: fix build using lua 5.3 +Subject: [PATCH 1/3] lua: Fix build using lua 5.3 --- modules/lua/vlc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h -index 71f381d334a..b46b5f67a1b 100644 +index 71f381d334..b46b5f67a1 100644 --- a/modules/lua/vlc.h +++ b/modules/lua/vlc.h @@ -38,6 +38,7 @@ @@ -19,3 +19,6 @@ index 71f381d334a..b46b5f67a1b 100644 #define LUA_COMPAT_MODULE #include /* Low level lua C API */ #include /* Higher level C API */ +-- +2.17.0 + diff --git a/vlc/nightly/0002-Fix-compatibility-with-OpenCV-3.4.1.patch b/vlc/nightly/0002-Fix-compatibility-with-OpenCV-3.4.1.patch index d44a4fa9..a71e2678 100644 --- a/vlc/nightly/0002-Fix-compatibility-with-OpenCV-3.4.1.patch +++ b/vlc/nightly/0002-Fix-compatibility-with-OpenCV-3.4.1.patch @@ -1,14 +1,15 @@ -From 5897545a4149c68e3996cfbe1e13894f03aaa307 Mon Sep 17 00:00:00 2001 +From 1424be0fc4a3239273d77005f4e126f52208a322 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 11 Mar 2018 20:23:42 +0100 -Subject: [PATCH 2/2] Fix compatibility with OpenCV 3.4.1 +Subject: [PATCH 2/3] Fix compatibility with OpenCV 3.4.1 --- - modules/video_filter/Makefile.am | 2 +- - modules/video_filter/{opencv_wrapper.c => opencv_wrapper.cpp} | 6 +++--- - po/POTFILES.in | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - rename modules/video_filter/{opencv_wrapper.c => opencv_wrapper.cpp} (98%) + modules/video_filter/Makefile.am | 2 +- + modules/video_filter/opencv_example.cpp | 4 +- + .../{opencv_wrapper.c => opencv_wrapper.cpp} | 113 +++++++++--------- + po/POTFILES.in | 2 +- + 4 files changed, 62 insertions(+), 59 deletions(-) + rename modules/video_filter/{opencv_wrapper.c => opencv_wrapper.cpp} (82%) diff --git a/modules/video_filter/Makefile.am b/modules/video_filter/Makefile.am index af190d16e3..d1703a7ed3 100644 @@ -23,11 +24,33 @@ index af190d16e3..d1703a7ed3 100644 libopencv_wrapper_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(OPENCV_CFLAGS) libopencv_wrapper_plugin_la_LIBADD = $(OPENCV_LIBS) libopencv_wrapper_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(video_filterdir)' +diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp +index a7a0bd7821..119c40d3fc 100644 +--- a/modules/video_filter/opencv_example.cpp ++++ b/modules/video_filter/opencv_example.cpp +@@ -129,7 +129,7 @@ static int OpenFilter( vlc_object_t *p_this ) + static void CloseFilter( vlc_object_t *p_this ) + { + filter_t *p_filter = (filter_t*)p_this; +- filter_sys_t *p_sys = p_filter->p_sys; ++ filter_sys_t *p_sys = reinterpret_cast(p_filter->p_sys); + + if( p_sys->p_cascade ) + cvReleaseHaarClassifierCascade( &p_sys->p_cascade ); +@@ -151,7 +151,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) + IplImage** p_img = NULL; + CvPoint pt1, pt2; + int scale = 1; +- filter_sys_t *p_sys = p_filter->p_sys; ++ filter_sys_t *p_sys = reinterpret_cast(p_filter->p_sys); + + if ((!p_pic) ) + { diff --git a/modules/video_filter/opencv_wrapper.c b/modules/video_filter/opencv_wrapper.cpp -similarity index 98% +similarity index 82% rename from modules/video_filter/opencv_wrapper.c rename to modules/video_filter/opencv_wrapper.cpp -index 525e55db1b..1e4f19c871 100644 +index ed48fe1f67..dade9b2f6c 100644 --- a/modules/video_filter/opencv_wrapper.c +++ b/modules/video_filter/opencv_wrapper.cpp @@ -154,7 +154,7 @@ static int Create( vlc_object_t *p_this ) @@ -39,29 +62,230 @@ index 525e55db1b..1e4f19c871 100644 if( p_filter->p_sys == NULL ) return VLC_ENOMEM; -@@ -167,7 +167,7 @@ static int Create( vlc_object_t *p_this ) +@@ -167,39 +167,40 @@ static int Create( vlc_object_t *p_this ) * We don't need to set up video formats for this filter as it not * actually using a picture_t. */ - p_filter->p_sys->p_opencv = vlc_object_create( p_filter, sizeof(filter_t) ); -+ p_filter->p_sys->p_opencv = reinterpret_cast( vlc_object_create( p_filter, sizeof(filter_t) ) ); - if( !p_filter->p_sys->p_opencv ) { +- if( !p_filter->p_sys->p_opencv ) { ++ auto *p_filter_sys = reinterpret_cast(p_filter->p_sys); ++ p_filter_sys->p_opencv = reinterpret_cast( vlc_object_create( p_filter, sizeof(filter_t) ) ); ++ if( !p_filter_sys->p_opencv ) { free( p_filter->p_sys ); return VLC_ENOMEM; -@@ -315,7 +315,7 @@ static void VlcPictureToIplImage( filter_t* p_filter, picture_t* p_in ) + } + +- p_filter->p_sys->psz_inner_name = var_InheritString( p_filter, "opencv-filter-name" ); +- if( p_filter->p_sys->psz_inner_name ) +- p_filter->p_sys->p_opencv->p_module = +- module_need( p_filter->p_sys->p_opencv, ++ p_filter_sys->psz_inner_name = var_InheritString( p_filter, "opencv-filter-name" ); ++ if( p_filter_sys->psz_inner_name ) ++ p_filter_sys->p_opencv->p_module = ++ module_need( p_filter_sys->p_opencv, + "opencv internal filter", +- p_filter->p_sys->psz_inner_name, ++ p_filter_sys->psz_inner_name, + true ); + +- if( !p_filter->p_sys->p_opencv->p_module ) ++ if( !p_filter_sys->p_opencv->p_module ) + { +- msg_Err( p_filter, "can't open internal opencv filter: %s", p_filter->p_sys->psz_inner_name ); +- free( p_filter->p_sys->psz_inner_name ); +- p_filter->p_sys->psz_inner_name = NULL; +- vlc_object_release( p_filter->p_sys->p_opencv ); +- free( p_filter->p_sys ); ++ msg_Err( p_filter, "can't open internal opencv filter: %s", p_filter_sys->psz_inner_name ); ++ free( p_filter_sys->psz_inner_name ); ++ p_filter_sys->psz_inner_name = NULL; ++ vlc_object_release( p_filter_sys->p_opencv ); ++ free( p_filter_sys ); + + return VLC_ENOMOD; + } + + + /* Init structure */ +- p_filter->p_sys->p_image = image_HandlerCreate( p_filter ); ++ p_filter_sys->p_image = image_HandlerCreate( p_filter ); + for( int i = 0; i < VOUT_MAX_PLANES; i++ ) +- p_filter->p_sys->p_cv_image[i] = NULL; +- p_filter->p_sys->p_proc_image = NULL; +- p_filter->p_sys->p_to_be_freed = NULL; +- p_filter->p_sys->i_cv_image_size = 0; ++ p_filter_sys->p_cv_image[i] = NULL; ++ p_filter_sys->p_proc_image = NULL; ++ p_filter_sys->p_to_be_freed = NULL; ++ p_filter_sys->i_cv_image_size = 0; + + /* Retrieve and apply config */ + psz_chroma = var_InheritString( p_filter, "opencv-chroma" ); +@@ -207,16 +208,16 @@ static int Create( vlc_object_t *p_this ) + { + msg_Err( p_filter, "configuration variable %s empty, using 'grey'", + "opencv-chroma" ); +- p_filter->p_sys->i_internal_chroma = GREY; ++ p_filter_sys->i_internal_chroma = GREY; + } else if( !strcmp( psz_chroma, "input" ) ) +- p_filter->p_sys->i_internal_chroma = CINPUT; ++ p_filter_sys->i_internal_chroma = CINPUT; + else if( !strcmp( psz_chroma, "I420" ) ) +- p_filter->p_sys->i_internal_chroma = GREY; ++ p_filter_sys->i_internal_chroma = GREY; + else if( !strcmp( psz_chroma, "RGB32" ) ) +- p_filter->p_sys->i_internal_chroma = RGB; ++ p_filter_sys->i_internal_chroma = RGB; + else { + msg_Err( p_filter, "no valid opencv-chroma provided, using 'grey'" ); +- p_filter->p_sys->i_internal_chroma = GREY; ++ p_filter_sys->i_internal_chroma = GREY; + } + + free( psz_chroma ); +@@ -226,28 +227,28 @@ static int Create( vlc_object_t *p_this ) + { + msg_Err( p_filter, "configuration variable %s empty, using 'input'", + "opencv-output" ); +- p_filter->p_sys->i_wrapper_output = VINPUT; ++ p_filter_sys->i_wrapper_output = VINPUT; + } else if( !strcmp( psz_output, "none" ) ) +- p_filter->p_sys->i_wrapper_output = NONE; ++ p_filter_sys->i_wrapper_output = NONE; + else if( !strcmp( psz_output, "input" ) ) +- p_filter->p_sys->i_wrapper_output = VINPUT; ++ p_filter_sys->i_wrapper_output = VINPUT; + else if( !strcmp( psz_output, "processed" ) ) +- p_filter->p_sys->i_wrapper_output = PROCESSED; ++ p_filter_sys->i_wrapper_output = PROCESSED; + else { + msg_Err( p_filter, "no valid opencv-output provided, using 'input'" ); +- p_filter->p_sys->i_wrapper_output = VINPUT; ++ p_filter_sys->i_wrapper_output = VINPUT; + } + free( psz_output ); + +- p_filter->p_sys->f_scale = ++ p_filter_sys->f_scale = + var_InheritFloat( p_filter, "opencv-scale" ); + + msg_Info(p_filter, "Configuration: opencv-scale: %f, opencv-chroma: %d, " + "opencv-output: %d, opencv-filter %s", +- p_filter->p_sys->f_scale, +- p_filter->p_sys->i_internal_chroma, +- p_filter->p_sys->i_wrapper_output, +- p_filter->p_sys->psz_inner_name); ++ p_filter_sys->f_scale, ++ p_filter_sys->i_internal_chroma, ++ p_filter_sys->i_wrapper_output, ++ p_filter_sys->psz_inner_name); + + #ifndef NDEBUG + msg_Dbg( p_filter, "opencv_wrapper successfully started" ); +@@ -269,11 +270,12 @@ static void Destroy( vlc_object_t *p_this ) + ReleaseImages( p_filter ); + + // Release the internal OpenCV filter. +- module_unneed( p_filter->p_sys->p_opencv, p_filter->p_sys->p_opencv->p_module ); +- vlc_object_release( p_filter->p_sys->p_opencv ); +- p_filter->p_sys->p_opencv = NULL; ++ auto *p_filter_sys = reinterpret_cast(p_filter->p_sys); ++ module_unneed( p_filter_sys->p_opencv, p_filter_sys->p_opencv->p_module ); ++ vlc_object_release( p_filter_sys->p_opencv ); ++ p_filter_sys->p_opencv = NULL; + +- free( p_filter->p_sys ); ++ free( p_filter_sys ); + } + + /***************************************************************************** +@@ -281,7 +283,7 @@ static void Destroy( vlc_object_t *p_this ) + *****************************************************************************/ + static void ReleaseImages( filter_t* p_filter ) + { +- filter_sys_t* p_sys = p_filter->p_sys; ++ filter_sys_t* p_sys = reinterpret_cast(p_filter->p_sys); + + for( int i = 0; i < VOUT_MAX_PLANES; i++ ) + { +@@ -315,9 +317,9 @@ static void VlcPictureToIplImage( filter_t* p_filter, picture_t* p_in ) { int planes = p_in->i_planes; //num input video planes // input video size - CvSize sz = cvSize(abs(p_in->format.i_width), abs(p_in->format.i_height)); + CvSize sz = cvSize(abs(static_cast(p_in->format.i_width)), abs(static_cast(p_in->format.i_height))); video_format_t fmt_out; - filter_sys_t* p_sys = p_filter->p_sys; +- filter_sys_t* p_sys = p_filter->p_sys; ++ filter_sys_t* p_sys = reinterpret_cast(p_filter->p_sys); + memset( &fmt_out, 0, sizeof(video_format_t) ); + +@@ -413,20 +415,21 @@ static picture_t* Filter( filter_t* p_filter, picture_t* p_pic ) + video_format_t fmt_out; + + // Make a copy if we want to show the original input +- if (p_filter->p_sys->i_wrapper_output == VINPUT) ++ auto *p_filter_sys = reinterpret_cast(p_filter->p_sys); ++ if (p_filter_sys->i_wrapper_output == VINPUT) + picture_Copy( p_outpic, p_pic ); + + VlcPictureToIplImage( p_filter, p_pic ); + // Pass the image (as a pointer to the first IplImage*) to the + // internal OpenCV filter for processing. +- p_filter->p_sys->p_opencv->pf_video_filter( p_filter->p_sys->p_opencv, (picture_t*)&(p_filter->p_sys->p_cv_image[0]) ); ++ p_filter_sys->p_opencv->pf_video_filter( p_filter_sys->p_opencv, (picture_t*)&(p_filter_sys->p_cv_image[0]) ); + +- if(p_filter->p_sys->i_wrapper_output == PROCESSED) { ++ if(p_filter_sys->i_wrapper_output == PROCESSED) { + // Processed video +- if( (p_filter->p_sys->p_proc_image) && +- (p_filter->p_sys->p_proc_image->i_planes > 0) && +- (p_filter->p_sys->i_internal_chroma != CINPUT) ) { +- //p_filter->p_sys->p_proc_image->format.i_chroma = VLC_CODEC_RGB24; ++ if( (p_filter_sys->p_proc_image) && ++ (p_filter_sys->p_proc_image->i_planes > 0) && ++ (p_filter_sys->i_internal_chroma != CINPUT) ) { ++ //p_filter_sys->p_proc_image->format.i_chroma = VLC_CODEC_RGB24; + + memset( &fmt_out, 0, sizeof(video_format_t) ); + fmt_out = p_pic->format; +@@ -438,16 +441,16 @@ static picture_t* Filter( filter_t* p_filter, picture_t* p_pic ) + * main video output error: pictures leaked, trying to workaround + */ + picture_t* p_outpic_tmp = image_Convert( +- p_filter->p_sys->p_image, +- p_filter->p_sys->p_proc_image, +- &(p_filter->p_sys->p_proc_image->format), ++ p_filter_sys->p_image, ++ p_filter_sys->p_proc_image, ++ &(p_filter_sys->p_proc_image->format), + &fmt_out ); + + picture_CopyPixels( p_outpic, p_outpic_tmp ); + CopyInfoAndRelease( p_outpic, p_outpic_tmp ); +- } else if( p_filter->p_sys->i_internal_chroma == CINPUT ) { +- picture_CopyPixels( p_outpic, p_filter->p_sys->p_proc_image ); +- picture_CopyProperties( p_outpic, p_filter->p_sys->p_proc_image ); ++ } else if( p_filter_sys->i_internal_chroma == CINPUT ) { ++ picture_CopyPixels( p_outpic, p_filter_sys->p_proc_image ); ++ picture_CopyProperties( p_outpic, p_filter_sys->p_proc_image ); + } + } + +@@ -458,7 +461,7 @@ static picture_t* Filter( filter_t* p_filter, picture_t* p_pic ) + msg_Dbg( p_filter, "Filter() done" ); + #endif + +- if( p_filter->p_sys->i_wrapper_output != NONE ) { ++ if( p_filter_sys->i_wrapper_output != NONE ) { + return p_outpic; + } else { // NONE + picture_Release( p_outpic ); diff --git a/po/POTFILES.in b/po/POTFILES.in -index 528249a98c..78d2128373 100644 +index 665e02002a..82130b14cc 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in -@@ -1145,7 +1145,7 @@ modules/video_filter/motionblur.c +@@ -1142,7 +1142,7 @@ modules/video_filter/motionblur.c modules/video_filter/motiondetect.c modules/video_filter/oldmovie.c modules/video_filter/opencv_example.cpp @@ -71,5 +295,5 @@ index 528249a98c..78d2128373 100644 modules/video_filter/postproc.c modules/video_filter/psychedelic.c -- -2.16.2 +2.17.0 diff --git a/vlc/nightly/0003-Fix-compilation-with-Qt-5.11.patch b/vlc/nightly/0003-Fix-compilation-with-Qt-5.11.patch new file mode 100644 index 00000000..95739b82 --- /dev/null +++ b/vlc/nightly/0003-Fix-compilation-with-Qt-5.11.patch @@ -0,0 +1,24 @@ +From b086eb86b55868d61316996ac346bde57408d5a8 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Sat, 26 May 2018 15:12:05 +0200 +Subject: [PATCH 3/3] Fix compilation with Qt 5.11 + +--- + modules/gui/qt/components/simple_preferences.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules/gui/qt/components/simple_preferences.cpp b/modules/gui/qt/components/simple_preferences.cpp +index 7a9c2dbf28..afdcf64672 100644 +--- a/modules/gui/qt/components/simple_preferences.cpp ++++ b/modules/gui/qt/components/simple_preferences.cpp +@@ -33,6 +33,7 @@ + #include + #include + ++#include + #include + #include + #include +-- +2.17.0 + diff --git a/vlc/nightly/PKGBUILD b/vlc/nightly/PKGBUILD index 2bca3ac7..2f143fa7 100644 --- a/vlc/nightly/PKGBUILD +++ b/vlc/nightly/PKGBUILD @@ -5,10 +5,10 @@ _appname_=vlc pkgname=${_appname_}-nightly -pkgver=4.0.0v20180517 +pkgver=4.0.0v20180520 _pkgver=4.0.0 -_snapshot_=20180517 -_snapver_=0239 +_snapshot_=20180520 +_snapver_=0236 _suffix_=dev _nightly_=${_snapshot_}-${_snapver_} pkgrel=1 @@ -34,7 +34,7 @@ makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray' 'libsamplerate' 'libsoxr' 'lirc' 'libgoom2' 'projectm' 'chromaprint' - 'libfdk-aac' 'portaudio' 'sidplay2-libs' 'daala-git' 'sndio') + 'libfdk-aac' 'portaudio' 'sidplay2-libs' 'sndio') optdepends=('avahi: service discovery using bonjour protocol' 'gst-plugins-base-libs: for libgst plugins' 'libdvdcss: decoding encrypted DVDs' @@ -103,16 +103,17 @@ optdepends=('avahi: service discovery using bonjour protocol' 'vcdimager: navigate VCD with libvcdinfo' 'schroedinger: schroedinger codec support' 'sidplay2-libs: for C64 sid demuxer' - 'daala-git: for Daala video support' 'sndio: for OpenBSD sndio audio output') +# note: removing 'daala-git: for Daala video support' because it is currently broken conflicts=("${_appname_}-plugin" "${_appname_}") provides=("${_appname_}") replaces=("${_appname_}-plugin") options=('!emptydirs') source=("http://nightlies.videolan.org/build/source/vlc-${_pkgver}-${_nightly_}-${_suffix_}.tar.xz" 'update-vlc-plugin-cache.hook' - '0001-lua-fix-build-using-lua-5.3.patch' + '0001-lua-Fix-build-using-lua-5.3.patch' '0002-Fix-compatibility-with-OpenCV-3.4.1.patch' + '0003-Fix-compilation-with-Qt-5.11.patch' 'find-deps.py') pkgver() { @@ -124,8 +125,9 @@ prepare() { ./bootstrap - patch -Np1 -i "${srcdir}/0001-lua-fix-build-using-lua-5.3.patch" + patch -Np1 -i "${srcdir}/0001-lua-Fix-build-using-lua-5.3.patch" patch -Np1 -i "${srcdir}/0002-Fix-compatibility-with-OpenCV-3.4.1.patch" + patch -Np1 -i "${srcdir}/0003-Fix-compilation-with-Qt-5.11.patch" sed -i -e 's:truetype/ttf-dejavu:TTF:g' modules/visualization/projectm.cpp sed -i -e 's:truetype/freefont:TTF:g' modules/text_renderer/freetype/freetype.c sed 's|whoami|echo builduser|g' -i configure @@ -233,8 +235,8 @@ build() { --enable-vlc \ \ --libexecdir=/usr/lib \ - --enable-daala \ --enable-fdkaac + # note: removing --enable-daala for now because it is currently broken make V=1 } @@ -258,8 +260,9 @@ package() { # depends=("${_detected_depends[@]}" "${_undetected_depends[@]}") } -sha256sums=('03c72248daf58d08aa6cf039a83b730787c9f1f73d8134bad33665e6df06cc0b' +sha256sums=('4ff76580ca9fdc349a086ab6d8d2105bc51cb9c766fb488ef4f8ce47d08122dd' 'c6f60c50375ae688755557dbfc5bd4a90a8998f8cf4d356c10d872a1a0b44f3a' - '75ad8802bad1a79754e40fd107f5a6922c54f7467dadef8b439b49d410c8f7d2' - '4e5c7582b2c1090e598710a6afa6062348f4e87b3909c3d9f12f12e08e0eea6c' + 'a9400046090b4713edbae14f50afca0ff36335b69fd0d2d082c35eea35e97c15' + 'ca3e7c38a335551fe8b0c8d3e270cca3a6f70ffd06ec82880b26a0f78ac1ea39' + 'e64e37f98862aa14077a48ba313e590677f768e82d4cd9b01b194bdf4146bf7d' '90b0e34d5772d2307ba07a1c2aa715db7488389003cfe6d3570b2a9c63061db7')