aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2024-05-11 13:58:44 +0000
committerJan Beich <jbeich@FreeBSD.org>2024-05-11 16:03:30 +0000
commit874d8e4b5d2e2a0152e555b8e09f573a95b255ab (patch)
treefb1f05b7dcc230334723fb59341db72c087a3923 /multimedia
parent4bb968bc7ed29dd5cd4822f80c7a0b11fd133193 (diff)
downloadports-874d8e4b5d2e2a0152e555b8e09f573a95b255ab.tar.gz
ports-874d8e4b5d2e2a0152e555b8e09f573a95b255ab.zip
multimedia/av1an: unbreak build with ffmpeg 7.0
error[E0425]: cannot find value `AV_CH_LAYOUT_NATIVE` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/channel_layout.rs:31:39 | 31 | const NATIVE = AV_CH_LAYOUT_NATIVE; | ^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_STEREO` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:20777:1 | 20777 | pub const AV_CH_LAYOUT_STEREO: libc::c_ulonglong = 3; | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_STEREO` defined here error[E0425]: cannot find value `AV_PIX_FMT_XVMC` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/format/pixel.rs:1040:28 | 1040 | Pixel::XVMC => AV_PIX_FMT_XVMC, | ^^^^^^^^^^^^^^^ help: a unit variant with a similar name exists: `AV_PIX_FMT_NV12` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:4854:3 | 4854 | AV_PIX_FMT_NV12 = 23, | --------------- similarly named unit variant `AV_PIX_FMT_NV12` defined here error[E0425]: cannot find value `AV_OPT_TYPE_CHANNEL_LAYOUT` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/option/mod.rs:88:36 | 88 | Type::ChannelLayout => AV_OPT_TYPE_CHANNEL_LAYOUT, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a unit variant with a similar name exists: `AV_OPT_TYPE_CHLAYOUT` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:13179:3 | 13179 | AV_OPT_TYPE_CHLAYOUT = 19, | -------------------- similarly named unit variant `AV_OPT_TYPE_CHLAYOUT` defined here error[E0425]: cannot find value `AV_CODEC_ID_AYUV` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/id.rs:1514:25 | 1514 | Id::AYUV => AV_CODEC_ID_AYUV, | ^^^^^^^^^^^^^^^^ help: a unit variant with a similar name exists: `AV_CODEC_ID_CYUV` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:7538:3 | 7538 | AV_CODEC_ID_CYUV = 26, | ---------------- similarly named unit variant `AV_CODEC_ID_CYUV` defined here error[E0425]: cannot find function `av_get_channel_layout_nb_channels` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/channel_layout.rs:67:18 | 67 | unsafe { av_get_channel_layout_nb_channels(self.bits()) } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope error[E0425]: cannot find function `av_get_default_channel_layout` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/channel_layout.rs:72:47 | 72 | ChannelLayout::from_bits_truncate(av_get_default_channel_layout(number) as c_ulonglong) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope error[E0609]: no field `coded_picture_number` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/video.rs:178:35 | 178 | unsafe { (*self.as_ptr()).coded_picture_number as usize } | ^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `display_picture_number` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/video.rs:183:35 | 183 | unsafe { (*self.as_ptr()).display_picture_number as usize } | ^^^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `channel_layout` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/audio.rs:66:69 | 66 | unsafe { ChannelLayout::from_bits_truncate((*self.as_ptr()).channel_layout as c_ulonglong) } | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `channel_layout` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/audio.rs:72:34 | 72 | (*self.as_mut_ptr()).channel_layout = value.bits() as u64; | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `channels` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/audio.rs:78:35 | 78 | unsafe { (*self.as_ptr()).channels as u16 } | ^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `channels` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/audio.rs:84:34 | 84 | (*self.as_mut_ptr()).channels = i32::from(value); | ^^^^^^^^ unknown field | = note: available fields are: `data`, `linesize`, `extended_data`, `width`, `height` ... and 40 others error[E0609]: no field `pkt_duration` on type `sys::AVFrame` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/frame/mod.rs:82:44 | 82 | duration: (*self.as_ptr()).pkt_duration as i64, | ^^^^^^^^^^^^ unknown field | help: a field with a similar name exists | 82 | duration: (*self.as_ptr()).duration as i64, | ~~~~~~~~ error[E0425]: cannot find function `av_opt_set_channel_layout` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/option/traits.rs:137:20 | 137 | check!(av_opt_set_channel_layout( | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `av_opt_set_chlayout` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:13786:3 | 13786 | / pub fn av_opt_set_chlayout( 13787 | | obj: *mut libc::c_void, 13788 | | name: *const libc::c_char, 13789 | | layout: *const AVChannelLayout, 13790 | | search_flags: libc::c_int, 13791 | | ) -> libc::c_int; | |__________________- similarly named function `av_opt_set_chlayout` defined here error[E0609]: no field `channel_layouts` on type `sys::AVCodec` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/audio.rs:41:39 | 41 | if (*self.codec.as_ptr()).channel_layouts.is_null() { | ^^^^^^^^^^^^^^^ unknown field | help: a field with a similar name exists | 41 | if (*self.codec.as_ptr()).ch_layouts.is_null() { | ~~~~~~~~~~ error[E0609]: no field `channel_layouts` on type `sys::AVCodec` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/audio.rs:45:44 | 45 | (*self.codec.as_ptr()).channel_layouts, | ^^^^^^^^^^^^^^^ unknown field | help: a field with a similar name exists | 45 | (*self.codec.as_ptr()).ch_layouts, | ~~~~~~~~~~ error[E0609]: no field `slice_count` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/video.rs:89:34 | 89 | (*self.as_mut_ptr()).slice_count = value as c_int; | ^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channels` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/audio.rs:51:35 | 51 | unsafe { (*self.as_ptr()).channels as u16 } | ^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `frame_number` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/audio.rs:65:35 | 65 | unsafe { (*self.as_ptr()).frame_number as usize } | ^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channel_layout` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/audio.rs:73:69 | 73 | unsafe { ChannelLayout::from_bits_truncate((*self.as_ptr()).channel_layout) } | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channel_layout` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/audio.rs:78:34 | 78 | (*self.as_mut_ptr()).channel_layout = value.bits(); | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `request_channel_layout` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/decoder/audio.rs:84:34 | 84 | (*self.as_mut_ptr()).request_channel_layout = value.bits(); | ^^^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channel_layout` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/encoder/audio.rs:98:34 | 98 | (*self.as_mut_ptr()).channel_layout = value.bits(); | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channel_layout` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/encoder/audio.rs:103:69 | 103 | unsafe { ChannelLayout::from_bits_truncate((*self.as_ptr()).channel_layout) } | ^^^^^^^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channels` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/encoder/audio.rs:108:34 | 108 | (*self.as_mut_ptr()).channels = value; | ^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0609]: no field `channels` on type `sys::AVCodecContext` --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/codec/encoder/audio.rs:113:35 | 113 | unsafe { (*self.as_ptr()).channels as u16 } | ^^^^^^^^ unknown field | = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 95 others error[E0425]: cannot find function `swr_alloc_set_opts` in this scope --> cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/software/resampling/context.rs:71:23 | 71 | let ptr = swr_alloc_set_opts( | ^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `swr_alloc_set_opts2` | ::: ../target/x86_64-unknown-freebsd/release/build/ffmpeg-sys-the-third-ec468502176024bc/out/bindings.rs:23165:3 | 23165 | / pub fn swr_alloc_set_opts2( 23166 | | ps: *mut *mut SwrContext, 23167 | | out_ch_layout: *const AVChannelLayout, 23168 | | out_sample_fmt: AVSampleFormat, ... | 23174 | | log_ctx: *mut libc::c_void, 23175 | | ) -> libc::c_int; | |__________________- similarly named function `swr_alloc_set_opts2` defined here Some errors have detailed explanations: E0425, E0609. Reported by: antoine (via bug 278705 exp-run)
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/av1an/Makefile2
-rw-r--r--multimedia/av1an/Makefile.crates9
-rw-r--r--multimedia/av1an/distinfo18
-rw-r--r--multimedia/av1an/files/patch-ffmpeg4
-rw-r--r--multimedia/av1an/files/patch-ffmpeg7146
5 files changed, 161 insertions, 18 deletions
diff --git a/multimedia/av1an/Makefile b/multimedia/av1an/Makefile
index 27a34c6063f9..5d07e03ce425 100644
--- a/multimedia/av1an/Makefile
+++ b/multimedia/av1an/Makefile
@@ -1,6 +1,6 @@
PORTNAME= av1an
DISTVERSION= 0.4.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
diff --git a/multimedia/av1an/Makefile.crates b/multimedia/av1an/Makefile.crates
index 36c31f1b1911..5f91d16549f3 100644
--- a/multimedia/av1an/Makefile.crates
+++ b/multimedia/av1an/Makefile.crates
@@ -23,9 +23,9 @@ CARGO_CRATES= addr2line-0.21.0 \
av-scenechange-0.10.0 \
av1-grain-0.2.3 \
backtrace-0.3.69 \
- bindgen-0.64.0 \
+ bindgen-0.69.4 \
bitflags-1.3.2 \
- bitflags-2.4.1 \
+ bitflags-2.5.0 \
bitstream-io-2.2.0 \
built-0.7.1 \
bumpalo-3.14.0 \
@@ -54,8 +54,8 @@ CARGO_CRATES= addr2line-0.21.0 \
encode_unicode-0.3.6 \
equivalent-1.0.1 \
errno-0.3.8 \
- ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0 \
- ffmpeg-the-third-1.2.2+ffmpeg-6.0 \
+ ffmpeg-sys-the-third-2.0.0+ffmpeg-7.0 \
+ ffmpeg-the-third-2.0.1+ffmpeg-7.0 \
flexi_logger-0.27.3 \
form_urlencoded-1.2.1 \
getrandom-0.2.12 \
@@ -115,7 +115,6 @@ CARGO_CRATES= addr2line-0.21.0 \
parking_lot_core-0.9.9 \
paste-1.0.14 \
path_abs-0.5.1 \
- peeking_take_while-0.1.2 \
percent-encoding-2.3.1 \
pin-project-lite-0.2.13 \
pkg-config-0.3.28 \
diff --git a/multimedia/av1an/distinfo b/multimedia/av1an/distinfo
index 202ad73539e4..96cf9b4ce605 100644
--- a/multimedia/av1an/distinfo
+++ b/multimedia/av1an/distinfo
@@ -49,12 +49,12 @@ SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0
SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
-SHA256 (rust/crates/bindgen-0.64.0.crate) = c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4
-SIZE (rust/crates/bindgen-0.64.0.crate) = 204700
+SHA256 (rust/crates/bindgen-0.69.4.crate) = a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0
+SIZE (rust/crates/bindgen-0.69.4.crate) = 221092
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.4.1.crate) = 327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07
-SIZE (rust/crates/bitflags-2.4.1.crate) = 37043
+SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
+SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
SHA256 (rust/crates/bitstream-io-2.2.0.crate) = 06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da
SIZE (rust/crates/bitstream-io-2.2.0.crate) = 34113
SHA256 (rust/crates/built-0.7.1.crate) = 38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53
@@ -111,10 +111,10 @@ SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8d
SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
SIZE (rust/crates/errno-0.3.8.crate) = 10645
-SHA256 (rust/crates/ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0.crate) = 94a4b2e9c02074c0ee85661b23b3ac849bad6afc554b503c183975f5e2e0d3de
-SIZE (rust/crates/ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0.crate) = 14894
-SHA256 (rust/crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0.crate) = 301c55f432cce71d0cc5266e8e70e69cc7a865f8aa8785c44cb56c3935a13715
-SIZE (rust/crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0.crate) = 89833
+SHA256 (rust/crates/ffmpeg-sys-the-third-2.0.0+ffmpeg-7.0.crate) = a82bfdb0a7925996707f0a7dc37b2f3251ff5a15d26e78c586adb60c240dedc5
+SIZE (rust/crates/ffmpeg-sys-the-third-2.0.0+ffmpeg-7.0.crate) = 17325
+SHA256 (rust/crates/ffmpeg-the-third-2.0.1+ffmpeg-7.0.crate) = c4aa99eb55979d5c1db3b0b7a807a5e50dda07f5f6c2dbc6e9b50c205f611646
+SIZE (rust/crates/ffmpeg-the-third-2.0.1+ffmpeg-7.0.crate) = 93679
SHA256 (rust/crates/flexi_logger-0.27.3.crate) = 2ac35b454b60e1836602173e2eb7ef531173388c0212e02ec7f9fac086159ee5
SIZE (rust/crates/flexi_logger-0.27.3.crate) = 216178
SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
@@ -233,8 +233,6 @@ SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034
SIZE (rust/crates/paste-1.0.14.crate) = 18157
SHA256 (rust/crates/path_abs-0.5.1.crate) = 05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3
SIZE (rust/crates/path_abs-0.5.1.crate) = 31072
-SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
-SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
diff --git a/multimedia/av1an/files/patch-ffmpeg b/multimedia/av1an/files/patch-ffmpeg
index f9a5ee9fd73b..e93e44713a00 100644
--- a/multimedia/av1an/files/patch-ffmpeg
+++ b/multimedia/av1an/files/patch-ffmpeg
@@ -22,8 +22,8 @@ help: a similar name exists in the module
23 | EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, VTIME, ETIMEDOUT, ETXTBSY,
| ~~~~~
---- cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/error.rs.orig 2006-07-24 01:21:28 UTC
-+++ cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/error.rs
+--- cargo-crates/ffmpeg-the-third-2.0.1+ffmpeg-7.0/src/util/error.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/ffmpeg-the-third-2.0.1+ffmpeg-7.0/src/util/error.rs
@@ -19,10 +19,10 @@ pub use libc::{
EBUSY, ECANCELED, ECHILD, ECONNABORTED, ECONNREFUSED, ECONNRESET, EDEADLK, EDESTADDRREQ, EDOM,
EEXIST, EFAULT, EFBIG, EHOSTUNREACH, EIDRM, EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN,
diff --git a/multimedia/av1an/files/patch-ffmpeg7 b/multimedia/av1an/files/patch-ffmpeg7
new file mode 100644
index 000000000000..52182f6f3345
--- /dev/null
+++ b/multimedia/av1an/files/patch-ffmpeg7
@@ -0,0 +1,146 @@
+https://github.com/master-of-zen/Av1an/commit/6db39663755a
+
+--- Cargo.lock.orig 2024-02-13 12:45:43 UTC
++++ Cargo.lock
+@@ -311,22 +311,22 @@ name = "bindgen"
+
+ [[package]]
+ name = "bindgen"
+-version = "0.64.0"
++version = "0.69.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
++checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
+ dependencies = [
+- "bitflags 1.3.2",
++ "bitflags 2.5.0",
+ "cexpr",
+ "clang-sys",
++ "itertools",
+ "lazy_static",
+ "lazycell",
+- "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+- "syn 1.0.109",
++ "syn 2.0.48",
+ ]
+
+ [[package]]
+@@ -337,9 +337,9 @@ name = "bitflags"
+
+ [[package]]
+ name = "bitflags"
+-version = "2.4.1"
++version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
++checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+
+ [[package]]
+ name = "bitstream-io"
+@@ -581,25 +581,24 @@ name = "ffmpeg-sys-the-third"
+
+ [[package]]
+ name = "ffmpeg-sys-the-third"
+-version = "1.1.1+ffmpeg-6.0"
++version = "2.0.0+ffmpeg-7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "94a4b2e9c02074c0ee85661b23b3ac849bad6afc554b503c183975f5e2e0d3de"
++checksum = "a82bfdb0a7925996707f0a7dc37b2f3251ff5a15d26e78c586adb60c240dedc5"
+ dependencies = [
+ "bindgen",
+ "cc",
+ "libc",
+- "num_cpus",
+ "pkg-config",
+ "vcpkg",
+ ]
+
+ [[package]]
+ name = "ffmpeg-the-third"
+-version = "1.2.2+ffmpeg-6.0"
++version = "2.0.1+ffmpeg-7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "301c55f432cce71d0cc5266e8e70e69cc7a865f8aa8785c44cb56c3935a13715"
++checksum = "c4aa99eb55979d5c1db3b0b7a807a5e50dda07f5f6c2dbc6e9b50c205f611646"
+ dependencies = [
+- "bitflags 1.3.2",
++ "bitflags 2.5.0",
+ "ffmpeg-sys-the-third",
+ "libc",
+ "serde",
+@@ -652,7 +651,7 @@ dependencies = [
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd"
+ dependencies = [
+- "bitflags 2.4.1",
++ "bitflags 2.5.0",
+ "libc",
+ "libgit2-sys",
+ "log",
+@@ -1143,12 +1142,6 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "peeking_take_while"
+-version = "0.1.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+-
+-[[package]]
+ name = "percent-encoding"
+ version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1420,7 +1413,7 @@ dependencies = [
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+ dependencies = [
+- "bitflags 2.4.1",
++ "bitflags 2.5.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+--- av1an-core/Cargo.toml.orig 2024-02-13 12:45:43 UTC
++++ av1an-core/Cargo.toml
+@@ -63,7 +63,7 @@ package = "ffmpeg-the-third"
+
+ [dependencies.ffmpeg]
+ package = "ffmpeg-the-third"
+-version = "1.2.0"
++version = "2.0.1"
+ features = ["serialize"]
+
+ [dependencies.plotters]
+--- av1an-core/src/ffmpeg.rs.orig 2024-02-13 12:45:43 UTC
++++ av1an-core/src/ffmpeg.rs
+@@ -51,6 +51,7 @@ pub fn num_frames(source: &Path) -> Result<usize, ffmp
+ Ok(
+ ictx
+ .packets()
++ .filter_map(Result::ok)
+ .filter(|(stream, _)| stream.index() == video_stream_index)
+ .count(),
+ )
+@@ -122,6 +123,7 @@ pub fn get_keyframes(source: &Path) -> Result<Vec<usiz
+
+ let kfs = ictx
+ .packets()
++ .filter_map(Result::ok)
+ .filter(|(stream, _)| stream.index() == video_stream_index)
+ .map(|(_, packet)| packet)
+ .enumerate()
+--- av1an/Cargo.toml.orig 2024-02-13 12:45:43 UTC
++++ av1an/Cargo.toml
+@@ -39,7 +39,7 @@ package = "ffmpeg-the-third"
+
+ [dependencies.ffmpeg]
+ package = "ffmpeg-the-third"
+-version = "1.2.0"
++version = "2.0.1"
+ features = ["serialize"]
+
+ [features]