From owner-svn-ports-all@freebsd.org Sun Dec 30 07:59:58 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6EF1C141B24C; Sun, 30 Dec 2018 07:59:58 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1479673120; Sun, 30 Dec 2018 07:59:58 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 054EA1FF96; Sun, 30 Dec 2018 07:59:58 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wBU7xvvo000440; Sun, 30 Dec 2018 07:59:57 GMT (envelope-from riggs@FreeBSD.org) Received: (from riggs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wBU7xvn7000437; Sun, 30 Dec 2018 07:59:57 GMT (envelope-from riggs@FreeBSD.org) Message-Id: <201812300759.wBU7xvn7000437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: riggs set sender to riggs@FreeBSD.org using -f From: Thomas Zander Date: Sun, 30 Dec 2018 07:59:57 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r488703 - in head/multimedia/vlc3: . files X-SVN-Group: ports-head X-SVN-Commit-Author: riggs X-SVN-Commit-Paths: in head/multimedia/vlc3: . files X-SVN-Commit-Revision: 488703 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 1479673120 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.93 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.93)[-0.935,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-0.998,0] X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Dec 2018 07:59:58 -0000 Author: riggs Date: Sun Dec 30 07:59:57 2018 New Revision: 488703 URL: https://svnweb.freebsd.org/changeset/ports/488703 Log: Update to upstream version 3.0.5 Deleted: head/multimedia/vlc3/files/patch-git_a8953ba Modified: head/multimedia/vlc3/Makefile head/multimedia/vlc3/distinfo head/multimedia/vlc3/files/patch-dav1d head/multimedia/vlc3/files/patch-modules_codec_aom.c Modified: head/multimedia/vlc3/Makefile ============================================================================== --- head/multimedia/vlc3/Makefile Sun Dec 30 07:11:20 2018 (r488702) +++ head/multimedia/vlc3/Makefile Sun Dec 30 07:59:57 2018 (r488703) @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= vlc -DISTVERSION= 3.0.4 -PORTREVISION= 9 +DISTVERSION= 3.0.5 PORTEPOCH= 4 CATEGORIES= multimedia audio ipv6 net www MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \ Modified: head/multimedia/vlc3/distinfo ============================================================================== --- head/multimedia/vlc3/distinfo Sun Dec 30 07:11:20 2018 (r488702) +++ head/multimedia/vlc3/distinfo Sun Dec 30 07:59:57 2018 (r488703) @@ -1,3 +1,3 @@ -TIMESTAMP = 1537685449 -SHA256 (vlc-3.0.4.tar.xz) = 01f3db3790714038c01f5e23c709e31ecd6f1c046ac93d19e1dde38b3fc05a9e -SIZE (vlc-3.0.4.tar.xz) = 24934112 +TIMESTAMP = 1546088783 +SHA256 (vlc-3.0.5.tar.xz) = f5c087dfebd4827052bf3b97996b3a05c79ae336dcb60a9e8d1a010f270072db +SIZE (vlc-3.0.5.tar.xz) = 25700560 Modified: head/multimedia/vlc3/files/patch-dav1d ============================================================================== --- head/multimedia/vlc3/files/patch-dav1d Sun Dec 30 07:11:20 2018 (r488702) +++ head/multimedia/vlc3/files/patch-dav1d Sun Dec 30 07:59:57 2018 (r488703) @@ -1,351 +1,3 @@ -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=3f8eb17e49 -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=059b9e563b -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=eda959e89a -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=3fda6ce5fb -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=e817a73ae8 -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=1d6029cc75 -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=8ff6e5b509 -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=500fe27a07 -https://git.videolan.org/?p=vlc.git;a=commitdiff;h=9b35183b84 - ---- configure.orig 2018-08-09 08:56:33 UTC -+++ configure -@@ -1124,6 +1124,12 @@ CPPFLAGS_vpx - LTLIBvpx - VPX_LIBS - VPX_CFLAGS -+DAV1D_LIBS -+DAV1D_CFLAGS -+LIBS_dav1d -+CFLAGS_dav1d -+CPPFLAGS_dav1d -+LTLIBdav1d - AOM_LIBS - AOM_CFLAGS - LIBS_aom -@@ -1730,6 +1736,7 @@ enable_swscale - enable_postproc - enable_faad - enable_aom -+enable_dav1d - enable_vpx - enable_twolame - enable_fdkaac -@@ -1943,6 +1950,8 @@ POSTPROC_CFLAGS - POSTPROC_LIBS - AOM_CFLAGS - AOM_LIBS -+DAV1D_CFLAGS -+DAV1D_LIBS - VPX_CFLAGS - VPX_LIBS - TWOLAME_CFLAGS -@@ -2867,6 +2876,7 @@ Codec plugins: - --enable-postproc libpostproc image post-processing (default auto) - --enable-faad faad codec (default auto) - --enable-aom experimental AV1 codec (default auto) [default=auto] -+ --enable-dav1d AV1 decoder (default auto) [default=auto] - --enable-vpx libvpx VP8/VP9 encoder and decoder (default auto) - --enable-twolame MPEG Audio Layer 2 encoder [default=auto] - --enable-fdkaac FDK-AAC encoder [default=disabled] -@@ -3167,6 +3177,9 @@ Some influential environment variables: - linker flags for POSTPROC, overriding pkg-config - AOM_CFLAGS C compiler flags for AOM, overriding pkg-config - AOM_LIBS linker flags for AOM, overriding pkg-config -+ DAV1D_CFLAGS -+ C compiler flags for DAV1D, overriding pkg-config -+ DAV1D_LIBS linker flags for DAV1D, overriding pkg-config - VPX_CFLAGS C compiler flags for VPX, overriding pkg-config - VPX_LIBS linker flags for VPX, overriding pkg-config - TWOLAME_CFLAGS -@@ -41023,6 +41036,251 @@ $as_echo "yes" >&6; } - - - eval "LIBS_aom="'"'"$AOM_LIBS "'$'"{LIBS_aom}"'"' -+ -+ -+ -+fi ;; #( -+ *) : -+ ;; -+esac -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+# Check whether --enable-dav1d was given. -+if test "${enable_dav1d+set}" = set; then : -+ enableval=$enable_dav1d; -+else -+ enable_dav1d=auto -+fi -+ -+ -+case $enable_dav1d in #( -+ yes) : -+ -+pkg_failed=no -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAV1D" >&5 -+$as_echo_n "checking for DAV1D... " >&6; } -+ -+if test -n "$DAV1D_CFLAGS"; then -+ pkg_cv_DAV1D_CFLAGS="$DAV1D_CFLAGS" -+ elif test -n "$PKG_CONFIG"; then -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dav1d\""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "dav1d") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_DAV1D_CFLAGS=`$PKG_CONFIG --cflags "dav1d" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes -+else -+ pkg_failed=yes -+fi -+ else -+ pkg_failed=untried -+fi -+if test -n "$DAV1D_LIBS"; then -+ pkg_cv_DAV1D_LIBS="$DAV1D_LIBS" -+ elif test -n "$PKG_CONFIG"; then -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dav1d\""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "dav1d") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_DAV1D_LIBS=`$PKG_CONFIG --libs "dav1d" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes -+else -+ pkg_failed=yes -+fi -+ else -+ pkg_failed=untried -+fi -+ -+ -+ -+if test $pkg_failed = yes; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ -+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -+ _pkg_short_errors_supported=yes -+else -+ _pkg_short_errors_supported=no -+fi -+ if test $_pkg_short_errors_supported = yes; then -+ DAV1D_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "dav1d" 2>&1` -+ else -+ DAV1D_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "dav1d" 2>&1` -+ fi -+ # Put the nasty error message in config.log where it belongs -+ echo "$DAV1D_PKG_ERRORS" >&5 -+ -+ if test x"$enable_dav1d" = "xyes"; then : -+ as_fn_error $? "Library dav1d needed for dav1d was not found" "$LINENO" 5 -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Library dav1d needed for dav1d was not found" >&5 -+$as_echo "$as_me: WARNING: Library dav1d needed for dav1d was not found" >&2;} -+ -+fi -+elif test $pkg_failed = untried; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ if test x"$enable_dav1d" = "xyes"; then : -+ as_fn_error $? "Library dav1d needed for dav1d was not found" "$LINENO" 5 -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Library dav1d needed for dav1d was not found" >&5 -+$as_echo "$as_me: WARNING: Library dav1d needed for dav1d was not found" >&2;} -+ -+fi -+else -+ DAV1D_CFLAGS=$pkg_cv_DAV1D_CFLAGS -+ DAV1D_LIBS=$pkg_cv_DAV1D_LIBS -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+ LTLIBdav1d=libdav1d_plugin.la -+ -+ -+ -+ -+ -+ -+ eval "CFLAGS_dav1d="'"$'"{CFLAGS_dav1d} $DAV1D_CFLAGS "'"' -+ -+ -+ -+ -+ -+ eval "LIBS_dav1d="'"'"$DAV1D_LIBS "'$'"{LIBS_dav1d}"'"' -+ -+ -+ -+fi ;; #( -+ auto) : -+ -+pkg_failed=no -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAV1D" >&5 -+$as_echo_n "checking for DAV1D... " >&6; } -+ -+if test -n "$DAV1D_CFLAGS"; then -+ pkg_cv_DAV1D_CFLAGS="$DAV1D_CFLAGS" -+ elif test -n "$PKG_CONFIG"; then -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dav1d\""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "dav1d") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_DAV1D_CFLAGS=`$PKG_CONFIG --cflags "dav1d" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes -+else -+ pkg_failed=yes -+fi -+ else -+ pkg_failed=untried -+fi -+if test -n "$DAV1D_LIBS"; then -+ pkg_cv_DAV1D_LIBS="$DAV1D_LIBS" -+ elif test -n "$PKG_CONFIG"; then -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dav1d\""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "dav1d") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_DAV1D_LIBS=`$PKG_CONFIG --libs "dav1d" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes -+else -+ pkg_failed=yes -+fi -+ else -+ pkg_failed=untried -+fi -+ -+ -+ -+if test $pkg_failed = yes; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ -+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -+ _pkg_short_errors_supported=yes -+else -+ _pkg_short_errors_supported=no -+fi -+ if test $_pkg_short_errors_supported = yes; then -+ DAV1D_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "dav1d" 2>&1` -+ else -+ DAV1D_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "dav1d" 2>&1` -+ fi -+ # Put the nasty error message in config.log where it belongs -+ echo "$DAV1D_PKG_ERRORS" >&5 -+ -+ enable_dav1d=no -+ if test x"$enable_dav1d" = "xyes"; then : -+ as_fn_error $? "Library dav1d needed for dav1d was not found" "$LINENO" 5 -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Library dav1d needed for dav1d was not found" >&5 -+$as_echo "$as_me: WARNING: Library dav1d needed for dav1d was not found" >&2;} -+ -+fi -+elif test $pkg_failed = untried; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ enable_dav1d=no -+ if test x"$enable_dav1d" = "xyes"; then : -+ as_fn_error $? "Library dav1d needed for dav1d was not found" "$LINENO" 5 -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Library dav1d needed for dav1d was not found" >&5 -+$as_echo "$as_me: WARNING: Library dav1d needed for dav1d was not found" >&2;} -+ -+fi -+else -+ DAV1D_CFLAGS=$pkg_cv_DAV1D_CFLAGS -+ DAV1D_LIBS=$pkg_cv_DAV1D_LIBS -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+ enable_dav1d=yes -+ -+ -+ LTLIBdav1d=libdav1d_plugin.la -+ -+ -+ -+ -+ -+ -+ eval "CFLAGS_dav1d="'"$'"{CFLAGS_dav1d} $DAV1D_CFLAGS "'"' -+ -+ -+ -+ -+ -+ eval "LIBS_dav1d="'"'"$DAV1D_LIBS "'$'"{LIBS_dav1d}"'"' - - - ---- contrib/src/dav1d/rules.mak.orig 2018-12-16 15:16:32 UTC -+++ contrib/src/dav1d/rules.mak -@@ -0,0 +1,33 @@ -+# libdav1d -+ -+DAV1D_VERSION := 0.1.0 -+DAV1D_URL := $(VIDEOLAN)/dav1d/$(DAV1D_VERSION)/dav1d-$(DAV1D_VERSION).tar.xz -+#~ DAV1D_HASH := 8c95771dfa7a0bdb542eef8924bd0d3009e5efff -+#~ DAV1D_VERSION := git-$(DAV1D_HASH) -+#~ DAV1D_GITURL := https://code.videolan.org/videolan/dav1d.git -+ -+PKGS += dav1d -+ifeq ($(call need_pkg,"dav1d"),) -+PKGS_FOUND += dav1d -+endif -+ -+DAV1D_CONF = -D build_tests=false -D build_tools=false -+ifdef HAVE_WIN32 -+DAV1D_CONF += -D win32_ver=false -+endif -+ -+$(TARBALLS)/dav1d-$(DAV1D_VERSION).tar.xz: -+ $(call download_pkg,$(DAV1D_URL),dav1d) -+ #~ $(call download_git,$(DAV1D_URL),,$(DAV1D_HASH)) -+ -+.sum-dav1d: dav1d-$(DAV1D_VERSION).tar.xz -+ -+dav1d: dav1d-$(DAV1D_VERSION).tar.xz .sum-dav1d -+ $(UNPACK) -+ $(MOVE) -+ -+.dav1d: dav1d crossfile.meson -+ cd $< && rm -rf ./build -+ cd $< && $(HOSTVARS_MESON) $(MESON) $(DAV1D_CONF) build -+ cd $< && cd build && ninja install -+ touch $@ --- contrib/src/ffmpeg/rules.mak.orig 2018-04-06 09:31:02 UTC +++ contrib/src/ffmpeg/rules.mak @@ -5,7 +5,7 @@ @@ -357,509 +9,3 @@ https://git.videolan.org/?p=vlc.git;a=commitdiff;h=9b3 FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(FFMPEG_HASH);sf=tgz FFMPEG_GITURL := http://git.videolan.org/git/ffmpeg.git FFMPEG_LAVC_MIN := 57.37.100 ---- modules/Makefile.in.orig 2018-08-21 16:48:28 UTC -+++ modules/Makefile.in -@@ -1389,6 +1389,13 @@ libdaala_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag= - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libdaala_plugin_la_CFLAGS) $(CFLAGS) \ - $(libdaala_plugin_la_LDFLAGS) $(LDFLAGS) -o $@ -+libdav1d_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -+am_libdav1d_plugin_la_OBJECTS = codec/libdav1d_plugin_la-dav1d.lo -+libdav1d_plugin_la_OBJECTS = $(am_libdav1d_plugin_la_OBJECTS) -+libdav1d_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ -+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ -+ $(libdav1d_plugin_la_CFLAGS) $(CFLAGS) \ -+ $(libdav1d_plugin_la_LDFLAGS) $(LDFLAGS) -o $@ - libdbus_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) - am_libdbus_plugin_la_OBJECTS = \ -@@ -5345,6 +5352,7 @@ am__depfiles_remade = \ - codec/$(DEPDIR)/libaom_plugin_la-aom.Plo \ - codec/$(DEPDIR)/libcvpx_plugin_la-vt_utils.Plo \ - codec/$(DEPDIR)/libdaala_plugin_la-daala.Plo \ -+ codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Plo \ - codec/$(DEPDIR)/libdca_plugin_la-dca.Plo \ - codec/$(DEPDIR)/libfaad_plugin_la-faad.Plo \ - codec/$(DEPDIR)/libfdkaac_plugin_la-fdkaac.Plo \ -@@ -6515,7 +6523,7 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_l - $(libcvdsub_plugin_la_SOURCES) $(libcvpx_plugin_la_SOURCES) \ - $(libd3d11_common_la_SOURCES) $(libd3d11va_plugin_la_SOURCES) \ - $(libd3d9_common_la_SOURCES) $(libdaala_plugin_la_SOURCES) \ -- $(libdbus_plugin_la_SOURCES) \ -+ $(libdav1d_plugin_la_SOURCES) $(libdbus_plugin_la_SOURCES) \ - $(libdbus_screensaver_plugin_la_SOURCES) \ - $(libdc1394_plugin_la_SOURCES) $(libdca_plugin_la_SOURCES) \ - $(libdcp_plugin_la_SOURCES) $(libddummy_plugin_la_SOURCES) \ -@@ -6908,7 +6916,7 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plu - $(libcvdsub_plugin_la_SOURCES) $(libcvpx_plugin_la_SOURCES) \ - $(libd3d11_common_la_SOURCES) $(libd3d11va_plugin_la_SOURCES) \ - $(libd3d9_common_la_SOURCES) $(libdaala_plugin_la_SOURCES) \ -- $(libdbus_plugin_la_SOURCES) \ -+ $(libdav1d_plugin_la_SOURCES) $(libdbus_plugin_la_SOURCES) \ - $(libdbus_screensaver_plugin_la_SOURCES) \ - $(libdc1394_plugin_la_SOURCES) $(libdca_plugin_la_SOURCES) \ - $(libdcp_plugin_la_SOURCES) $(libddummy_plugin_la_SOURCES) \ -@@ -8078,6 +8086,7 @@ CFLAGS_avahi = @CFLAGS_avahi@ - CFLAGS_caca = @CFLAGS_caca@ - CFLAGS_cdda = @CFLAGS_cdda@ - CFLAGS_daala = @CFLAGS_daala@ -+CFLAGS_dav1d = @CFLAGS_dav1d@ - CFLAGS_dc1394 = @CFLAGS_dc1394@ - CFLAGS_dca = @CFLAGS_dca@ - CFLAGS_deinterlace = @CFLAGS_deinterlace@ -@@ -8156,6 +8165,7 @@ CPPFLAGS_aribcam = @CPPFLAGS_aribcam@ - CPPFLAGS_avahi = @CPPFLAGS_avahi@ - CPPFLAGS_caca = @CPPFLAGS_caca@ - CPPFLAGS_daala = @CPPFLAGS_daala@ -+CPPFLAGS_dav1d = @CPPFLAGS_dav1d@ - CPPFLAGS_dc1394 = @CPPFLAGS_dc1394@ - CPPFLAGS_dca = @CPPFLAGS_dca@ - CPPFLAGS_decklink = @CPPFLAGS_decklink@ -@@ -8217,6 +8227,8 @@ CXXFLAGS_mod = @CXXFLAGS_mod@ - CYGPATH_W = @CYGPATH_W@ - DAALA_CFLAGS = @DAALA_CFLAGS@ - DAALA_LIBS = @DAALA_LIBS@ -+DAV1D_CFLAGS = @DAV1D_CFLAGS@ -+DAV1D_LIBS = @DAV1D_LIBS@ - DBUS_CFLAGS = @DBUS_CFLAGS@ - DBUS_LIBS = @DBUS_LIBS@ - DC1394_CFLAGS = @DC1394_CFLAGS@ -@@ -8353,6 +8365,7 @@ LIBS_caca = @LIBS_caca@ - LIBS_cdda = @LIBS_cdda@ - LIBS_crystalhd = @LIBS_crystalhd@ - LIBS_daala = @LIBS_daala@ -+LIBS_dav1d = @LIBS_dav1d@ - LIBS_dc1394 = @LIBS_dc1394@ - LIBS_dca = @LIBS_dca@ - LIBS_dsm = @LIBS_dsm@ -@@ -8464,6 +8477,7 @@ LTLIBcdda = @LTLIBcdda@ - LTLIBcrystalhd = @LTLIBcrystalhd@ - LTLIBcvpx = @LTLIBcvpx@ - LTLIBdaala = @LTLIBdaala@ -+LTLIBdav1d = @LTLIBdav1d@ - LTLIBdc1394 = @LTLIBdc1394@ - LTLIBdca = @LTLIBdca@ - LTLIBdirect3d11 = @LTLIBdirect3d11@ -@@ -8892,17 +8906,18 @@ EXTRA_LTLIBRARIES = libaccess_qtsound_plugin.la libdc1 - libomxil_plugin.la libomxil_vout_plugin.la libx265_plugin.la \ - libx262_plugin.la libx264_plugin.la libx26410b_plugin.la \ - libfdkaac_plugin.la libshine_plugin.la libvpx_plugin.la \ -- libaom_plugin.la libtwolame_plugin.la libcrystalhd_plugin.la \ -- libqsv_plugin.la libogg_plugin.la libmod_plugin.la \ -- libmpc_plugin.la libgme_plugin.la libsid_plugin.la \ -- libmkv_plugin.la libminimal_macosx_plugin.la $(am__append_140) \ -- libdirect3d11_filters_plugin.la libsecret_plugin.la \ -- libkwallet_plugin.la libtaglib_plugin.la libgnutls_plugin.la \ -- libxml_plugin.la libosx_notifications_plugin.la \ -- libnotify_plugin.la libavahi_plugin.la libmtp_plugin.la \ -- libupnp_plugin.la libudev_plugin.la libmicrodns_plugin.la \ -- libaribcam_plugin.la libarchive_plugin.la libsvg_plugin.la \ -- libswscale_plugin.la libchroma_omx_plugin.la libcvpx_plugin.la \ -+ libaom_plugin.la libtwolame_plugin.la libdav1d_plugin.la \ -+ libcrystalhd_plugin.la libqsv_plugin.la libogg_plugin.la \ -+ libmod_plugin.la libmpc_plugin.la libgme_plugin.la \ -+ libsid_plugin.la libmkv_plugin.la libminimal_macosx_plugin.la \ -+ $(am__append_140) libdirect3d11_filters_plugin.la \ -+ libsecret_plugin.la libkwallet_plugin.la libtaglib_plugin.la \ -+ libgnutls_plugin.la libxml_plugin.la \ -+ libosx_notifications_plugin.la libnotify_plugin.la \ -+ libavahi_plugin.la libmtp_plugin.la libupnp_plugin.la \ -+ libudev_plugin.la libmicrodns_plugin.la libaribcam_plugin.la \ -+ libarchive_plugin.la libsvg_plugin.la libswscale_plugin.la \ -+ libchroma_omx_plugin.la libcvpx_plugin.la \ - libopencv_wrapper_plugin.la libpostproc_plugin.la \ - libopencv_example_plugin.la libgles2_plugin.la \ - $(am__append_229) libdirect3d11_plugin.la $(am__append_234) \ -@@ -9483,8 +9498,8 @@ codec_LTLIBRARIES = libddummy_plugin.la $(am__append_6 - $(am__append_90) $(LTLIBomxil) $(LTLIBomxil_vout) \ - $(am__append_92) $(LTLIBx265) $(LTLIBx262) $(LTLIBx264) \ - $(LTLIBx26410b) $(LTLIBfdkaac) $(LTLIBshine) $(LTLIBvpx) \ -- $(LTLIBaom) $(LTLIBtwolame) $(LTLIBcrystalhd) $(LTLIBqsv) \ -- $(am__append_94) $(am__append_95) -+ $(LTLIBaom) $(LTLIBtwolame) $(LTLIBdav1d) $(LTLIBcrystalhd) \ -+ $(LTLIBqsv) $(am__append_94) $(am__append_95) - libddummy_plugin_la_SOURCES = codec/ddummy.c - libedummy_plugin_la_SOURCES = codec/edummy.c - -@@ -9806,6 +9821,11 @@ libtwolame_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DLIBTW - libtwolame_plugin_la_CFLAGS = $(AM_CFLAGS) $(TWOLAME_CFLAGS) - libtwolame_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' - libtwolame_plugin_la_LIBADD = $(TWOLAME_LIBS) $(LIBM) -+libdav1d_plugin_la_SOURCES = codec/dav1d.c -+libdav1d_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(DAV1D_CFLAGS) -+libdav1d_plugin_la_CFLAGS = $(AM_CFLAGS) -+libdav1d_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' -+libdav1d_plugin_la_LIBADD = $(DAV1D_LIBS) - - ### Hardware encoders ### - libcrystalhd_plugin_la_SOURCES = codec/crystalhd.c packetizer/h264_nal.c packetizer/h264_nal.h -@@ -14851,6 +14871,11 @@ codec/libdaala_plugin_la-daala.lo: codec/$(am__dirstam - - libdaala_plugin.la: $(libdaala_plugin_la_OBJECTS) $(libdaala_plugin_la_DEPENDENCIES) $(EXTRA_libdaala_plugin_la_DEPENDENCIES) - $(AM_V_CCLD)$(libdaala_plugin_la_LINK) $(libdaala_plugin_la_OBJECTS) $(libdaala_plugin_la_LIBADD) $(LIBS) -+codec/libdav1d_plugin_la-dav1d.lo: codec/$(am__dirstamp) \ -+ codec/$(DEPDIR)/$(am__dirstamp) -+ -+libdav1d_plugin.la: $(libdav1d_plugin_la_OBJECTS) $(libdav1d_plugin_la_DEPENDENCIES) $(EXTRA_libdav1d_plugin_la_DEPENDENCIES) -+ $(AM_V_CCLD)$(libdav1d_plugin_la_LINK) $(libdav1d_plugin_la_OBJECTS) $(libdav1d_plugin_la_LIBADD) $(LIBS) - control/dbus/$(am__dirstamp): - @$(MKDIR_P) control/dbus - @: > control/dbus/$(am__dirstamp) -@@ -19696,6 +19721,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libaom_plugin_la-aom.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libcvpx_plugin_la-vt_utils.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libdaala_plugin_la-daala.Plo@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libdca_plugin_la-dca.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libfaad_plugin_la-faad.Plo@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@codec/$(DEPDIR)/libfdkaac_plugin_la-fdkaac.Plo@am__quote@ # am--include-marker -@@ -21249,6 +21275,13 @@ codec/libdaala_plugin_la-daala.lo: codec/daala.c - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdaala_plugin_la_CFLAGS) $(CFLAGS) -c -o codec/libdaala_plugin_la-daala.lo `test -f 'codec/daala.c' || echo '$(srcdir)/'`codec/daala.c - -+codec/libdav1d_plugin_la-dav1d.lo: codec/dav1d.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdav1d_plugin_la_CPPFLAGS) $(CPPFLAGS) $(libdav1d_plugin_la_CFLAGS) $(CFLAGS) -MT codec/libdav1d_plugin_la-dav1d.lo -MD -MP -MF codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Tpo -c -o codec/libdav1d_plugin_la-dav1d.lo `test -f 'codec/dav1d.c' || echo '$(srcdir)/'`codec/dav1d.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Tpo codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Plo -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='codec/dav1d.c' object='codec/libdav1d_plugin_la-dav1d.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdav1d_plugin_la_CPPFLAGS) $(CPPFLAGS) $(libdav1d_plugin_la_CFLAGS) $(CFLAGS) -c -o codec/libdav1d_plugin_la-dav1d.lo `test -f 'codec/dav1d.c' || echo '$(srcdir)/'`codec/dav1d.c -+ - control/dbus/libdbus_plugin_la-dbus_root.lo: control/dbus/dbus_root.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdbus_plugin_la_CFLAGS) $(CFLAGS) -MT control/dbus/libdbus_plugin_la-dbus_root.lo -MD -MP -MF control/dbus/$(DEPDIR)/libdbus_plugin_la-dbus_root.Tpo -c -o control/dbus/libdbus_plugin_la-dbus_root.lo `test -f 'control/dbus/dbus_root.c' || echo '$(srcdir)/'`control/dbus/dbus_root.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) control/dbus/$(DEPDIR)/libdbus_plugin_la-dbus_root.Tpo control/dbus/$(DEPDIR)/libdbus_plugin_la-dbus_root.Plo -@@ -28313,6 +28346,7 @@ distclean: distclean-recursive - -rm -f codec/$(DEPDIR)/libaom_plugin_la-aom.Plo - -rm -f codec/$(DEPDIR)/libcvpx_plugin_la-vt_utils.Plo - -rm -f codec/$(DEPDIR)/libdaala_plugin_la-daala.Plo -+ -rm -f codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Plo - -rm -f codec/$(DEPDIR)/libdca_plugin_la-dca.Plo - -rm -f codec/$(DEPDIR)/libfaad_plugin_la-faad.Plo - -rm -f codec/$(DEPDIR)/libfdkaac_plugin_la-fdkaac.Plo -@@ -29667,6 +29701,7 @@ maintainer-clean: maintainer-clean-recursive - -rm -f codec/$(DEPDIR)/libaom_plugin_la-aom.Plo - -rm -f codec/$(DEPDIR)/libcvpx_plugin_la-vt_utils.Plo - -rm -f codec/$(DEPDIR)/libdaala_plugin_la-daala.Plo -+ -rm -f codec/$(DEPDIR)/libdav1d_plugin_la-dav1d.Plo - -rm -f codec/$(DEPDIR)/libdca_plugin_la-dca.Plo - -rm -f codec/$(DEPDIR)/libfaad_plugin_la-faad.Plo - -rm -f codec/$(DEPDIR)/libfdkaac_plugin_la-fdkaac.Plo ---- modules/codec/dav1d.c.orig 2018-12-16 15:16:32 UTC -+++ modules/codec/dav1d.c -@@ -0,0 +1,317 @@ -+/***************************************************************************** -+ * dav1d.c: dav1d decoder (AV1) module -+ ***************************************************************************** -+ * Copyright (C) 2016 VLC authors and VideoLAN -+ * -+ * Authors: Adrien Maglo -+ * Based on aom.c by: Tristan Matthews -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU Lesser General Public License as published by -+ * the Free Software Foundation; either version 2.1 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this program; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. -+ *****************************************************************************/ -+ -+/***************************************************************************** -+ * Preamble -+ *****************************************************************************/ -+#ifdef HAVE_CONFIG_H -+# include "config.h" -+#endif -+ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#include "../demux/mp4/color_config.h" -+ -+/**************************************************************************** -+ * Local prototypes -+ ****************************************************************************/ -+static int OpenDecoder(vlc_object_t *); -+static void CloseDecoder(vlc_object_t *); -+ -+/***************************************************************************** -+ * Module descriptor -+ *****************************************************************************/ -+ -+#define THREAD_FRAMES_TEXT N_("Frames Threads") -+#define THREAD_FRAMES_LONGTEXT N_( "Max number of threads used for frame decoding, default 0=auto" ) -+#define THREAD_TILES_TEXT N_("Tiles Threads") -+#define THREAD_TILES_LONGTEXT N_( "Max number of threads used for tile decoding, default 0=auto" ) -+ -+ -+vlc_module_begin () -+ set_shortname("dav1d") -+ set_description(N_("Dav1d video decoder")) -+ set_capability("video decoder", 10000) -+ set_callbacks(OpenDecoder, CloseDecoder) -+ set_category(CAT_INPUT) -+ set_subcategory(SUBCAT_INPUT_VCODEC) -+ -+ add_integer("dav1d-thread-frames", 0, -+ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false) -+ add_integer("dav1d-thread-tiles", 0, -+ THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false) -+vlc_module_end () -+ -+/***************************************************************************** -+ * decoder_sys_t: libaom decoder descriptor -+ *****************************************************************************/ -+struct decoder_sys_t -+{ -+ Dav1dSettings s; -+ Dav1dContext *c; -+}; -+ -+static const struct -+{ -+ vlc_fourcc_t i_chroma; -+ enum Dav1dPixelLayout i_chroma_id; -+ uint8_t i_bitdepth; -+} chroma_table[] = -+{ -+ {VLC_CODEC_GREY, DAV1D_PIXEL_LAYOUT_I400, 8}, -+ {VLC_CODEC_I420, DAV1D_PIXEL_LAYOUT_I420, 8}, -+ {VLC_CODEC_I422, DAV1D_PIXEL_LAYOUT_I422, 8}, -+ {VLC_CODEC_I444, DAV1D_PIXEL_LAYOUT_I444, 8}, -+ -+ {VLC_CODEC_I420_10L, DAV1D_PIXEL_LAYOUT_I420, 10}, -+ {VLC_CODEC_I422_10L, DAV1D_PIXEL_LAYOUT_I422, 10}, -+ {VLC_CODEC_I444_10L, DAV1D_PIXEL_LAYOUT_I444, 10}, -+}; -+ -+static vlc_fourcc_t FindVlcChroma(const Dav1dPicture *img) -+{ -+ for (unsigned int i = 0; i < ARRAY_SIZE(chroma_table); i++) -+ if (chroma_table[i].i_chroma_id == img->p.layout && -+ chroma_table[i].i_bitdepth == img->p.bpc) -+ return chroma_table[i].i_chroma; -+ -+ return 0; -+} -+ -+static int NewPicture(Dav1dPicture *img, void *cookie) -+{ -+ decoder_t *dec = cookie; -+ -+ video_format_t *v = &dec->fmt_out.video; -+ -+ v->i_visible_width = img->p.w; -+ v->i_visible_height = img->p.h; -+ v->i_width = (img->p.w + 0x7F) & ~0x7F; -+ v->i_height = (img->p.h + 0x7F) & ~0x7F; -+ -+ if( !v->i_sar_num || !v->i_sar_den ) -+ { -+ v->i_sar_num = 1; -+ v->i_sar_den = 1; -+ } -+ -+ if(dec->fmt_in.video.primaries == COLOR_PRIMARIES_UNDEF && img->seq_hdr) -+ { -+ v->primaries = iso_23001_8_cp_to_vlc_primaries(img->seq_hdr->pri); -+ v->transfer = iso_23001_8_tc_to_vlc_xfer(img->seq_hdr->trc); -+ v->space = iso_23001_8_mc_to_vlc_coeffs(img->seq_hdr->mtrx); -+ v->b_color_range_full = img->seq_hdr->color_range; -+ } -+ -+ v->projection_mode = dec->fmt_in.video.projection_mode; -+ v->multiview_mode = dec->fmt_in.video.multiview_mode; -+ v->pose = dec->fmt_in.video.pose; -+ dec->fmt_out.video.i_chroma = dec->fmt_out.i_codec = FindVlcChroma(img); -+ -+ if (decoder_UpdateVideoFormat(dec) == VLC_SUCCESS) -+ { -+ picture_t *pic = decoder_NewPicture(dec); -+ if (likely(pic != NULL)) -+ { -+ img->data[0] = pic->p[0].p_pixels; -+ img->stride[0] = pic->p[0].i_pitch; -+ img->data[1] = pic->p[1].p_pixels; -+ img->data[2] = pic->p[2].p_pixels; -+ assert(pic->p[1].i_pitch == pic->p[2].i_pitch); -+ img->stride[1] = pic->p[1].i_pitch; -+ img->allocator_data = pic; -+ -+ return 0; -+ } -+ } -+ return -1; -+} -+ -+static void FreePicture(Dav1dPicture *data, void *cookie) -+{ -+ picture_t *pic = data->allocator_data; -+ decoder_t *dec = cookie; -+ VLC_UNUSED(dec); -+ picture_Release(pic); -+} -+ -+/**************************************************************************** -+ * Flush: clears decoder between seeks -+ ****************************************************************************/ -+ -+static void FlushDecoder(decoder_t *dec) -+{ -+ decoder_sys_t *p_sys = dec->p_sys; -+ dav1d_flush(p_sys->c); -+} -+ -+static void release_block(const uint8_t *buf, void *b) -+{ -+ VLC_UNUSED(buf); -+ block_t *block = b; -+ block_Release(block); -+} -+ -+/**************************************************************************** -+ * Decode: the whole thing -+ ****************************************************************************/ -+static int Decode(decoder_t *dec, block_t *block) -+{ -+ decoder_sys_t *p_sys = dec->p_sys; -+ -+ if (block && block->i_flags & (BLOCK_FLAG_CORRUPTED)) -+ { -+ block_Release(block); -+ return VLCDEC_SUCCESS; -+ } -+ -+ Dav1dData data; -+ Dav1dData *p_data = NULL; -+ -+ if (block) -+ { -+ p_data = &data; -+ if (unlikely(dav1d_data_wrap(&data, block->p_buffer, block->i_buffer, -+ release_block, block) != 0)) -+ { -+ block_Release(block); -+ return VLCDEC_ECRITICAL; -+ } -+ mtime_t pts = block->i_pts == VLC_TS_INVALID ? block->i_dts : block->i_pts; -+ p_data->m.timestamp = pts; -+ } -+ -+ Dav1dPicture img = { 0 }; -+ -+ int i_ret = VLCDEC_SUCCESS; -+ int res; -+ do { -+ res = dav1d_send_data(p_sys->c, p_data); -+ if (res < 0 && res != -EAGAIN) -+ { -+ msg_Err(dec, "Decoder feed error %d!", res); -+ i_ret = VLC_EGENERIC; -+ break; -+ } -+ -+ res = dav1d_get_picture(p_sys->c, &img); -+ if (res == 0) -+ { -+ picture_t *_pic = img.allocator_data; -+ picture_t *pic = picture_Clone(_pic); -+ if (unlikely(pic == NULL)) -+ { -+ i_ret = VLC_EGENERIC; -+ picture_Release(_pic); -+ break; -+ } -+ pic->b_progressive = true; /* codec does not support interlacing */ -+ pic->date = img.m.timestamp; -+ /* TODO udpate the color primaries and such */ -+ decoder_QueueVideo(dec, pic); -+ dav1d_picture_unref(&img); -+ } -+ else if (res != -EAGAIN) -+ { -+ msg_Err(dec, "Decoder error %d!", res); -+ i_ret = VLC_EGENERIC; -+ break; -+ } -+ } while (res == 0 || (p_data && p_data->sz != 0)); -+ -+ -+ return i_ret; -+} -+ -+/***************************************************************************** -+ * OpenDecoder: probe the decoder -+ *****************************************************************************/ -+static int OpenDecoder(vlc_object_t *p_this) -+{ -+ decoder_t *dec = (decoder_t *)p_this; -+ -+ if (dec->fmt_in.i_codec != VLC_CODEC_AV1) -+ return VLC_EGENERIC; -+ -+ decoder_sys_t *p_sys = vlc_obj_malloc(p_this, sizeof(*p_sys)); -+ if (!p_sys) -+ return VLC_ENOMEM; -+ -+ dav1d_default_settings(&p_sys->s); -+ 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 = VLC_CLIP(vlc_GetCPUCount(), 1, 4); -+ 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 = __MAX(1, vlc_GetCPUCount()); -+ p_sys->s.allocator.cookie = dec; -+ p_sys->s.allocator.alloc_picture_callback = NewPicture; -+ p_sys->s.allocator.release_picture_callback = FreePicture; -+ -+ if (dav1d_open(&p_sys->c, &p_sys->s) < 0) -+ { -+ msg_Err(p_this, "Could not open the Dav1d decoder"); -+ return VLC_EGENERIC; -+ } -+ -+ 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->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; -+ dec->fmt_out.i_codec = VLC_CODEC_I420; -+ dec->p_sys = p_sys; -+ -+ if (dec->fmt_in.video.i_sar_num > 0 && dec->fmt_in.video.i_sar_den > 0) { -+ dec->fmt_out.video.i_sar_num = dec->fmt_in.video.i_sar_num; -+ dec->fmt_out.video.i_sar_den = dec->fmt_in.video.i_sar_den; -+ } -+ -+ return VLC_SUCCESS; -+} -+ -+/***************************************************************************** -+ * CloseDecoder: decoder destruction -+ *****************************************************************************/ -+static void CloseDecoder(vlc_object_t *p_this) -+{ -+ decoder_t *dec = (decoder_t *)p_this; -+ decoder_sys_t *p_sys = dec->p_sys; -+ -+ /* Flush decoder */ -+ FlushDecoder(dec); -+ -+ dav1d_close(&p_sys->c); -+} -+ Modified: head/multimedia/vlc3/files/patch-modules_codec_aom.c ============================================================================== --- head/multimedia/vlc3/files/patch-modules_codec_aom.c Sun Dec 30 07:11:20 2018 (r488702) +++ head/multimedia/vlc3/files/patch-modules_codec_aom.c Sun Dec 30 07:59:57 2018 (r488703) @@ -1,10 +1,10 @@ ---- modules/codec/aom.c.orig 2018-07-24 15:13:43 UTC +--- modules/codec/aom.c.orig 2018-12-19 00:05:20 UTC +++ modules/codec/aom.c -@@ -96,7 +96,6 @@ static const struct - { VLC_CODEC_I444, AOM_IMG_FMT_I444, 8, 0 }, +@@ -98,7 +98,6 @@ uint8_t i_needs_hack; + { VLC_CODEC_I444, AOM_IMG_FMT_I444, 8, 0 }, - { VLC_CODEC_YV12, AOM_IMG_FMT_YV12, 8, 0 }, -- { VLC_CODEC_YUVA, AOM_IMG_FMT_444A, 8, 0 }, + { VLC_CODEC_YV12, AOM_IMG_FMT_YV12, 8, 0 }, +-{ VLC_CODEC_YUVA, AOM_IMG_FMT_444A, 8, 0 }, - { VLC_CODEC_GBR_PLANAR, AOM_IMG_FMT_I444, 8, 1 }, - { VLC_CODEC_GBR_PLANAR_10L, AOM_IMG_FMT_I44416, 10, 1 }, + { VLC_CODEC_GBR_PLANAR, AOM_IMG_FMT_I444, 8, 1 }, + { VLC_CODEC_GBR_PLANAR_10L, AOM_IMG_FMT_I44416, 10, 1 },