summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2019-08-05 23:06:50 +0000
committerJan Beich <jbeich@FreeBSD.org>2019-08-05 23:06:50 +0000
commit325aed58cb1654cd94b306ff8e0452e4fb95f4a9 (patch)
tree30b6fa9070ad293072156e3111d93da96aa5fc77 /multimedia
parent- Update to 0.3.0 (diff)
multimedia/ffmpeg: update to 4.2
Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.2:/Changelog ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/
Notes
Notes: svn path=/head/; revision=508216
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/QtAV/Makefile2
-rw-r--r--multimedia/audacious-plugins-gtk3/Makefile2
-rw-r--r--multimedia/audacious-plugins/Makefile2
-rw-r--r--multimedia/bino/Makefile2
-rw-r--r--multimedia/ccextractor/Makefile2
-rw-r--r--multimedia/cinelerra-gg/Makefile2
-rw-r--r--multimedia/dvbcut/Makefile2
-rw-r--r--multimedia/dvdstyler/Makefile2
-rw-r--r--multimedia/ffmpeg/Makefile25
-rw-r--r--multimedia/ffmpeg/distinfo6
-rw-r--r--multimedia/ffmpeg/files/patch-aom339
-rw-r--r--multimedia/ffmpeg/files/patch-configure3
-rw-r--r--multimedia/ffmpeg/files/patch-dav1d461
-rw-r--r--multimedia/ffmpeg/files/patch-libavcodec_allcodecs.c3
-rw-r--r--multimedia/ffmpeg/files/patch-libavdevice_v4l2.c18
-rw-r--r--multimedia/ffmpeg/pkg-plist18
-rw-r--r--multimedia/ffmpeg2theora/Makefile2
-rw-r--r--multimedia/ffmpegthumbnailer/Makefile2
-rw-r--r--multimedia/ffms2/Makefile2
-rw-r--r--multimedia/gstreamer1-libav/Makefile2
-rw-r--r--multimedia/harvid/Makefile2
-rw-r--r--multimedia/imagination/Makefile2
-rw-r--r--multimedia/kdemultimedia-ffmpegthumbs/Makefile2
-rw-r--r--multimedia/kodi-devel/Makefile2
-rw-r--r--multimedia/libopenshot/Makefile2
-rw-r--r--multimedia/libquicktime/Makefile2
-rw-r--r--multimedia/libxine/Makefile2
-rw-r--r--multimedia/lives/Makefile2
-rw-r--r--multimedia/mencoder/Makefile1
-rw-r--r--multimedia/mlt/Makefile2
-rw-r--r--multimedia/motion/Makefile2
-rw-r--r--multimedia/mplayer/Makefile2
-rw-r--r--multimedia/mpv/Makefile2
-rw-r--r--multimedia/musikcube/Makefile2
-rw-r--r--multimedia/nordlicht/Makefile2
-rw-r--r--multimedia/obs-studio/Makefile2
-rw-r--r--multimedia/olive/Makefile2
-rw-r--r--multimedia/omxplayer/Makefile2
-rw-r--r--multimedia/pHash/Makefile2
-rw-r--r--multimedia/py-av/Makefile1
-rw-r--r--multimedia/py-ffmpeg-python/Makefile1
-rw-r--r--multimedia/qmmp-plugin-pack-qt5/Makefile2
-rw-r--r--multimedia/qmmp-qt5/Makefile2
-rw-r--r--multimedia/rubygem-streamio-ffmpeg/Makefile2
-rw-r--r--multimedia/simplescreenrecorder/Makefile2
-rw-r--r--multimedia/subtitlecomposer/Makefile2
-rw-r--r--multimedia/transcode/Makefile2
-rw-r--r--multimedia/tvheadend/Makefile2
-rw-r--r--multimedia/vapoursynth-l-smash-works/Makefile2
-rw-r--r--multimedia/vapoursynth/Makefile2
-rw-r--r--multimedia/vdr-plugin-markad/Makefile2
-rw-r--r--multimedia/vdr-plugin-osdpip/Makefile2
-rw-r--r--multimedia/vdr-plugin-xineliboutput/Makefile2
-rw-r--r--multimedia/vlc/Makefile2
-rw-r--r--multimedia/webcamoid/Makefile2
-rw-r--r--multimedia/wf-recorder/Makefile2
-rw-r--r--multimedia/winff/Makefile2
-rw-r--r--multimedia/x264/Makefile2
-rw-r--r--multimedia/zoneminder/Makefile2
59 files changed, 106 insertions, 866 deletions
diff --git a/multimedia/QtAV/Makefile b/multimedia/QtAV/Makefile
index e0babde173cd..ee1e5ff3045c 100644
--- a/multimedia/QtAV/Makefile
+++ b/multimedia/QtAV/Makefile
@@ -3,7 +3,7 @@
PORTNAME= QtAV
DISTVERSIONPREFIX= v
DISTVERSION= 1.13.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
DIST_SUBDIR= KDE
diff --git a/multimedia/audacious-plugins-gtk3/Makefile b/multimedia/audacious-plugins-gtk3/Makefile
index a4eebed8562a..c13833e55afe 100644
--- a/multimedia/audacious-plugins-gtk3/Makefile
+++ b/multimedia/audacious-plugins-gtk3/Makefile
@@ -3,8 +3,8 @@
PORTNAME= audacious-plugins
PORTVERSION= 3.10.1
-PORTREVISION= 2
DISTVERSIONSUFFIX= -gtk3
+PORTREVISION= 3
CATEGORIES= multimedia audio
#MASTER_SITES= http://distfiles.audacious-media-player.org/
PKGNAMESUFFIX= ${DISTVERSIONSUFFIX}
diff --git a/multimedia/audacious-plugins/Makefile b/multimedia/audacious-plugins/Makefile
index 9ec682e7aa8d..86b619152a49 100644
--- a/multimedia/audacious-plugins/Makefile
+++ b/multimedia/audacious-plugins/Makefile
@@ -3,7 +3,7 @@
PORTNAME= audacious-plugins
PORTVERSION= 3.10.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia audio
MASTER_SITES= http://distfiles.audacious-media-player.org/
diff --git a/multimedia/bino/Makefile b/multimedia/bino/Makefile
index f7440d11c36d..ca83aab6e611 100644
--- a/multimedia/bino/Makefile
+++ b/multimedia/bino/Makefile
@@ -3,7 +3,7 @@
PORTNAME= bino
PORTVERSION= 1.6.5
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= https://download.savannah.nongnu.org/releases/bino/
diff --git a/multimedia/ccextractor/Makefile b/multimedia/ccextractor/Makefile
index 5fc62056b3f2..b0656a5ceacc 100644
--- a/multimedia/ccextractor/Makefile
+++ b/multimedia/ccextractor/Makefile
@@ -3,7 +3,7 @@
PORTNAME= ccextractor
DISTVERSIONPREFIX= v
DISTVERSION= 0.85
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= multimedia
MAINTAINER= oz@nixil.net
diff --git a/multimedia/cinelerra-gg/Makefile b/multimedia/cinelerra-gg/Makefile
index e87216998d85..c35a475c5d23 100644
--- a/multimedia/cinelerra-gg/Makefile
+++ b/multimedia/cinelerra-gg/Makefile
@@ -3,7 +3,7 @@
PORTNAME= cinelerra-gg
DISTVERSION= 5.1-20180714
DISTVERSIONSUFFIX= -${REV:C/(.......).*/\1/}
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= multimedia
MASTER_SITES= https://git.cinelerra-cv.org/gitweb?p=goodguy/cinelerra.git;a=snapshot;h=${REV};sf=tgz;dummy=/ # tarballs are @ https://cinelerra-cv.org/five/pkgs/src/
diff --git a/multimedia/dvbcut/Makefile b/multimedia/dvbcut/Makefile
index fbfd3c5423ad..873c0320dc97 100644
--- a/multimedia/dvbcut/Makefile
+++ b/multimedia/dvbcut/Makefile
@@ -4,7 +4,7 @@
PORTNAME= dvbcut
PORTVERSION= 0.7.3
DISTVERSIONPREFIX= v
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MAINTAINER= se@FreeBSD.org
diff --git a/multimedia/dvdstyler/Makefile b/multimedia/dvdstyler/Makefile
index 87711179d00d..d0052b152804 100644
--- a/multimedia/dvdstyler/Makefile
+++ b/multimedia/dvdstyler/Makefile
@@ -3,7 +3,7 @@
PORTNAME= dvdstyler
PORTVERSION= 2.9.6
-PORTREVISION= 12
+PORTREVISION= 13
PORTEPOCH= 2
CATEGORIES= multimedia
MASTER_SITES= SF
diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile
index e16be5fa2120..34e115d80b99 100644
--- a/multimedia/ffmpeg/Makefile
+++ b/multimedia/ffmpeg/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= ffmpeg
-PORTVERSION= 4.1.4
-PORTREVISION= 6
+PORTVERSION= 4.2
PORTEPOCH= 1
CATEGORIES= multimedia audio ipv6 net
MASTER_SITES= https://ffmpeg.org/releases/
@@ -35,11 +34,11 @@ NOPRECIOUSMAKEVARS= yes # ARCH
PORTSCOUT= limit:^4\.
# Option CHROMAPRINT disabled, it cannot work and people are baffled.
-OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ASS BEIGNET BS2B CACA CDIO CELT CODEC2 DAV1D DAVS2 DC1394 \
- DEBUG DOCS DRM FDK_AAC FLITE FONTCONFIG \
+OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASS BEIGNET BS2B CACA CDIO CELT CODEC2 \
+ DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE FONTCONFIG \
FREETYPE FREI0R FRIBIDI GME GSM ICONV ILBC JACK KLVANC KVAZAAR LADSPA \
LAME LENSFUN LIBBLURAY LIBRSVG2 LIBXML2 LV2 MODPLUG MYSOFA OPENAL OPENCL OPENCV OPENGL \
- OPENH264 OPENJPEG OPENMPT OPTIMIZED_CFLAGS OPUS PULSEAUDIO \
+ OPENH264 OPENJPEG OPENMPT OPTIMIZED_CFLAGS OPUS POCKETSPHINX PULSEAUDIO \
RUBBERBAND RTCPU SDL SMB SNAPPY SNDIO SOXR SPEEX SRT SSH TENSORFLOW \
TESSERACT THEORA TWOLAME V4L VAAPI VAPOURSYNTH VDPAU VIDSTAB VORBIS \
VO_AMRWBENC VPX WAVPACK WEBP X264 X265 XAVS2 XCB XVID \
@@ -49,6 +48,11 @@ OPTIONS_DEFAULT= DAV1D FONTCONFIG FREETYPE FREI0R GMP GNUTLS ICONV \
OPENCV OPTIMIZED_CFLAGS OPUS RTCPU THEORA V4L VAAPI VDPAU \
VORBIS VPX X264 X265 XCB XVID
+.if !exists(${.CURDIR:H:H}/multimedia/aribb24)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/100bfac6d6ec
+OPTIONS_EXCLUDE+= ARIBB24
+.endif
+
.if !exists(${.CURDIR:H:H}/multimedia/davs2)
# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5985a1bf7233
OPTIONS_EXCLUDE+= DAVS2
@@ -88,6 +92,7 @@ OPTIONS_DEFAULT_i386= MMX SSE
ASS_DESC= Subtitles rendering via libass
AOM_DESC= AV1 video encoding/decoding via libaom
+ARIBB24_DESC= ARIB text and caption decoding via libaribb24
BEIGNET_DESC= DRM/VAAPI to OpenCL mapping for i965 + Beignet
BS2B_DESC= Bauer Stereophonic-to-Binaural filter
CHROMAPRINT_DESC= Audio fingerprinting with chromaprint
@@ -110,6 +115,7 @@ NEON_DESC= Media Processing Engine instructions
NONFREE_DESC= Allow use of nonfree code
OPENMPT_DESC= Decoding tracked files via libopenmpt
OPENH264_DESC= H.264 video codec support via OpenH264
+POCKETSPHINX_DESC= Automatic Speech Recognition via PocketSphinx
RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband
RTCPU_DESC= Detect CPU capabilities at runtime
RTMP_DESC= RTMP(T)E protocol support
@@ -149,6 +155,10 @@ AMR_WB_IMPLIES= GPL3
AOM_LIB_DEPENDS= libaom.so:multimedia/aom
AOM_CONFIGURE_ENABLE= libaom
+# arib
+ARIBB24_LIB_DEPENDS= libaribb24.so:multimedia/aribb24
+ARIBB24_CONFIGURE_ENABLE= libaribb24
+
# ass
ASS_LIB_DEPENDS= libass.so:multimedia/libass
ASS_CONFIGURE_ENABLE= libass
@@ -369,6 +379,11 @@ OPTIMIZED_CFLAGS_CONFIGURE_ENABLE= optimizations
OPUS_LIB_DEPENDS= libopus.so:audio/opus
OPUS_CONFIGURE_ENABLE= libopus
+# pocketsphinx
+POCKETSPHINX_LIB_DEPENDS= libpocketsphinx.so:audio/pocketsphinx
+POCKETSPHINX_CONFIGURE_ENABLE= pocketsphinx
+POCKETSPHINX_BROKEN= pocketsphinx < 5prealpha is not supported
+
# pulseaudio
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CONFIGURE_ENABLE= libpulse
diff --git a/multimedia/ffmpeg/distinfo b/multimedia/ffmpeg/distinfo
index de20a1f8b7cc..779248e8128d 100644
--- a/multimedia/ffmpeg/distinfo
+++ b/multimedia/ffmpeg/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1562609569
-SHA256 (ffmpeg-4.1.4.tar.xz) = f1f049a82fcfbf156564e73a3935d7e750891fab2abf302e735104fd4050a7e1
-SIZE (ffmpeg-4.1.4.tar.xz) = 8896056
+TIMESTAMP = 1565039500
+SHA256 (ffmpeg-4.2.tar.xz) = 023f10831a97ad93d798f53a3640e55cd564abfeba807ecbe8524dac4fedecd5
+SIZE (ffmpeg-4.2.tar.xz) = 9088756
SHA256 (0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch) = 898dbbdb21cfafbb19381463382467fbe5c5a78ca3844f8c5583fa919b7d5a82
SIZE (0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch) = 19723
SHA256 (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = cc8ba4ff56cdb38a59650203999c4c8c83fc40bdb905b87b678ff68a4538444d
diff --git a/multimedia/ffmpeg/files/patch-aom b/multimedia/ffmpeg/files/patch-aom
deleted file mode 100644
index c58796c403ed..000000000000
--- a/multimedia/ffmpeg/files/patch-aom
+++ /dev/null
@@ -1,339 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/b2ea757f68
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/d12d4d4515
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/2ddaaaf595
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/e3991a5a45
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/995889abbf
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0856c5da07
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0e1ea034d8
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1e8475b507
-
---- doc/encoders.texi.orig 2018-11-05 23:22:25 UTC
-+++ doc/encoders.texi
-@@ -1370,6 +1370,118 @@ makes it possible to store non-rgb pix_fmts.
-
- @end table
-
-+@section libaom-av1
-+
-+libaom AV1 encoder wrapper.
-+
-+Requires the presence of the libaom headers and library during
-+configuration. You need to explicitly configure the build with
-+@code{--enable-libaom}.
-+
-+@subsection Options
-+
-+The wrapper supports the following standard libavcodec options:
-+
-+@table @option
-+
-+@item b
-+Set bitrate target in bits/second. By default this will use
-+variable-bitrate mode. If @option{maxrate} and @option{minrate} are
-+also set to the same value then it will use constant-bitrate mode,
-+otherwise if @option{crf} is set as well then it will use
-+constrained-quality mode.
-+
-+@item g keyint_min
-+Set key frame placement. The GOP size sets the maximum distance between
-+key frames; if zero the output stream will be intra-only. The minimum
-+distance is ignored unless it is the same as the GOP size, in which case
-+key frames will always appear at a fixed interval. Not set by default,
-+so without this option the library has completely free choice about
-+where to place key frames.
-+
-+@item qmin qmax
-+Set minimum/maximum quantisation values. Valid range is from 0 to 63
-+(warning: this does not match the quantiser values actually used by AV1
-+- divide by four to map real quantiser values to this range). Defaults
-+to min/max (no constraint).
-+
-+@item minrate maxrate bufsize rc_init_occupancy
-+Set rate control buffering parameters. Not used if not set - defaults
-+to unconstrained variable bitrate.
-+
-+@item threads
-+Set the number of threads to use while encoding. This may require the
-+@option{tiles} or @option{row-mt} options to also be set to actually
-+use the specified number of threads fully. Defaults to the number of
-+hardware threads supported by the host machine.
-+
-+@item profile
-+Set the encoding profile. Defaults to using the profile which matches
-+the bit depth and chroma subsampling of the input.
-+
-+@end table
-+
-+The wrapper also has some specific options:
-+
-+@table @option
-+
-+@item cpu-used
-+Set the quality/encoding speed tradeoff. Valid range is from 0 to 8,
-+higher numbers indicating greater speed and lower quality. The default
-+value is 1, which will be slow and high quality.
-+
-+@item auto-alt-ref
-+Enable use of alternate reference frames. Defaults to the internal
-+default of the library.
-+
-+@item lag-in-frames
-+Set the maximum number of frames which the encoder may keep in flight
-+at any one time for lookahead purposes. Defaults to the internal
-+default of the library.
-+
-+@item error-resilience
-+Enable error resilience features:
-+@table @option
-+@item default
-+Improve resilience against losses of whole frames.
-+@end table
-+Not enabled by default.
-+
-+@item crf
-+Set the quality/size tradeoff for constant-quality (no bitrate target)
-+and constrained-quality (with maximum bitrate target) modes. Valid
-+range is 0 to 63, higher numbers indicating lower quality and smaller
-+output size. Only used if set; by default only the bitrate target is
-+used.
-+
-+@item static-thresh
-+Set a change threshold on blocks below which they will be skipped by
-+the encoder. Defined in arbitrary units as a nonnegative integer,
-+defaulting to zero (no blocks are skipped).
-+
-+@item drop-threshold
-+Set a threshold for dropping frames when close to rate control bounds.
-+Defined as a percentage of the target buffer - when the rate control
-+buffer falls below this percentage, frames will be dropped until it
-+has refilled above the threshold. Defaults to zero (no frames are
-+dropped).
-+
-+@item tiles
-+Set the number of tiles to encode the input video with, as colums x
-+rows. Larger numbers allow greater parallelism in both encoding and
-+decoding, but may decrease coding efficiency. Defaults to the minimum
-+number of tiles required by the size of the input video (this is 1x1
-+(that is, a single tile) for sizes up to and including 4K).
-+
-+@item tile-columns tile-rows
-+Set the number of tiles as log2 of the number of tile rows and columns.
-+Provided for compatibility with libvpx/VP9.
-+
-+@item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
-+Enable row based multi-threading. Disabled by default.
-+
-+@end table
-+
- @section libkvazaar
-
- Kvazaar H.265/HEVC encoder.
---- libavcodec/libaomenc.c.orig 2018-11-05 23:22:26 UTC
-+++ libavcodec/libaomenc.c
-@@ -66,33 +66,69 @@ typedef struct AOMEncoderContext {
- struct FrameListData *coded_frame_list;
- int cpu_used;
- int auto_alt_ref;
-+ int arnr_max_frames;
-+ int arnr_strength;
-+ int aq_mode;
- int lag_in_frames;
- int error_resilient;
- int crf;
- int static_thresh;
- int drop_threshold;
-- int noise_sensitivity;
-+ int denoise_noise_level;
-+ int denoise_block_size;
- uint64_t sse[4];
- int have_sse; /**< true if we have pending sse[] */
- uint64_t frame_number;
-+ int rc_undershoot_pct;
-+ int rc_overshoot_pct;
-+ int minsection_pct;
-+ int maxsection_pct;
-+ int frame_parallel;
- int tile_cols, tile_rows;
- int tile_cols_log2, tile_rows_log2;
- aom_superblock_size_t superblock_size;
- int uniform_tiles;
-+ int row_mt;
-+ int enable_cdef;
-+ int enable_global_motion;
-+ int enable_intrabc;
- } AOMContext;
-
- static const char *const ctlidstr[] = {
- [AOME_SET_CPUUSED] = "AOME_SET_CPUUSED",
- [AOME_SET_CQ_LEVEL] = "AOME_SET_CQ_LEVEL",
- [AOME_SET_ENABLEAUTOALTREF] = "AOME_SET_ENABLEAUTOALTREF",
-+ [AOME_SET_ARNR_MAXFRAMES] = "AOME_SET_ARNR_MAXFRAMES",
-+ [AOME_SET_ARNR_STRENGTH] = "AOME_SET_ARNR_STRENGTH",
- [AOME_SET_STATIC_THRESHOLD] = "AOME_SET_STATIC_THRESHOLD",
- [AV1E_SET_COLOR_RANGE] = "AV1E_SET_COLOR_RANGE",
- [AV1E_SET_COLOR_PRIMARIES] = "AV1E_SET_COLOR_PRIMARIES",
- [AV1E_SET_MATRIX_COEFFICIENTS] = "AV1E_SET_MATRIX_COEFFICIENTS",
- [AV1E_SET_TRANSFER_CHARACTERISTICS] = "AV1E_SET_TRANSFER_CHARACTERISTICS",
-+ [AV1E_SET_AQ_MODE] = "AV1E_SET_AQ_MODE",
-+ [AV1E_SET_FRAME_PARALLEL_DECODING] = "AV1E_SET_FRAME_PARALLEL_DECODING",
- [AV1E_SET_SUPERBLOCK_SIZE] = "AV1E_SET_SUPERBLOCK_SIZE",
- [AV1E_SET_TILE_COLUMNS] = "AV1E_SET_TILE_COLUMNS",
- [AV1E_SET_TILE_ROWS] = "AV1E_SET_TILE_ROWS",
-+#ifdef AOM_CTRL_AV1E_SET_ROW_MT
-+ [AV1E_SET_ROW_MT] = "AV1E_SET_ROW_MT",
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
-+ [AV1E_SET_DENOISE_NOISE_LEVEL] = "AV1E_SET_DENOISE_NOISE_LEVEL",
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
-+ [AV1E_SET_DENOISE_BLOCK_SIZE] = "AV1E_SET_DENOISE_BLOCK_SIZE",
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
-+ [AV1E_SET_MAX_REFERENCE_FRAMES] = "AV1E_SET_MAX_REFERENCE_FRAMES",
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
-+ [AV1E_SET_ENABLE_GLOBAL_MOTION] = "AV1E_SET_ENABLE_GLOBAL_MOTION",
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_ENABLE_INTRABC
-+ [AV1E_SET_ENABLE_INTRABC] = "AV1E_SET_ENABLE_INTRABC",
-+#endif
-+ [AV1E_SET_ENABLE_CDEF] = "AV1E_SET_ENABLE_CDEF",
- };
-
- static av_cold void log_encoder_error(AVCodecContext *avctx, const char *desc)
-@@ -558,10 +595,14 @@ static av_cold int aom_init(AVCodecContext *avctx,
-
- // 0-100 (0 => CBR, 100 => VBR)
- enccfg.rc_2pass_vbr_bias_pct = round(avctx->qcompress * 100);
-- if (avctx->bit_rate)
-+ if (ctx->minsection_pct >= 0)
-+ enccfg.rc_2pass_vbr_minsection_pct = ctx->minsection_pct;
-+ else if (avctx->bit_rate)
- enccfg.rc_2pass_vbr_minsection_pct =
- avctx->rc_min_rate * 100LL / avctx->bit_rate;
-- if (avctx->rc_max_rate)
-+ if (ctx->maxsection_pct >= 0)
-+ enccfg.rc_2pass_vbr_maxsection_pct = ctx->maxsection_pct;
-+ else if (avctx->rc_max_rate)
- enccfg.rc_2pass_vbr_maxsection_pct =
- avctx->rc_max_rate * 100LL / avctx->bit_rate;
-
-@@ -573,6 +614,11 @@ static av_cold int aom_init(AVCodecContext *avctx,
- avctx->rc_initial_buffer_occupancy * 1000LL / avctx->bit_rate;
- enccfg.rc_buf_optimal_sz = enccfg.rc_buf_sz * 5 / 6;
-
-+ if (ctx->rc_undershoot_pct >= 0)
-+ enccfg.rc_undershoot_pct = ctx->rc_undershoot_pct;
-+ if (ctx->rc_overshoot_pct >= 0)
-+ enccfg.rc_overshoot_pct = ctx->rc_overshoot_pct;
-+
- // _enc_init() will balk if kf_min_dist differs from max w/AOM_KF_AUTO
- if (avctx->keyint_min >= 0 && avctx->keyint_min == avctx->gop_size)
- enccfg.kf_min_dist = avctx->keyint_min;
-@@ -634,7 +680,12 @@ static av_cold int aom_init(AVCodecContext *avctx,
- codecctl_int(avctx, AOME_SET_CPUUSED, ctx->cpu_used);
- if (ctx->auto_alt_ref >= 0)
- codecctl_int(avctx, AOME_SET_ENABLEAUTOALTREF, ctx->auto_alt_ref);
--
-+ if (ctx->arnr_max_frames >= 0)
-+ codecctl_int(avctx, AOME_SET_ARNR_MAXFRAMES, ctx->arnr_max_frames);
-+ if (ctx->arnr_strength >= 0)
-+ codecctl_int(avctx, AOME_SET_ARNR_STRENGTH, ctx->arnr_strength);
-+ if (ctx->enable_cdef >= 0)
-+ codecctl_int(avctx, AV1E_SET_ENABLE_CDEF, ctx->enable_cdef);
- codecctl_int(avctx, AOME_SET_STATIC_THRESHOLD, ctx->static_thresh);
- if (ctx->crf >= 0)
- codecctl_int(avctx, AOME_SET_CQ_LEVEL, ctx->crf);
-@@ -642,6 +693,10 @@ static av_cold int aom_init(AVCodecContext *avctx,
- codecctl_int(avctx, AV1E_SET_COLOR_PRIMARIES, avctx->color_primaries);
- codecctl_int(avctx, AV1E_SET_MATRIX_COEFFICIENTS, avctx->colorspace);
- codecctl_int(avctx, AV1E_SET_TRANSFER_CHARACTERISTICS, avctx->color_trc);
-+ if (ctx->aq_mode >= 0)
-+ codecctl_int(avctx, AV1E_SET_AQ_MODE, ctx->aq_mode);
-+ if (ctx->frame_parallel >= 0)
-+ codecctl_int(avctx, AV1E_SET_FRAME_PARALLEL_DECODING, ctx->frame_parallel);
- set_color_range(avctx);
-
- codecctl_int(avctx, AV1E_SET_SUPERBLOCK_SIZE, ctx->superblock_size);
-@@ -650,6 +705,32 @@ static av_cold int aom_init(AVCodecContext *avctx,
- codecctl_int(avctx, AV1E_SET_TILE_ROWS, ctx->tile_rows_log2);
- }
-
-+#ifdef AOM_CTRL_AV1E_SET_DENOISE_NOISE_LEVEL
-+ if (ctx->denoise_noise_level >= 0)
-+ codecctl_int(avctx, AV1E_SET_DENOISE_NOISE_LEVEL, ctx->denoise_noise_level);
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_DENOISE_BLOCK_SIZE
-+ if (ctx->denoise_block_size >= 0)
-+ codecctl_int(avctx, AV1E_SET_DENOISE_BLOCK_SIZE, ctx->denoise_block_size);
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_ENABLE_GLOBAL_MOTION
-+ if (ctx->enable_global_motion >= 0)
-+ codecctl_int(avctx, AV1E_SET_ENABLE_GLOBAL_MOTION, ctx->enable_global_motion);
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_MAX_REFERENCE_FRAMES
-+ if (avctx->refs >= 3) {
-+ codecctl_int(avctx, AV1E_SET_MAX_REFERENCE_FRAMES, avctx->refs);
-+ }
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_ROW_MT
-+ if (ctx->row_mt >= 0)
-+ codecctl_int(avctx, AV1E_SET_ROW_MT, ctx->row_mt);
-+#endif
-+#ifdef AOM_CTRL_AV1E_SET_ENABLE_INTRABC
-+ if (ctx->enable_intrabc >= 0)
-+ codecctl_int(avctx, AV1E_SET_ENABLE_INTRABC, ctx->enable_intrabc);
-+#endif
-+
- // provide dummy value to initialize wrapper, values will be updated each _encode()
- aom_img_wrap(&ctx->rawimg, img_fmt, avctx->width, avctx->height, 1,
- (unsigned char*)1);
-@@ -727,7 +808,7 @@ static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame,
- AVPacket *pkt)
- {
- AOMContext *ctx = avctx->priv_data;
-- int pict_type;
-+ int av_unused pict_type;
- int ret = ff_alloc_packet2(avctx, pkt, cx_frame->sz, 0);
- if (ret < 0) {
- av_log(avctx, AV_LOG_ERROR,
-@@ -975,19 +1056,37 @@ static const AVOption options[] = {
- "frames (2-pass only)", OFFSET(auto_alt_ref), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 2, VE},
- { "lag-in-frames", "Number of frames to look ahead at for "
- "alternate reference frame selection", OFFSET(lag_in_frames), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, VE},
-+ { "arnr-max-frames", "altref noise reduction max frame count", OFFSET(arnr_max_frames), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, VE},
-+ { "arnr-strength", "altref noise reduction filter strength", OFFSET(arnr_strength), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE},
-+ { "aq-mode", "adaptive quantization mode", OFFSET(aq_mode), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 4, VE, "aq_mode"},
-+ { "none", "Aq not used", 0, AV_OPT_TYPE_CONST, {.i64 = 0}, 0, 0, VE, "aq_mode"},
-+ { "variance", "Variance based Aq", 0, AV_OPT_TYPE_CONST, {.i64 = 1}, 0, 0, VE, "aq_mode"},
-+ { "complexity", "Complexity based Aq", 0, AV_OPT_TYPE_CONST, {.i64 = 2}, 0, 0, VE, "aq_mode"},
-+ { "cyclic", "Cyclic Refresh Aq", 0, AV_OPT_TYPE_CONST, {.i64 = 3}, 0, 0, VE, "aq_mode"},
- { "error-resilience", "Error resilience configuration", OFFSET(error_resilient), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, VE, "er"},
- { "default", "Improve resiliency against losses of whole frames", 0, AV_OPT_TYPE_CONST, {.i64 = AOM_ERROR_RESILIENT_DEFAULT}, 0, 0, VE, "er"},
- { "crf", "Select the quality for constant quality mode", offsetof(AOMContext, crf), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 63, VE },
- { "static-thresh", "A change threshold on blocks below which they will be skipped by the encoder", OFFSET(static_thresh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
- { "drop-threshold", "Frame drop threshold", offsetof(AOMContext, drop_threshold), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, VE },
-- { "noise-sensitivity", "Noise sensitivity", OFFSET(noise_sensitivity), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 4, VE},
-+ { "denoise-noise-level", "Amount of noise to be removed", OFFSET(denoise_noise_level), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, VE},
-+ { "denoise-block-size", "Denoise block size ", OFFSET(denoise_block_size), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, VE},
-+ { "undershoot-pct", "Datarate undershoot (min) target (%)", OFFSET(rc_undershoot_pct), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 100, VE},
-+ { "overshoot-pct", "Datarate overshoot (max) target (%)", OFFSET(rc_overshoot_pct), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1000, VE},
-+ { "minsection-pct", "GOP min bitrate (% of target)", OFFSET(minsection_pct), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 100, VE},
-+ { "maxsection-pct", "GOP max bitrate (% of target)", OFFSET(maxsection_pct), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 5000, VE},
-+ { "frame-parallel", "Enable frame parallel decodability features", OFFSET(frame_parallel), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE},
- { "tiles", "Tile columns x rows", OFFSET(tile_cols), AV_OPT_TYPE_IMAGE_SIZE, { .str = NULL }, 0, 0, VE },
- { "tile-columns", "Log2 of number of tile columns to use", OFFSET(tile_cols_log2), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE},
- { "tile-rows", "Log2 of number of tile rows to use", OFFSET(tile_rows_log2), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE},
-- { NULL }
-+ { "row-mt", "Enable row based multi-threading", OFFSET(row_mt), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE},
-+ { "enable-cdef", "Enable CDEF filtering", OFFSET(enable_cdef), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE},
-+ { "enable-global-motion", "Enable global motion", OFFSET(enable_global_motion), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE},
-+ { "enable-intrabc", "Enable intra block copy prediction mode", OFFSET(enable_intrabc), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, VE},
-+ { NULL },
- };
-
- static const AVCodecDefault defaults[] = {
-+ { "b", "256*1000" },
- { "qmin", "-1" },
- { "qmax", "-1" },
- { "g", "-1" },
diff --git a/multimedia/ffmpeg/files/patch-configure b/multimedia/ffmpeg/files/patch-configure
index 946736bf4e07..8cb95306b522 100644
--- a/multimedia/ffmpeg/files/patch-configure
+++ b/multimedia/ffmpeg/files/patch-configure
@@ -1,12 +1,13 @@
--- configure.orig 2018-04-20 10:02:55 UTC
+++ configure
-@@ -3516,12 +3516,7 @@ target_os_default=$(tolower $(uname -s))
+@@ -3516,13 +3516,7 @@ target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
# machine
-if test "$target_os_default" = aix; then
- arch_default=$(uname -p)
- strip_default="strip -X32_64"
+- nm_default="nm -g -X32_64"
-else
- arch_default=$(uname -m)
-fi
diff --git a/multimedia/ffmpeg/files/patch-dav1d b/multimedia/ffmpeg/files/patch-dav1d
deleted file mode 100644
index 4ea75baed5ea..000000000000
--- a/multimedia/ffmpeg/files/patch-dav1d
+++ /dev/null
@@ -1,461 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/beaa350e24
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/752659327d
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/cc25529420
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/53ca505acc
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/3cd275bcde
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0fca2f60da
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/e695b0beba
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0e833f615b
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/10931a0661
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/dcf64b599d
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/2a31bf2a35
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/28746a0e20
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/36bb2cc200
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/38a4132132
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/f6803cfbd2
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5cd60b6f2e
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/9e62e1a110
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fbc5a27694
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0e07b767c8
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/254da41531
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/f78172b29a
-
---- configure.orig 2018-11-05 23:22:33 UTC
-+++ configure
-@@ -226,6 +226,7 @@ External library support:
- --enable-libcelt enable CELT decoding via libcelt [no]
- --enable-libcdio enable audio CD grabbing with libcdio [no]
- --enable-libcodec2 enable codec2 en/decoding using libcodec2 [no]
-+ --enable-libdav1d enable AV1 decoding via libdav1d [no]
- --enable-libdavs2 enable AVS2 decoding via libdavs2 [no]
- --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
- and libraw1394 [no]
-@@ -1712,6 +1713,7 @@ EXTERNAL_LIBRARY_LIST="
- libcaca
- libcelt
- libcodec2
-+ libdav1d
- libdc1394
- libdrm
- libflite
-@@ -3090,6 +3092,7 @@ libaom_av1_encoder_select="extract_extradata_bsf"
- libcelt_decoder_deps="libcelt"
- libcodec2_decoder_deps="libcodec2"
- libcodec2_encoder_deps="libcodec2"
-+libdav1d_decoder_deps="libdav1d"
- libdavs2_decoder_deps="libdavs2"
- libfdk_aac_decoder_deps="libfdk_aac"
- libfdk_aac_encoder_deps="libfdk_aac"
-@@ -6068,6 +6071,7 @@ enabled libcelt && require libcelt celt/celt
- die "ERROR: libcelt must be installed and version must be >= 0.11.0."; }
- enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas
- enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create -lcodec2
-+enabled libdav1d && require_pkg_config libdav1d "dav1d >= 0.2.1" "dav1d/dav1d.h" dav1d_version
- enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.5.115" davs2.h davs2_decoder_open
- enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new
- enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion
---- doc/general.texi.orig 2018-11-05 23:22:25 UTC
-+++ doc/general.texi
-@@ -758,8 +758,8 @@ following image formats are supported:
- @item Autodesk Animator Flic video @tab @tab X
- @item Autodesk RLE @tab @tab X
- @tab fourcc: AASC
--@item AV1 @tab @tab E
-- @tab Supported through external library libaom
-+@item AV1 @tab E @tab E
-+ @tab Supported through external libraries libaom and libdav1d
- @item Avid 1:1 10-bit RGB Packer @tab X @tab X
- @tab fourcc: AVrp
- @item AVS (Audio Video Standard) video @tab @tab X
---- libavcodec/Makefile.orig 2018-11-05 23:22:25 UTC
-+++ libavcodec/Makefile
-@@ -956,6 +956,7 @@ OBJS-$(CONFIG_LIBAOM_AV1_ENCODER) += libaomenc
- OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
- OBJS-$(CONFIG_LIBCODEC2_DECODER) += libcodec2.o codec2utils.o
- OBJS-$(CONFIG_LIBCODEC2_ENCODER) += libcodec2.o codec2utils.o
-+OBJS-$(CONFIG_LIBDAV1D_DECODER) += libdav1d.o
- OBJS-$(CONFIG_LIBDAVS2_DECODER) += libdavs2.o
- OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
- OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
---- libavcodec/allcodecs.c.orig 2018-11-05 23:22:25 UTC
-+++ libavcodec/allcodecs.c
-@@ -676,6 +676,7 @@ extern AVCodec ff_libaom_av1_encoder;
- extern AVCodec ff_libcelt_decoder;
- extern AVCodec ff_libcodec2_encoder;
- extern AVCodec ff_libcodec2_decoder;
-+extern AVCodec ff_libdav1d_decoder;
- extern AVCodec ff_libdavs2_decoder;
- extern AVCodec ff_libfdk_aac_encoder;
- extern AVCodec ff_libfdk_aac_decoder;
---- libavcodec/libdav1d.c.orig 2018-12-16 07:22:28 UTC
-+++ libavcodec/libdav1d.c
-@@ -0,0 +1,369 @@
-+/*
-+ * Copyright (c) 2018 Ronald S. Bultje <rsbultje gmail com>
-+ * Copyright (c) 2018 James Almer <jamrial gmail com>
-+ *
-+ * This file is part of FFmpeg.
-+ *
-+ * FFmpeg 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.
-+ *
-+ * FFmpeg 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 FFmpeg; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#include <dav1d/dav1d.h>
-+
-+#include "libavutil/avassert.h"
-+#include "libavutil/mastering_display_metadata.h"
-+#include "libavutil/imgutils.h"
-+#include "libavutil/opt.h"
-+
-+#include "avcodec.h"
-+#include "decode.h"
-+#include "internal.h"
-+
-+typedef struct Libdav1dContext {
-+ AVClass *class;
-+ Dav1dContext *c;
-+ AVBufferPool *pool;
-+ int pool_size;
-+
-+ Dav1dData data;
-+ int tile_threads;
-+ int frame_threads;
-+ int apply_grain;
-+} Libdav1dContext;
-+
-+static const enum AVPixelFormat pix_fmt[][3] = {
-+ [DAV1D_PIXEL_LAYOUT_I400] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12 },
-+ [DAV1D_PIXEL_LAYOUT_I420] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12 },
-+ [DAV1D_PIXEL_LAYOUT_I422] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12 },
-+ [DAV1D_PIXEL_LAYOUT_I444] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12 },
-+};
-+
-+static const enum AVPixelFormat pix_fmt_rgb[3] = {
-+ AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
-+};
-+
-+static void libdav1d_log_callback(void *opaque, const char *fmt, va_list vl)
-+{
-+ AVCodecContext *c = opaque;
-+
-+ av_vlog(c, AV_LOG_ERROR, fmt, vl);
-+}
-+
-+static int libdav1d_picture_allocator(Dav1dPicture *p, void *cookie)
-+{
-+ Libdav1dContext *dav1d = cookie;
-+ enum AVPixelFormat format = pix_fmt[p->p.layout][p->seq_hdr->hbd];
-+ int ret, linesize[4], h = FFALIGN(p->p.h, 128);
-+ uint8_t *aligned_ptr, *data[4];
-+ AVBufferRef *buf;
-+
-+ ret = av_image_fill_arrays(data, linesize, NULL, format, FFALIGN(p->p.w, 128),
-+ h, DAV1D_PICTURE_ALIGNMENT);
-+ if (ret < 0)
-+ return ret;
-+
-+ if (ret != dav1d->pool_size) {
-+ av_buffer_pool_uninit(&dav1d->pool);
-+ // Use twice the amount of required padding bytes for aligned_ptr below.
-+ dav1d->pool = av_buffer_pool_init(ret + DAV1D_PICTURE_ALIGNMENT * 2, NULL);
-+ if (!dav1d->pool) {
-+ dav1d->pool_size = 0;
-+ return AVERROR(ENOMEM);
-+ }
-+ dav1d->pool_size = ret;
-+ }
-+ buf = av_buffer_pool_get(dav1d->pool);
-+ if (!buf)
-+ return AVERROR(ENOMEM);
-+
-+ // libdav1d requires DAV1D_PICTURE_ALIGNMENT aligned buffers, which av_malloc()
-+ // doesn't guarantee for example when AVX is disabled at configure time.
-+ // Use the extra DAV1D_PICTURE_ALIGNMENT padding bytes in the buffer to align it
-+ // if required.
-+ aligned_ptr = (uint8_t *)FFALIGN((uintptr_t)buf->data, DAV1D_PICTURE_ALIGNMENT);
-+ ret = av_image_fill_pointers(data, format, h, aligned_ptr, linesize);
-+ if (ret < 0) {
-+ av_buffer_unref(&buf);
-+ return ret;
-+ }
-+
-+ p->data[0] = data[0];
-+ p->data[1] = data[1];
-+ p->data[2] = data[2];
-+ p->stride[0] = linesize[0];
-+ p->stride[1] = linesize[1];
-+ p->allocator_data = buf;
-+
-+ return 0;
-+}
-+
-+static void libdav1d_picture_release(Dav1dPicture *p, void *cookie)
-+{
-+ AVBufferRef *buf = p->allocator_data;
-+
-+ av_buffer_unref(&buf);
-+}
-+
-+static av_cold int libdav1d_init(AVCodecContext *c)
-+{
-+ Libdav1dContext *dav1d = c->priv_data;
-+ Dav1dSettings s;
-+ int threads = (c->thread_count ? c->thread_count : av_cpu_count()) * 3 / 2;
-+ int res;
-+
-+ av_log(c, AV_LOG_INFO, "libdav1d %s\n", dav1d_version());
-+
-+ dav1d_default_settings(&s);
-+ s.logger.cookie = c;
-+ s.logger.callback = libdav1d_log_callback;
-+ s.allocator.cookie = dav1d;
-+ s.allocator.alloc_picture_callback = libdav1d_picture_allocator;
-+ s.allocator.release_picture_callback = libdav1d_picture_release;
-+ s.apply_grain = dav1d->apply_grain;
-+
-+ s.n_tile_threads = dav1d->tile_threads
-+ ? dav1d->tile_threads
-+ : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
-+ s.n_frame_threads = dav1d->frame_threads
-+ ? dav1d->frame_threads
-+ : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
-+ av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n",
-+ s.n_frame_threads, s.n_tile_threads);
-+
-+ res = dav1d_open(&dav1d->c, &s);
-+ if (res < 0)
-+ return AVERROR(ENOMEM);
-+
-+ return 0;
-+}
-+
-+static void libdav1d_flush(AVCodecContext *c)
-+{
-+ Libdav1dContext *dav1d = c->priv_data;
-+
-+ dav1d_data_unref(&dav1d->data);
-+ dav1d_flush(dav1d->c);
-+}
-+
-+static void libdav1d_data_free(const uint8_t *data, void *opaque) {
-+ AVBufferRef *buf = opaque;
-+
-+ av_buffer_unref(&buf);
-+}
-+
-+static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame)
-+{
-+ Libdav1dContext *dav1d = c->priv_data;
-+ Dav1dData *data = &dav1d->data;
-+ Dav1dPicture pic = { 0 }, *p = &pic;
-+ int res;
-+
-+ if (!data->sz) {
-+ AVPacket pkt = { 0 };
-+
-+ res = ff_decode_get_packet(c, &pkt);
-+ if (res < 0 && res != AVERROR_EOF)
-+ return res;
-+
-+ if (pkt.size) {
-+ res = dav1d_data_wrap(data, pkt.data, pkt.size, libdav1d_data_free, pkt.buf);
-+ if (res < 0) {
-+ av_packet_unref(&pkt);
-+ return res;
-+ }
-+
-+ data->m.timestamp = pkt.pts;
-+ data->m.offset = pkt.pos;
-+ data->m.duration = pkt.duration;
-+
-+ pkt.buf = NULL;
-+ av_packet_unref(&pkt);
-+ }
-+ }
-+
-+ res = dav1d_send_data(dav1d->c, data);
-+ if (res < 0) {
-+ if (res == AVERROR(EINVAL))
-+ res = AVERROR_INVALIDDATA;
-+ if (res != AVERROR(EAGAIN))
-+ return res;
-+ }
-+
-+ res = dav1d_get_picture(dav1d->c, p);
-+ if (res < 0) {
-+ if (res == AVERROR(EINVAL))
-+ res = AVERROR_INVALIDDATA;
-+ else if (res == AVERROR(EAGAIN) && c->internal->draining)
-+ res = AVERROR_EOF;
-+
-+ return res;
-+ }
-+
-+ av_assert0(p->data[0] && p->allocator_data);
-+
-+ // This requires the custom allocator above
-+ frame->buf[0] = av_buffer_ref(p->allocator_data);
-+ if (!frame->buf[0]) {
-+ dav1d_picture_unref(p);
-+ return AVERROR(ENOMEM);
-+ }
-+
-+ frame->data[0] = p->data[0];
-+ frame->data[1] = p->data[1];
-+ frame->data[2] = p->data[2];
-+ frame->linesize[0] = p->stride[0];
-+ frame->linesize[1] = p->stride[1];
-+ frame->linesize[2] = p->stride[1];
-+
-+ c->profile = p->seq_hdr->profile;
-+ c->level = ((p->seq_hdr->operating_points[0].major_level - 2) << 2)
-+ | p->seq_hdr->operating_points[0].minor_level;
-+ frame->width = p->p.w;
-+ frame->height = p->p.h;
-+ if (c->width != p->p.w || c->height != p->p.h) {
-+ res = ff_set_dimensions(c, p->p.w, p->p.h);
-+ if (res < 0)
-+ goto fail;
-+ }
-+
-+ switch (p->seq_hdr->chr) {
-+ case DAV1D_CHR_VERTICAL:
-+ frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_LEFT;
-+ break;
-+ case DAV1D_CHR_COLOCATED:
-+ frame->chroma_location = c->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
-+ break;
-+ }
-+ frame->colorspace = c->colorspace = (enum AVColorSpace) p->seq_hdr->mtrx;
-+ frame->color_primaries = c->color_primaries = (enum AVColorPrimaries) p->seq_hdr->pri;
-+ frame->color_trc = c->color_trc = (enum AVColorTransferCharacteristic) p->seq_hdr->trc;
-+ frame->color_range = c->color_range = p->seq_hdr->color_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG;
-+
-+ if (p->p.layout == DAV1D_PIXEL_LAYOUT_I444 &&
-+ p->seq_hdr->mtrx == DAV1D_MC_IDENTITY &&
-+ p->seq_hdr->pri == DAV1D_COLOR_PRI_BT709 &&
-+ p->seq_hdr->trc == DAV1D_TRC_SRGB)
-+ frame->format = c->pix_fmt = pix_fmt_rgb[p->seq_hdr->hbd];
-+ else
-+ frame->format = c->pix_fmt = pix_fmt[p->p.layout][p->seq_hdr->hbd];
-+
-+ // match timestamps and packet size
-+ frame->pts = frame->best_effort_timestamp = p->m.timestamp;
-+#if FF_API_PKT_PTS
-+FF_DISABLE_DEPRECATION_WARNINGS
-+ frame->pkt_pts = p->m.timestamp;
-+FF_ENABLE_DEPRECATION_WARNINGS
-+#endif
-+ frame->pkt_dts = p->m.timestamp;
-+ frame->pkt_pos = p->m.offset;
-+ frame->pkt_size = p->m.size;
-+ frame->pkt_duration = p->m.duration;
-+ frame->key_frame = p->frame_hdr->frame_type == DAV1D_FRAME_TYPE_KEY;
-+
-+ switch (p->frame_hdr->frame_type) {
-+ case DAV1D_FRAME_TYPE_KEY:
-+ case DAV1D_FRAME_TYPE_INTRA:
-+ frame->pict_type = AV_PICTURE_TYPE_I;
-+ break;
-+ case DAV1D_FRAME_TYPE_INTER:
-+ frame->pict_type = AV_PICTURE_TYPE_P;
-+ break;
-+ case DAV1D_FRAME_TYPE_SWITCH:
-+ frame->pict_type = AV_PICTURE_TYPE_SP;
-+ break;
-+ default:
-+ res = AVERROR_INVALIDDATA;
-+ goto fail;
-+ }
-+
-+ if (p->mastering_display) {
-+ AVMasteringDisplayMetadata *mastering = av_mastering_display_metadata_create_side_data(frame);
-+ if (!mastering) {
-+ res = AVERROR(ENOMEM);
-+ goto fail;
-+ }
-+
-+ for (int i = 0; i < 3; i++) {
-+ mastering->display_primaries[i][0] = av_make_q(p->mastering_display->primaries[i][0], 1 << 16);
-+ mastering->display_primaries[i][1] = av_make_q(p->mastering_display->primaries[i][1], 1 << 16);
-+ }
-+ mastering->white_point[0] = av_make_q(p->mastering_display->white_point[0], 1 << 16);
-+ mastering->white_point[1] = av_make_q(p->mastering_display->white_point[1], 1 << 16);
-+
-+ mastering->max_luminance = av_make_q(p->mastering_display->max_luminance, 1 << 8);
-+ mastering->min_luminance = av_make_q(p->mastering_display->min_luminance, 1 << 14);
-+
-+ mastering->has_primaries = 1;
-+ mastering->has_luminance = 1;
-+ }
-+ if (p->content_light) {
-+ AVContentLightMetadata *light = av_content_light_metadata_create_side_data(frame);
-+ if (!light) {
-+ res = AVERROR(ENOMEM);
-+ goto fail;
-+ }
-+ light->MaxCLL = p->content_light->max_content_light_level;
-+ light->MaxFALL = p->content_light->max_frame_average_light_level;
-+ }
-+
-+ res = 0;
-+fail:
-+ dav1d_picture_unref(p);
-+ if (res < 0)
-+ av_frame_unref(frame);
-+ return res;
-+}
-+
-+static av_cold int libdav1d_close(AVCodecContext *c)
-+{
-+ Libdav1dContext *dav1d = c->priv_data;
-+
-+ av_buffer_pool_uninit(&dav1d->pool);
-+ dav1d_data_unref(&dav1d->data);
-+ dav1d_close(&dav1d->c);
-+
-+ return 0;
-+}
-+
-+#define OFFSET(x) offsetof(Libdav1dContext, x)
-+#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
-+static const AVOption libdav1d_options[] = {
-+ { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
-+ { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
-+ { "filmgrain", "Apply Film Grain", OFFSET(apply_grain), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, VD },
-+ { NULL }
-+};
-+
-+static const AVClass libdav1d_class = {
-+ .class_name = "libdav1d decoder",
-+ .item_name = av_default_item_name,
-+ .option = libdav1d_options,
-+ .version = LIBAVUTIL_VERSION_INT,
-+};
-+
-+AVCodec ff_libdav1d_decoder = {
-+ .name = "libdav1d",
-+ .long_name = NULL_IF_CONFIG_SMALL("dav1d AV1 decoder by VideoLAN"),
-+ .type = AVMEDIA_TYPE_VIDEO,
-+ .id = AV_CODEC_ID_AV1,
-+ .priv_data_size = sizeof(Libdav1dContext),
-+ .init = libdav1d_init,
-+ .close = libdav1d_close,
-+ .flush = libdav1d_flush,
-+ .receive_frame = libdav1d_receive_frame,
-+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AUTO_THREADS,
-+ .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_SETS_PKT_DTS,
-+ .priv_class = &libdav1d_class,
-+ .wrapper_name = "libdav1d",
-+};
diff --git a/multimedia/ffmpeg/files/patch-libavcodec_allcodecs.c b/multimedia/ffmpeg/files/patch-libavcodec_allcodecs.c
index af746bcf51ab..ad0420d199f1 100644
--- a/multimedia/ffmpeg/files/patch-libavcodec_allcodecs.c
+++ b/multimedia/ffmpeg/files/patch-libavcodec_allcodecs.c
@@ -2,13 +2,14 @@
--- libavcodec/allcodecs.c.orig 2018-11-05 23:22:25 UTC
+++ libavcodec/allcodecs.c
-@@ -672,12 +672,12 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
+@@ -678,13 +678,13 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
extern AVCodec ff_pcm_mulaw_at_decoder;
extern AVCodec ff_qdmc_at_decoder;
extern AVCodec ff_qdm2_at_decoder;
+extern AVCodec ff_libdav1d_decoder;
extern AVCodec ff_libaom_av1_decoder;
extern AVCodec ff_libaom_av1_encoder;
+ extern AVCodec ff_libaribb24_decoder;
extern AVCodec ff_libcelt_decoder;
extern AVCodec ff_libcodec2_encoder;
extern AVCodec ff_libcodec2_decoder;
diff --git a/multimedia/ffmpeg/files/patch-libavdevice_v4l2.c b/multimedia/ffmpeg/files/patch-libavdevice_v4l2.c
new file mode 100644
index 000000000000..8518fadce3af
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-libavdevice_v4l2.c
@@ -0,0 +1,18 @@
+- ioctl() prototype on BSDs follows Version 7 AT&T UNIX
+
+--- libavdevice/v4l2.c.orig 2019-04-21 04:37:17 UTC
++++ libavdevice/v4l2.c
+@@ -95,10 +95,10 @@ struct video_data {
+ int (*open_f)(const char *file, int oflag, ...);
+ int (*close_f)(int fd);
+ int (*dup_f)(int fd);
+-#ifdef __GLIBC__
+- int (*ioctl_f)(int fd, unsigned long int request, ...);
+-#else
++#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */
+ int (*ioctl_f)(int fd, int request, ...);
++#else
++ int (*ioctl_f)(int fd, unsigned long int request, ...);
+ #endif
+ ssize_t (*read_f)(int fd, void *buffer, size_t n);
+ void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset);
diff --git a/multimedia/ffmpeg/pkg-plist b/multimedia/ffmpeg/pkg-plist
index 4ba4841895c4..aca6118ca0db 100644
--- a/multimedia/ffmpeg/pkg-plist
+++ b/multimedia/ffmpeg/pkg-plist
@@ -62,6 +62,7 @@ include/libavutil/fifo.h
include/libavutil/file.h
include/libavutil/frame.h
include/libavutil/hash.h
+include/libavutil/hdr_dynamic_metadata.h
include/libavutil/hmac.h
include/libavutil/hwcontext.h
include/libavutil/hwcontext_cuda.h
@@ -108,6 +109,7 @@ include/libavutil/timecode.h
include/libavutil/timestamp.h
include/libavutil/tree.h
include/libavutil/twofish.h
+include/libavutil/tx.h
include/libavutil/version.h
include/libavutil/xtea.h
include/libpostproc/postprocess.h
@@ -119,19 +121,19 @@ include/libswscale/version.h
lib/libavcodec.a
lib/libavcodec.so
lib/libavcodec.so.58
-lib/libavcodec.so.58.35.100
+lib/libavcodec.so.58.54.100
lib/libavdevice.a
lib/libavdevice.so
lib/libavdevice.so.58
-lib/libavdevice.so.58.5.100
+lib/libavdevice.so.58.8.100
lib/libavfilter.a
lib/libavfilter.so
lib/libavfilter.so.7
-lib/libavfilter.so.7.40.101
+lib/libavfilter.so.7.57.100
lib/libavformat.a
lib/libavformat.so
lib/libavformat.so.58
-lib/libavformat.so.58.20.100
+lib/libavformat.so.58.29.100
lib/libavresample.a
lib/libavresample.so
lib/libavresample.so.4
@@ -139,19 +141,19 @@ lib/libavresample.so.4.0.0
lib/libavutil.a
lib/libavutil.so
lib/libavutil.so.56
-lib/libavutil.so.56.22.100
+lib/libavutil.so.56.31.100
lib/libpostproc.a
lib/libpostproc.so
lib/libpostproc.so.55
-lib/libpostproc.so.55.3.100
+lib/libpostproc.so.55.5.100
lib/libswresample.a
lib/libswresample.so
lib/libswresample.so.3
-lib/libswresample.so.3.3.100
+lib/libswresample.so.3.5.100
lib/libswscale.a
lib/libswscale.so
lib/libswscale.so.5
-lib/libswscale.so.5.3.100
+lib/libswscale.so.5.5.100
libdata/pkgconfig/libavcodec.pc
libdata/pkgconfig/libavdevice.pc
libdata/pkgconfig/libavfilter.pc
diff --git a/multimedia/ffmpeg2theora/Makefile b/multimedia/ffmpeg2theora/Makefile
index 3df66c5c46a5..671ae14e875c 100644
--- a/multimedia/ffmpeg2theora/Makefile
+++ b/multimedia/ffmpeg2theora/Makefile
@@ -3,7 +3,7 @@
PORTNAME= ffmpeg2theora
PORTVERSION= 0.30
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= multimedia
MASTER_SITES= http://v2v.cc/~j/ffmpeg2theora/downloads/
diff --git a/multimedia/ffmpegthumbnailer/Makefile b/multimedia/ffmpegthumbnailer/Makefile
index 0f1a69eab623..03f2a000796e 100644
--- a/multimedia/ffmpegthumbnailer/Makefile
+++ b/multimedia/ffmpegthumbnailer/Makefile
@@ -3,7 +3,7 @@
PORTNAME= ffmpegthumbnailer
PORTVERSION= 2.2.0
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= multimedia graphics
MAINTAINER= clutton@zoho.com
diff --git a/multimedia/ffms2/Makefile b/multimedia/ffms2/Makefile
index ad51123abe09..58b913ad2ee9 100644
--- a/multimedia/ffms2/Makefile
+++ b/multimedia/ffms2/Makefile
@@ -2,7 +2,7 @@
PORTNAME= ffms2
DISTVERSION= 2.23
-PORTREVISION= 10
+PORTREVISION= 11
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
diff --git a/multimedia/gstreamer1-libav/Makefile b/multimedia/gstreamer1-libav/Makefile
index c5b3f7e4a6bc..592d1f671f19 100644
--- a/multimedia/gstreamer1-libav/Makefile
+++ b/multimedia/gstreamer1-libav/Makefile
@@ -3,7 +3,7 @@
PORTNAME= gstreamer1-libav
PORTVERSION= 1.14.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-libav/
DISTNAME= gst-libav-${PORTVERSION}
diff --git a/multimedia/harvid/Makefile b/multimedia/harvid/Makefile
index 15997b0cc458..7e8cfea4b9cd 100644
--- a/multimedia/harvid/Makefile
+++ b/multimedia/harvid/Makefile
@@ -3,7 +3,7 @@
PORTNAME= harvid
DISTVERSIONPREFIX= v
DISTVERSION= 0.8.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= marcelbonnet@gmail.com
diff --git a/multimedia/imagination/Makefile b/multimedia/imagination/Makefile
index 257fdbdb7705..367a4a005556 100644
--- a/multimedia/imagination/Makefile
+++ b/multimedia/imagination/Makefile
@@ -3,7 +3,7 @@
PORTNAME= imagination
PORTVERSION= 3.0
-PORTREVISION= 10
+PORTREVISION= 11
CATEGORIES= multimedia
MASTER_SITES= SF
diff --git a/multimedia/kdemultimedia-ffmpegthumbs/Makefile b/multimedia/kdemultimedia-ffmpegthumbs/Makefile
index 5b216850972a..42f6e4b1caca 100644
--- a/multimedia/kdemultimedia-ffmpegthumbs/Makefile
+++ b/multimedia/kdemultimedia-ffmpegthumbs/Makefile
@@ -2,7 +2,7 @@
PORTNAME= ffmpegthumbs
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia kde kde-applications
PKGNAMEPREFIX= kdemultimedia-
diff --git a/multimedia/kodi-devel/Makefile b/multimedia/kodi-devel/Makefile
index decad3031cc9..133e34010981 100644
--- a/multimedia/kodi-devel/Makefile
+++ b/multimedia/kodi-devel/Makefile
@@ -2,7 +2,7 @@
PORTNAME= kodi
DISTVERSION= 19.0.a20190604
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
PKGNAMESUFFIX= -devel
diff --git a/multimedia/libopenshot/Makefile b/multimedia/libopenshot/Makefile
index 4fcf1034602b..5d80849b3a6c 100644
--- a/multimedia/libopenshot/Makefile
+++ b/multimedia/libopenshot/Makefile
@@ -3,8 +3,8 @@
PORTNAME= libopenshot
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.3-178
-PORTREVISION= 1
DISTVERSIONSUFFIX= -g17a2258
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= tatsuki_makino@hotmail.com
diff --git a/multimedia/libquicktime/Makefile b/multimedia/libquicktime/Makefile
index 767296ac99c2..bea8e2f06b33 100644
--- a/multimedia/libquicktime/Makefile
+++ b/multimedia/libquicktime/Makefile
@@ -3,7 +3,7 @@
PORTNAME= libquicktime
PORTVERSION= 1.2.4
-PORTREVISION?= 26
+PORTREVISION?= 27
CATEGORIES= multimedia
MASTER_SITES= SF
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index f35380aa4075..8f275f10aa4d 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -3,7 +3,7 @@
PORTNAME= xine
PORTVERSION= 1.2.9
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= multimedia ipv6
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${PORTVERSION}
PKGNAMEPREFIX= lib
diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index aedbe1bfc783..fa2d82b6aa8e 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -3,7 +3,7 @@
PORTNAME= lives
PORTVERSION= 2.10.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia
MASTER_SITES= http://lives-video.com/releases/
DISTNAME= LiVES-${PORTVERSION}
diff --git a/multimedia/mencoder/Makefile b/multimedia/mencoder/Makefile
index 025ef56e2e16..3381be65e938 100644
--- a/multimedia/mencoder/Makefile
+++ b/multimedia/mencoder/Makefile
@@ -3,6 +3,7 @@
PORTNAME= mencoder
PORTVERSION= ${MPLAYER_PORT_VERSION}.${MPLAYER_SNAPSHOT_DATE:S/-//g}
+PORTREVISION= 1
CATEGORIES= multimedia audio
MAINTAINER= riggs@FreeBSD.org
diff --git a/multimedia/mlt/Makefile b/multimedia/mlt/Makefile
index e409de63a924..b233a13763a1 100644
--- a/multimedia/mlt/Makefile
+++ b/multimedia/mlt/Makefile
@@ -3,7 +3,7 @@
PORTNAME= mlt
DISTVERSIONPREFIX= v
DISTVERSION= 6.16.0
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES?= multimedia
MAINTAINER= kde@FreeBSD.org
diff --git a/multimedia/motion/Makefile b/multimedia/motion/Makefile
index cf46cd265bf1..6b7da5e5a174 100644
--- a/multimedia/motion/Makefile
+++ b/multimedia/motion/Makefile
@@ -4,7 +4,7 @@
PORTNAME= motion
PORTVERSION= 4.0.1
DISTVERSIONPREFIX= release-
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
diff --git a/multimedia/mplayer/Makefile b/multimedia/mplayer/Makefile
index 83cc5d4cc187..81d1a53e4a9a 100644
--- a/multimedia/mplayer/Makefile
+++ b/multimedia/mplayer/Makefile
@@ -3,7 +3,7 @@
PORTNAME= mplayer
PORTVERSION= ${MPLAYER_PORT_VERSION}.${MPLAYER_SNAPSHOT_DATE:S/-//g}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia audio
MAINTAINER= riggs@FreeBSD.org
diff --git a/multimedia/mpv/Makefile b/multimedia/mpv/Makefile
index ddbe865953cc..43acd8ab698d 100644
--- a/multimedia/mpv/Makefile
+++ b/multimedia/mpv/Makefile
@@ -4,7 +4,7 @@
PORTNAME= mpv
PORTVERSION= 0.29.1
DISTVERSIONPREFIX= v
-PORTREVISION= 10
+PORTREVISION= 11
PORTEPOCH= 1
CATEGORIES= multimedia audio
MASTER_SITES= https://waf.io/:waf
diff --git a/multimedia/musikcube/Makefile b/multimedia/musikcube/Makefile
index dd5533dd34a9..649187ad21fc 100644
--- a/multimedia/musikcube/Makefile
+++ b/multimedia/musikcube/Makefile
@@ -2,7 +2,7 @@
PORTNAME= musikcube
DISTVERSION= 0.65.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia audio
MAINTAINER= yuri@FreeBSD.org
diff --git a/multimedia/nordlicht/Makefile b/multimedia/nordlicht/Makefile
index 738c44de3080..d4ad140b440e 100644
--- a/multimedia/nordlicht/Makefile
+++ b/multimedia/nordlicht/Makefile
@@ -4,7 +4,7 @@
PORTNAME= nordlicht
PORTVERSION= 0.4.5
DISTVERSIONPREFIX= v
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MAINTAINER= tobik@FreeBSD.org
diff --git a/multimedia/obs-studio/Makefile b/multimedia/obs-studio/Makefile
index 0d992d740456..0b4a0b07fbac 100644
--- a/multimedia/obs-studio/Makefile
+++ b/multimedia/obs-studio/Makefile
@@ -2,7 +2,7 @@
PORTNAME= obs-studio
DISTVERSION= 23.2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
diff --git a/multimedia/olive/Makefile b/multimedia/olive/Makefile
index c99d55182b16..db518bc86252 100644
--- a/multimedia/olive/Makefile
+++ b/multimedia/olive/Makefile
@@ -2,7 +2,7 @@
PORTNAME= olive
PORTVERSION= g20190414
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
PKGNAMESUFFIX= -video-editor
diff --git a/multimedia/omxplayer/Makefile b/multimedia/omxplayer/Makefile
index 8f8d680b231a..835ccd93ad35 100644
--- a/multimedia/omxplayer/Makefile
+++ b/multimedia/omxplayer/Makefile
@@ -3,7 +3,7 @@
PORTNAME= omxplayer
PORTVERSION= 20161004
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= multimedia
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/multimedia/pHash/Makefile b/multimedia/pHash/Makefile
index 635978636c68..68e3bc9e05d1 100644
--- a/multimedia/pHash/Makefile
+++ b/multimedia/pHash/Makefile
@@ -3,7 +3,7 @@
PORTNAME= pHash
PORTVERSION= 0.9.6
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= multimedia devel
MASTER_SITES= http://phash.org/releases/ \
http://www.cyberbotx.com/pHash/
diff --git a/multimedia/py-av/Makefile b/multimedia/py-av/Makefile
index e162ea976e15..3346cf9e9bfb 100644
--- a/multimedia/py-av/Makefile
+++ b/multimedia/py-av/Makefile
@@ -2,6 +2,7 @@
PORTNAME= av
PORTVERSION= 6.2.0
+PORTREVISION= 1
CATEGORIES= multimedia python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/multimedia/py-ffmpeg-python/Makefile b/multimedia/py-ffmpeg-python/Makefile
index c844510d6791..6edc6ef60b73 100644
--- a/multimedia/py-ffmpeg-python/Makefile
+++ b/multimedia/py-ffmpeg-python/Makefile
@@ -2,6 +2,7 @@
PORTNAME= ffmpeg-python
DISTVERSION= 0.1.18
+PORTREVISION= 1
CATEGORIES= multimedia python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/multimedia/qmmp-plugin-pack-qt5/Makefile b/multimedia/qmmp-plugin-pack-qt5/Makefile
index 2e4d5fcac664..a40af6c663d5 100644
--- a/multimedia/qmmp-plugin-pack-qt5/Makefile
+++ b/multimedia/qmmp-plugin-pack-qt5/Makefile
@@ -2,7 +2,7 @@
PORTNAME= qmmp-plugin-pack
PORTVERSION= 1.2.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/plugins/ \
SF/qmmp-dev/${PORTNAME}/
diff --git a/multimedia/qmmp-qt5/Makefile b/multimedia/qmmp-qt5/Makefile
index 72602873bbd2..0286377c01b5 100644
--- a/multimedia/qmmp-qt5/Makefile
+++ b/multimedia/qmmp-qt5/Makefile
@@ -2,7 +2,7 @@
PORTNAME= qmmp
PORTVERSION= 1.2.0
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/ \
SF/qmmp-dev/${PORTNAME}/
diff --git a/multimedia/rubygem-streamio-ffmpeg/Makefile b/multimedia/rubygem-streamio-ffmpeg/Makefile
index 59e7c5a8ef6c..b899ffa7955c 100644
--- a/multimedia/rubygem-streamio-ffmpeg/Makefile
+++ b/multimedia/rubygem-streamio-ffmpeg/Makefile
@@ -2,7 +2,7 @@
PORTNAME= streamio-ffmpeg
PORTVERSION= 3.0.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia rubygems
MASTER_SITES= RG
diff --git a/multimedia/simplescreenrecorder/Makefile b/multimedia/simplescreenrecorder/Makefile
index 3c68a3121e44..d1d964a32d39 100644
--- a/multimedia/simplescreenrecorder/Makefile
+++ b/multimedia/simplescreenrecorder/Makefile
@@ -2,8 +2,8 @@
PORTNAME= simplescreenrecorder
DISTVERSION= 0.3.11-20
-PORTREVISION= 2
DISTVERSIONSUFFIX= -g973cc00
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
diff --git a/multimedia/subtitlecomposer/Makefile b/multimedia/subtitlecomposer/Makefile
index 6aeeda4f13e7..ab9e0b8d5879 100644
--- a/multimedia/subtitlecomposer/Makefile
+++ b/multimedia/subtitlecomposer/Makefile
@@ -2,8 +2,8 @@
PORTNAME= subtitlecomposer
PORTVERSION= 0.7.0
-PORTREVISION= 1
DISTVERSIONPREFIX= v
+PORTREVISION= 2
CATEGORIES= multimedia kde
MAINTAINER= makc@FreeBSD.org
diff --git a/multimedia/transcode/Makefile b/multimedia/transcode/Makefile
index 7ff064dc1080..3e1d7f907b9f 100644
--- a/multimedia/transcode/Makefile
+++ b/multimedia/transcode/Makefile
@@ -3,7 +3,7 @@
PORTNAME= transcode
PORTVERSION= 1.1.7
-PORTREVISION= 38
+PORTREVISION= 39
CATEGORIES= multimedia
MASTER_SITES= https://bitbucket.org/france/transcode-tcforge/downloads/
diff --git a/multimedia/tvheadend/Makefile b/multimedia/tvheadend/Makefile
index a7e6ba844057..b3b55064b17f 100644
--- a/multimedia/tvheadend/Makefile
+++ b/multimedia/tvheadend/Makefile
@@ -3,8 +3,8 @@
PORTNAME= tvheadend
PORTVERSION= 4.2.8
-PORTREVISION= 2
DISTVERSIONPREFIX= v
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
diff --git a/multimedia/vapoursynth-l-smash-works/Makefile b/multimedia/vapoursynth-l-smash-works/Makefile
index 03ca24ef53f6..2bdf387f063e 100644
--- a/multimedia/vapoursynth-l-smash-works/Makefile
+++ b/multimedia/vapoursynth-l-smash-works/Makefile
@@ -3,7 +3,7 @@
PORTNAME= l-smash-works
DISTVERSION= 0.0-935 # git rev-list --count HEAD
DISTVERSIONSUFFIX= -g3edd194
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
PKGNAMEPREFIX= vapoursynth-
diff --git a/multimedia/vapoursynth/Makefile b/multimedia/vapoursynth/Makefile
index 7ec7a6263a8c..a4b571d201c4 100644
--- a/multimedia/vapoursynth/Makefile
+++ b/multimedia/vapoursynth/Makefile
@@ -2,7 +2,7 @@
PORTNAME= vapoursynth
PORTVERSION= R46
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
diff --git a/multimedia/vdr-plugin-markad/Makefile b/multimedia/vdr-plugin-markad/Makefile
index a52cd9f9de60..85830285c9ef 100644
--- a/multimedia/vdr-plugin-markad/Makefile
+++ b/multimedia/vdr-plugin-markad/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vdr-plugin-markad
PORTVERSION= 0.1.4
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= multimedia
MASTER_SITES= http://projects.vdr-developer.org/attachments/download/1041/
DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
diff --git a/multimedia/vdr-plugin-osdpip/Makefile b/multimedia/vdr-plugin-osdpip/Makefile
index d9cd4cb94c2b..d8c82ccb1695 100644
--- a/multimedia/vdr-plugin-osdpip/Makefile
+++ b/multimedia/vdr-plugin-osdpip/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vdr-plugin-osdpip
PORTVERSION= 0.1.2
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= multimedia
MASTER_SITES= http://projects.vdr-developer.org/attachments/download/961/
DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
diff --git a/multimedia/vdr-plugin-xineliboutput/Makefile b/multimedia/vdr-plugin-xineliboutput/Makefile
index 31c0f7e4c550..6c4072d2c347 100644
--- a/multimedia/vdr-plugin-xineliboutput/Makefile
+++ b/multimedia/vdr-plugin-xineliboutput/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vdr-plugin-xineliboutput
PORTVERSION= 1.0.90s20120511
-PORTREVISION= 27
+PORTREVISION= 28
CATEGORIES= multimedia
MASTER_SITES= SF/xineliboutput/files/xineliboutput/vdr-xineliboutput-${PORTVERSION}/:release \
LOCAL/nox:snapshot
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index 3f54abfaa14f..7607db5380bf 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vlc
DISTVERSION= 3.0.7.1
-PORTREVISION= 5
+PORTREVISION= 6
PORTEPOCH= 4
CATEGORIES= multimedia audio ipv6 net www
MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
diff --git a/multimedia/webcamoid/Makefile b/multimedia/webcamoid/Makefile
index d3f1d66a0701..a39ff8fe35e1 100644
--- a/multimedia/webcamoid/Makefile
+++ b/multimedia/webcamoid/Makefile
@@ -2,7 +2,7 @@
PORTNAME= webcamoid
DISTVERSION= 8.6.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
diff --git a/multimedia/wf-recorder/Makefile b/multimedia/wf-recorder/Makefile
index 160846291813..1fa9eeb64c87 100644
--- a/multimedia/wf-recorder/Makefile
+++ b/multimedia/wf-recorder/Makefile
@@ -3,7 +3,7 @@
PORTNAME= wf-recorder
DISTVERSIONPREFIX= v
DISTVERSION= 0.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia wayland
MAINTAINER= tobik@FreeBSD.org
diff --git a/multimedia/winff/Makefile b/multimedia/winff/Makefile
index 3a4857b565ad..1903c14a514b 100644
--- a/multimedia/winff/Makefile
+++ b/multimedia/winff/Makefile
@@ -3,7 +3,7 @@
PORTNAME= WinFF
PORTVERSION= 1.5.5
-PORTREVISION= 12
+PORTREVISION= 13
CATEGORIES= multimedia
MASTER_SITES= http://winff.org/docs/source/
PKGNAMESUFFIX= ${LAZARUS_PKGNAMESUFFIX}
diff --git a/multimedia/x264/Makefile b/multimedia/x264/Makefile
index 68ed7387a7e3..6556855bbe4d 100644
--- a/multimedia/x264/Makefile
+++ b/multimedia/x264/Makefile
@@ -19,7 +19,7 @@
PORTNAME= x264
PORTVERSION= 0.${X264_BUILD}.${X264_REV}
-PORTREVISION?= 1 # 1 in libx264
+PORTREVISION?= 2 # 2 in libx264
CATEGORIES= multimedia
MASTER_SITES= https://downloads.videolan.org/pub/videolan/x264/snapshots/ \
https://samples.mplayerhq.hu/yuv4mpeg2/:pgo
diff --git a/multimedia/zoneminder/Makefile b/multimedia/zoneminder/Makefile
index cc8a36836040..c88d1217d3ae 100644
--- a/multimedia/zoneminder/Makefile
+++ b/multimedia/zoneminder/Makefile
@@ -2,7 +2,7 @@
PORTNAME= zoneminder
PORTVERSION= 1.32.3
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= bsd@abinet.ru