Index | Thread | Search

From:
Rafael Sadowski <rafael@sizeofvoid.org>
Subject:
Re: UPDATE: FFmpeg 4.4.5
To:
Brad Smith <brad@comstyle.com>
Cc:
ports@openbsd.org
Date:
Thu, 1 Aug 2024 10:43:03 +0200

Download raw body.

Thread
On Mon Jul 29, 2024 at 03:57:36AM UTC, Brad Smith wrote:
> Here is an update to FFmpeg 4.4.5.

Works in my setup. OK rsadowski

> 
> 
> Index: graphics/ffmpeg/Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/ffmpeg/Makefile,v
> retrieving revision 1.240
> diff -u -p -u -p -r1.240 Makefile
> --- graphics/ffmpeg/Makefile	28 Jul 2024 06:38:23 -0000	1.240
> +++ graphics/ffmpeg/Makefile	29 Jul 2024 04:19:06 -0000
> @@ -1,9 +1,8 @@
>  COMMENT=	audio/video converter and streamer
>  
> -V=		4.4.4
> +V=		4.4.5
>  DISTNAME=	ffmpeg-${V}
>  EPOCH=		1
> -REVISION=	6
>  CATEGORIES=	graphics multimedia
>  SITES=		https://ffmpeg.org/releases/
>  EXTRACT_SUFX=	.tar.xz
> @@ -68,16 +67,19 @@ LIB_DEPENDS=	archivers/bzip2 \
>  # inter-library dependencies for the current configuration
>  LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -L${X11BASE}/lib -laom -ldav1d -lgsm -liconv -llzma
>  LIBavcodec_EXTRALIBS+=-lmp3lame -lopus -lspeex -ltheoradec -ltheoraenc -lvorbis
> -LIBavcodec_EXTRALIBS+=-lvorbisenc -lvpx -lx264 -lx265 -lxvidcore -lm -lz -pthread
> -LIBavcodec_EXTRALIBS+=-lva -lva-drm
> +LIBavcodec_EXTRALIBS+=-lvorbisenc -lvpx -lx264 -lx265 -lxvidcore -lm -lz -lva
> +LIBavcodec_EXTRALIBS+=-lva-drm -pthread
>  
>  LIBavdevice_EXTRALIBS=-L${LOCALBASE}/lib -L${X11BASE}/lib -lX11 -lXext -lXv
>  LIBavdevice_EXTRALIBS+=-lxcb-shape -lxcb-shm -lxcb-xfixes -lxcb -lsndio -lv4l2 -lm
>  
>  LIBavfilter_EXTRALIBS=-L${LOCALBASE}/lib -L${X11BASE}/lib -lass -lfontconfig
> -LIBavfilter_EXTRALIBS+=-lfreetype -lfribidi -lvidstab -lm -lz -lzimg -pthread -lva
> +LIBavfilter_EXTRALIBS+=-lfreetype -lfribidi -lvidstab -lm -lz -lzimg -lva -pthread
> +
>  LIBavformat_EXTRALIBS=-L${LOCALBASE}/lib -lbz2 -lxml2 -lssl -lcrypto -lm -lz
> +
>  LIBavutil_EXTRALIBS=-L${X11BASE}/lib -lva -lva-drm -lva-x11 -lm -pthread
> +
>  LIBpostproc_EXTRALIBS=-lm
>  LIBswresample_EXTRALIBS=-lm
>  LIBswscale_EXTRALIBS=-lm
> @@ -102,7 +104,6 @@ CONFIGURE_ARGS+=--enable-shared \
>  		--disable-stripping \
>  		--disable-indev=jack \
>  		--disable-outdev=sdl2 \
> -		--enable-vaapi \
>  		--enable-fontconfig \
>  		--enable-frei0r \
>  		--enable-gpl \
> Index: graphics/ffmpeg/distinfo
> ===================================================================
> RCS file: /cvs/ports/graphics/ffmpeg/distinfo,v
> retrieving revision 1.66
> diff -u -p -u -p -r1.66 distinfo
> --- graphics/ffmpeg/distinfo	30 Apr 2023 05:25:28 -0000	1.66
> +++ graphics/ffmpeg/distinfo	29 Jul 2024 04:19:06 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (ffmpeg-4.4.4.tar.xz) = 6As4DVlcgJBg9m+WpdhJUR70p2omt26s9XeLlMNXAwk=
> -SIZE (ffmpeg-4.4.4.tar.xz) = 9565584
> +SHA256 (ffmpeg-4.4.5.tar.xz) = +VFODTUVruWicSg99xY24dH/cnSxWFO82E4US+QWqwc=
> +SIZE (ffmpeg-4.4.5.tar.xz) = 9575596
> Index: graphics/ffmpeg/patches/patch-configure
> ===================================================================
> RCS file: /cvs/ports/graphics/ffmpeg/patches/patch-configure,v
> retrieving revision 1.72
> diff -u -p -u -p -r1.72 patch-configure
> --- graphics/ffmpeg/patches/patch-configure	4 Dec 2022 20:12:36 -0000	1.72
> +++ graphics/ffmpeg/patches/patch-configure	29 Jul 2024 04:19:06 -0000
> @@ -1,4 +1,3 @@
> -- configure: use pkg-config for sndio
>  - configure: add initial RISC-V support
>  - Fix broken libatomic test
>  
> @@ -43,7 +42,7 @@ Index: configure
>       s390)
>           check_64bit s390 s390x
>           enabled shared && enable_weak pic
> -@@ -5378,7 +5386,6 @@ case $target_os in
> +@@ -5379,7 +5387,6 @@ case $target_os in
>           enable section_data_rel_ro
>           striptype=""
>           SHFLAGS='-shared'
> @@ -51,7 +50,7 @@ Index: configure
>           SLIB_INSTALL_LINKS=
>           oss_indev_extralibs="-lossaudio"
>           oss_outdev_extralibs="-lossaudio"
> -@@ -5734,7 +5741,7 @@ set_default libdir
> +@@ -5736,7 +5743,7 @@ set_default libdir
>   set_default $PATHS_LIST
>   set_default nm
>   
> @@ -60,7 +59,7 @@ Index: configure
>   
>   enable_weak_pic() {
>       disabled pic && return
> -@@ -6189,7 +6196,7 @@ check_headers asm/types.h
> +@@ -6191,7 +6198,7 @@ check_headers asm/types.h
>   #
>   # some configurations also require linking to libatomic, so try
>   # both with -latomic and without
> @@ -69,13 +68,3 @@ Index: configure
>       check_builtin stdatomic stdatomic.h                                                 \
>           "atomic_int foo, bar = ATOMIC_VAR_INIT(-1); atomic_store(&foo, 0); foo += bar"  \
>           $LATOMIC && eval stdatomic_extralibs="\$LATOMIC" && break
> -@@ -6657,7 +6664,8 @@ enabled alsa && { check_pkg_config alsa alsa "alsa/aso
> - enabled libjack &&
> -     require_pkg_config libjack jack jack/jack.h jack_port_get_latency_range
> - 
> --enabled sndio && check_lib sndio sndio.h sio_open -lsndio
> -+enabled sndio && { check_pkg_config sndio sndio "sndio.h" sio_open ||
> -+                   check_lib sndio sndio.h sio_open -lsndio; }
> - 
> - if enabled libcdio; then
> -     check_pkg_config libcdio libcdio_paranoia "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open ||
> Index: graphics/ffmpeg/patches/patch-libavcodec_libsvtav1_c
> ===================================================================
> RCS file: /cvs/ports/graphics/ffmpeg/patches/patch-libavcodec_libsvtav1_c,v
> retrieving revision 1.3
> diff -u -p -u -p -r1.3 patch-libavcodec_libsvtav1_c
> --- graphics/ffmpeg/patches/patch-libavcodec_libsvtav1_c	5 Dec 2022 10:03:55 -0000	1.3
> +++ graphics/ffmpeg/patches/patch-libavcodec_libsvtav1_c	29 Jul 2024 04:19:06 -0000
> @@ -13,7 +13,6 @@
>  - avcodec/libsvtav1: update avctx bit rate according to RC mode
>  - avcodec/libsvtav1: signal CPB properties through side data
>  - avcodec/libsvtav1: properly initialize the flush EbBufferHeaderType struct
> -- avcodec/libsvtav1: remove compressed_ten_bit_format and simplify alloc_buffer
>  - avcodec/libsvtav1: replace vbv_bufsize with maximum_buffer_size_ms
>  - avcodec/libsvtav1: only set max_buf_sz if both bitrate and rc_buf_sz is set
>  - avcodec/libsvtav1: don't force a default value for deprecated options
> @@ -45,27 +44,7 @@ Index: libavcodec/libsvtav1.c
>   } SvtContext;
>   
>   static const struct {
> -@@ -120,16 +123,12 @@ static int svt_print_error(void *log_ctx, EbErrorType 
> - 
> - static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc)
> - {
> --    const int    pack_mode_10bit =
> --        (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0;
> --    const size_t luma_size_8bit  =
> --        config->source_width * config->source_height * (1 << pack_mode_10bit);
> --    const size_t luma_size_10bit =
> --        (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0;
> -+    const size_t luma_size = config->source_width * config->source_height *
> -+        (config->encoder_bit_depth > 8 ? 2 : 1);
> - 
> -     EbSvtIOFormat *in_data;
> - 
> --    svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2;
> -+    svt_enc->raw_size = luma_size * 3 / 2;
> - 
> -     // allocate buffer for in and out
> -     svt_enc->in_buf           = av_mallocz(sizeof(*svt_enc->in_buf));
> -@@ -151,11 +150,132 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
> +@@ -147,11 +150,132 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
>   {
>       SvtContext *svt_enc = avctx->priv_data;
>       const AVPixFmtDescriptor *desc;
> @@ -199,7 +178,7 @@ Index: libavcodec/libsvtav1.c
>       param->encoder_bit_depth = desc->comp[0].depth;
>   
>       if (desc->log2_chroma_w == 1 && desc->log2_chroma_h == 1)
> -@@ -169,12 +289,6 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
> +@@ -165,12 +289,6 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
>           return AVERROR(EINVAL);
>       }
>   
> @@ -212,7 +191,7 @@ Index: libavcodec/libsvtav1.c
>       if ((param->encoder_color_format == EB_YUV422 || param->encoder_bit_depth > 10)
>            && param->profile != FF_PROFILE_AV1_PROFESSIONAL ) {
>           av_log(avctx, AV_LOG_WARNING, "Forcing Professional profile\n");
> -@@ -184,40 +298,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
> +@@ -180,40 +298,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
>           param->profile = FF_PROFILE_AV1_HIGH;
>       }
>   
> @@ -264,7 +243,7 @@ Index: libavcodec/libsvtav1.c
>       return 0;
>   }
>   
> -@@ -330,11 +425,8 @@ static int eb_send_frame(AVCodecContext *avctx, const 
> +@@ -326,11 +425,8 @@ static int eb_send_frame(AVCodecContext *avctx, const 
>           if (svt_enc->eos_flag == EOS_SENT)
>               return 0;
>   
> @@ -278,7 +257,7 @@ Index: libavcodec/libsvtav1.c
>           headerPtrLast.flags         = EB_BUFFERFLAG_EOS;
>   
>           svt_av1_enc_send_picture(svt_enc->svt_handle, &headerPtrLast);
> -@@ -350,6 +442,16 @@ static int eb_send_frame(AVCodecContext *avctx, const 
> +@@ -346,6 +442,16 @@ static int eb_send_frame(AVCodecContext *avctx, const 
>       headerPtr->p_app_private = NULL;
>       headerPtr->pts           = frame->pts;
>   
> @@ -295,7 +274,7 @@ Index: libavcodec/libsvtav1.c
>       svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr);
>   
>       return 0;
> -@@ -472,21 +574,22 @@ static av_cold int eb_enc_close(AVCodecContext *avctx)
> +@@ -468,21 +574,22 @@ static av_cold int eb_enc_close(AVCodecContext *avctx)
>   #define OFFSET(x) offsetof(SvtContext, x)
>   #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
>   static const AVOption options[] = {
> @@ -327,7 +306,7 @@ Index: libavcodec/libsvtav1.c
>   
>       FF_AV1_PROFILE_OPTS
>   
> -@@ -518,21 +621,20 @@ static const AVOption options[] = {
> +@@ -514,21 +621,20 @@ static const AVOption options[] = {
>           { LEVEL("7.3", 73) },
>   #undef LEVEL
>   
> @@ -360,7 +339,7 @@ Index: libavcodec/libsvtav1.c
>       {NULL},
>   };
>   
> -@@ -544,9 +646,10 @@ static const AVClass class = {
> +@@ -540,9 +646,10 @@ static const AVClass class = {
>   };
>   
>   static const AVCodecDefault eb_enc_defaults[] = {
> @@ -373,7 +352,7 @@ Index: libavcodec/libsvtav1.c
>       { "qmax",      "63"    },
>       { NULL },
>   };
> -@@ -561,12 +664,11 @@ AVCodec ff_libsvtav1_encoder = {
> +@@ -557,12 +664,11 @@ AVCodec ff_libsvtav1_encoder = {
>       .receive_packet = eb_receive_packet,
>       .close          = eb_enc_close,
>       .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
> Index: graphics/ffmpeg/patches/patch-libavdevice_v4l2_c
> ===================================================================
> RCS file: graphics/ffmpeg/patches/patch-libavdevice_v4l2_c
> diff -N graphics/ffmpeg/patches/patch-libavdevice_v4l2_c
> --- graphics/ffmpeg/patches/patch-libavdevice_v4l2_c	23 Jul 2024 10:18:14 -0000	1.3
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,20 +0,0 @@
> -lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
> -9e674b31606c805dd31b4bb754364a72a5877238
> -
> -Index: libavdevice/v4l2.c
> ---- libavdevice/v4l2.c.orig
> -+++ libavdevice/v4l2.c
> -@@ -107,10 +107,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);
> Index: graphics/ffmpeg/patches/patch-libavformat_utils_c
> ===================================================================
> RCS file: graphics/ffmpeg/patches/patch-libavformat_utils_c
> diff -N graphics/ffmpeg/patches/patch-libavformat_utils_c
> --- graphics/ffmpeg/patches/patch-libavformat_utils_c	19 Dec 2023 09:00:06 -0000	1.7
> +++ /dev/null	1 Jan 1970 00:00:00 -0000
> @@ -1,24 +0,0 @@
> -llvm 16 optimizations lead to a segfault when seeking in opus files because
> -checks that could leave pos_max uninitialized are optimized away, leading
> -to out-of-bounds reads from the guard pages.
> -
> -av_uninit() is complete batshittery:
> -
> -https://marc.info/?l=openbsd-ports&m=170284868209618&w=2
> -
> -Turns out the same commit has landed upstream:
> -
> -https://github.com/FFmpeg/FFmpeg/commit/ab792634197e364ca1bb194f9abe36836e42f12d
> -
> -Index: libavformat/utils.c
> ---- libavformat/utils.c.orig
> -+++ libavformat/utils.c
> -@@ -2146,7 +2146,7 @@ int ff_seek_frame_binary(AVFormatContext *s, int strea
> -                          int64_t target_ts, int flags)
> - {
> -     const AVInputFormat *avif = s->iformat;
> --    int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit;
> -+    int64_t pos_min = 0, pos_max = 0, pos, pos_limit;
> -     int64_t ts_min, ts_max, ts;
> -     int index;
> -     int64_t ret;
> Index: x11/mplayer/Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/mplayer/Makefile,v
> retrieving revision 1.329
> diff -u -p -u -p -r1.329 Makefile
> --- x11/mplayer/Makefile	27 Sep 2023 20:37:18 -0000	1.329
> +++ x11/mplayer/Makefile	29 Jul 2024 04:19:06 -0000
> @@ -1,9 +1,9 @@
>  COMMENT=	movie player supporting many formats
>  
>  V=		20230409
> -FFMPEG_V=	4.4.4
> +FFMPEG_V=	4.4.5
>  DISTNAME=	mplayer-${V}
> -REVISION=	1
> +REVISION=	2
>  CATEGORIES=	x11 multimedia
>  SITES=		https://comstyle.com/source/
>  EXTRACT_SUFX=	.tar.xz
>