FreeBSD Bugzilla – Attachment 241734 Details for
Bug 270310
multimedia/py-av: Fails to build with FFmpeg 6.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for py-av
ffmpeg6-pyav.patch (text/plain), 11.04 KB, created by
Daniel Engberg
on 2023-04-25 11:10:47 UTC
(
hide
)
Description:
Patch for py-av
Filename:
MIME Type:
Creator:
Daniel Engberg
Created:
2023-04-25 11:10:47 UTC
Size:
11.04 KB
patch
obsolete
>diff --git a/multimedia/py-av/files/patch-git-upstream-PR-1110 b/multimedia/py-av/files/patch-git-upstream-PR-1110 >new file mode 100644 >index 000000000000..fbfa494326e7 >--- /dev/null >+++ b/multimedia/py-av/files/patch-git-upstream-PR-1110 >@@ -0,0 +1,238 @@ >+From 8871e13848cbf78615ba7b429d301adc071841ea Mon Sep 17 00:00:00 2001 >+From: Mattias Wadman <mattias.wadman@gmail.com> >+Date: Tue, 21 Mar 2023 17:01:22 +0100 >+Subject: [PATCH] Update to ffmpeg 6.0 >+ >+Removed and renamed constants with entry from API changes >+https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/doc/APIchanges >+ >+Remove use of AVCodecContext.sub_text_format >+ 2021-09-20 - 176b8d785bf - lavc 59.9.100 - avcodec.h >+ Deprecate AVCodecContext.sub_text_format and the corresponding >+ AVOptions. It is unused since the last major bump. >+ >+AV_CODEC_CAP_TRUNCATED removed: >+ 2021-09-20 - dd846bc4a91 - lavc 59.8.100 - avcodec.h codec.h >+ Deprecate AV_CODEC_FLAG_TRUNCATED and AV_CODEC_CAP_TRUNCATED, >+ as they are redundant with parsers. >+ >+AV_CODEC_CAP_AUTO_THREADS renamed to AV_CODEC_CAP_AUTO_THREADS >+ 2021-03-16 - 7d09579190 - lavc 58.132.100 - codec.h >+ Add AV_CODEC_CAP_OTHER_THREADS as a new name for >+ AV_CODEC_CAP_AUTO_THREADS. AV_CODEC_CAP_AUTO_THREADS >+ is now deprecated. >+ >+AV_CODEC_CAP_INTRA_ONLY removed (use AV_CODEC_PROP_INTRA_ONLY instead): >+AV_CODEC_CAP_LOSSLESS removed (use AV_CODEC_PROP_LOESSNES instead): >+ 2020-05-21 - 13b1bbff0b - lavc 58.86.101 - avcodec.h >+ Deprecated AV_CODEC_CAP_INTRA_ONLY and AV_CODEC_CAP_LOSSLESS. >+ >+AV_CODEC_FLAG_TRUNCATED removed: >+AV_CODEC_CAP_TRUNCATED removed: >+ 2021-09-20 - dd846bc4a91 - lavc 59.8.100 - avcodec.h codec.h >+ Deprecate AV_CODEC_FLAG_TRUNCATED and AV_CODEC_CAP_TRUNCATED, >+ as they are redundant with parsers. >+ >+AV_CODEC_FLAG2_DROP_FRAME_TIMECODE removed: >+ Not API changelog but was removed in f843460eb790d37e444e5946628f228421916537: >+ avcodec/avcodec: Remove AV_CODEC_FLAG2_DROP_FRAME_TIMECODE >+ >+ It has been deprecated in 94d68a4 >+ and can't be set via AVOptions. The only codecs that use it >+ (the MPEG-1/2 encoders) have private options for this. >+ So remove it. >+ >+AVFMT_FLAG_PRIV_OPT removed: >+ 2021-03-03 - 2ff40b98ec - lavf 58.70.100 - avformat.h >+ Deprecate AVFMT_FLAG_PRIV_OPT. It will do nothing >+ as soon as av_demuxer_open() is removed. >+ >+Related to #1106 >+--- >+ av/codec/codec.pyx | 12 ++++-------- >+ av/codec/context.pyx | 11 ----------- >+ av/container/core.pyx | 3 --- >+ include/libavcodec/avcodec.pxd | 10 +--------- >+ include/libavformat/avformat.pxd | 1 - >+ scripts/activate.sh | 2 +- >+ 6 files changed, 6 insertions(+), 33 deletions(-) >+ >+diff --git a/av/codec/codec.pyx b/av/codec/codec.pyx >+index ad3198fd..978d4277 100644 >+--- av/codec/codec.pyx >++++ av/codec/codec.pyx >+@@ -52,7 +52,6 @@ Capabilities = define_enum('Capabilities', 'av.codec', ( >+ """Codec uses get_buffer() for allocating buffers and supports custom allocators. >+ If not set, it might not use get_buffer() at all or use operations that >+ assume the buffer was allocated by avcodec_default_get_buffer."""), >+- ('TRUNCATED', lib.AV_CODEC_CAP_TRUNCATED), >+ ('HWACCEL', 1 << 4), >+ ('DELAY', lib.AV_CODEC_CAP_DELAY, >+ """Encoder or decoder requires flushing with NULL input at the end in order to >+@@ -102,8 +101,10 @@ Capabilities = define_enum('Capabilities', 'av.codec', ( >+ """Codec supports slice-based (or partition-based) multithreading."""), >+ ('PARAM_CHANGE', lib.AV_CODEC_CAP_PARAM_CHANGE, >+ """Codec supports changed parameters at any point."""), >+- ('AUTO_THREADS', lib.AV_CODEC_CAP_AUTO_THREADS, >+- """Codec supports avctx->thread_count == 0 (auto)."""), >++ ('AUTO_THREADS', lib.AV_CODEC_CAP_OTHER_THREADS, >++ """Codec supports multithreading through a method other than slice- or >++ frame-level multithreading. Typically this marks wrappers around >++ multithreading-capable external libraries."""), >+ ('VARIABLE_FRAME_SIZE', lib.AV_CODEC_CAP_VARIABLE_FRAME_SIZE, >+ """Audio encoder supports receiving a different number of samples in each call."""), >+ ('AVOID_PROBING', lib.AV_CODEC_CAP_AVOID_PROBING, >+@@ -114,10 +115,6 @@ Capabilities = define_enum('Capabilities', 'av.codec', ( >+ the stream. >+ A decoder marked with this flag should only be used as last resort >+ choice for probing."""), >+- ('INTRA_ONLY', lib.AV_CODEC_CAP_INTRA_ONLY, >+- """Codec is intra only."""), >+- ('LOSSLESS', lib.AV_CODEC_CAP_LOSSLESS, >+- """Codec is lossless."""), >+ ('HARDWARE', lib.AV_CODEC_CAP_HARDWARE, >+ """Codec is backed by a hardware implementation. Typically used to >+ identify a non-hwaccel hardware decoder. For information about hwaccels, use >+@@ -312,7 +309,6 @@ cdef class Codec(object): >+ >+ draw_horiz_band = capabilities.flag_property('DRAW_HORIZ_BAND') >+ dr1 = capabilities.flag_property('DR1') >+- truncated = capabilities.flag_property('TRUNCATED') >+ hwaccel = capabilities.flag_property('HWACCEL') >+ delay = capabilities.flag_property('DELAY') >+ small_last_frame = capabilities.flag_property('SMALL_LAST_FRAME') >+diff --git a/av/codec/context.pyx b/av/codec/context.pyx >+index 5c831461..2cdf7ef5 100644 >+--- av/codec/context.pyx >++++ av/codec/context.pyx >+@@ -96,9 +96,6 @@ Flags = define_enum('Flags', __name__, ( >+ """Only decode/encode grayscale."""), >+ ('PSNR', lib.AV_CODEC_FLAG_PSNR, >+ """error[?] variables will be set during encoding."""), >+- ('TRUNCATED', lib.AV_CODEC_FLAG_TRUNCATED, >+- """Input bitstream might be truncated at a random location >+- instead of only at frame boundaries."""), >+ ('INTERLACED_DCT', lib.AV_CODEC_FLAG_INTERLACED_DCT, >+ """Use interlaced DCT."""), >+ ('LOW_DELAY', lib.AV_CODEC_FLAG_LOW_DELAY, >+@@ -122,8 +119,6 @@ Flags2 = define_enum('Flags2', __name__, ( >+ """Skip bitstream encoding."""), >+ ('LOCAL_HEADER', lib.AV_CODEC_FLAG2_LOCAL_HEADER, >+ """Place global headers at every keyframe instead of in extradata."""), >+- ('DROP_FRAME_TIMECODE', lib.AV_CODEC_FLAG2_DROP_FRAME_TIMECODE, >+- """Timecode is in drop frame format. DEPRECATED!!!!"""), >+ ('CHUNKS', lib.AV_CODEC_FLAG2_CHUNKS, >+ """Input bitstream might be truncated at a packet boundaries >+ instead of only at frame boundaries."""), >+@@ -168,10 +163,6 @@ cdef class CodecContext(object): >+ self.ptr.thread_count = 0 >+ self.ptr.thread_type = 2 >+ >+- # Use "ass" format for subtitles (default as of FFmpeg 5.0), not the >+- #Â deprecated "ass_with_timings" formats. >+- self.ptr.sub_text_format = 0 >+- >+ def _get_flags(self): >+ return self.ptr.flags >+ >+@@ -195,7 +186,6 @@ cdef class CodecContext(object): >+ loop_filter = flags.flag_property('LOOP_FILTER') >+ gray = flags.flag_property('GRAY') >+ psnr = flags.flag_property('PSNR') >+- truncated = flags.flag_property('TRUNCATED') >+ interlaced_dct = flags.flag_property('INTERLACED_DCT') >+ low_delay = flags.flag_property('LOW_DELAY') >+ global_header = flags.flag_property('GLOBAL_HEADER') >+@@ -219,7 +209,6 @@ cdef class CodecContext(object): >+ fast = flags2.flag_property('FAST') >+ no_output = flags2.flag_property('NO_OUTPUT') >+ local_header = flags2.flag_property('LOCAL_HEADER') >+- drop_frame_timecode = flags2.flag_property('DROP_FRAME_TIMECODE') >+ chunks = flags2.flag_property('CHUNKS') >+ ignore_crop = flags2.flag_property('IGNORE_CROP') >+ show_all = flags2.flag_property('SHOW_ALL') >+diff --git a/av/container/core.pyx b/av/container/core.pyx >+index d21893c4..1c5c75b8 100755 >+--- av/container/core.pyx >++++ av/container/core.pyx >+@@ -157,8 +157,6 @@ Flags = define_enum('Flags', __name__, ( >+ This flag is mainly intended for testing."""), >+ ('SORT_DTS', lib.AVFMT_FLAG_SORT_DTS, >+ "Try to interleave outputted packets by dts (using this flag can slow demuxing down)."), >+- ('PRIV_OPT', lib.AVFMT_FLAG_PRIV_OPT, >+- "Enable use of private options by delaying codec open (this could be made default once all code is converted)."), >+ ('FAST_SEEK', lib.AVFMT_FLAG_FAST_SEEK, >+ "Enable fast, but inaccurate seeks for some formats."), >+ ('SHORTEST', lib.AVFMT_FLAG_SHORTEST, >+@@ -329,7 +327,6 @@ cdef class Container(object): >+ flush_packets = flags.flag_property('FLUSH_PACKETS') >+ bit_exact = flags.flag_property('BITEXACT') >+ sort_dts = flags.flag_property('SORT_DTS') >+- priv_opt = flags.flag_property('PRIV_OPT') >+ fast_seek = flags.flag_property('FAST_SEEK') >+ shortest = flags.flag_property('SHORTEST') >+ auto_bsf = flags.flag_property('AUTO_BSF') >+diff --git a/include/libavcodec/avcodec.pxd b/include/libavcodec/avcodec.pxd >+index 1e611180..0334b18e 100644 >+--- include/libavcodec/avcodec.pxd >++++ include/libavcodec/avcodec.pxd >+@@ -39,7 +39,6 @@ cdef extern from "libavcodec/avcodec.h" nogil: >+ cdef enum: >+ AV_CODEC_CAP_DRAW_HORIZ_BAND >+ AV_CODEC_CAP_DR1 >+- AV_CODEC_CAP_TRUNCATED >+ # AV_CODEC_CAP_HWACCEL >+ AV_CODEC_CAP_DELAY >+ AV_CODEC_CAP_SMALL_LAST_FRAME >+@@ -51,11 +50,9 @@ cdef extern from "libavcodec/avcodec.h" nogil: >+ AV_CODEC_CAP_FRAME_THREADS >+ AV_CODEC_CAP_SLICE_THREADS >+ AV_CODEC_CAP_PARAM_CHANGE >+- AV_CODEC_CAP_AUTO_THREADS >++ AV_CODEC_CAP_OTHER_THREADS >+ AV_CODEC_CAP_VARIABLE_FRAME_SIZE >+ AV_CODEC_CAP_AVOID_PROBING >+- AV_CODEC_CAP_INTRA_ONLY >+- AV_CODEC_CAP_LOSSLESS >+ AV_CODEC_CAP_HARDWARE >+ AV_CODEC_CAP_HYBRID >+ AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE >+@@ -76,7 +73,6 @@ cdef extern from "libavcodec/avcodec.h" nogil: >+ AV_CODEC_FLAG_LOOP_FILTER >+ AV_CODEC_FLAG_GRAY >+ AV_CODEC_FLAG_PSNR >+- AV_CODEC_FLAG_TRUNCATED >+ AV_CODEC_FLAG_INTERLACED_DCT >+ AV_CODEC_FLAG_LOW_DELAY >+ AV_CODEC_FLAG_GLOBAL_HEADER >+@@ -89,7 +85,6 @@ cdef extern from "libavcodec/avcodec.h" nogil: >+ AV_CODEC_FLAG2_FAST >+ AV_CODEC_FLAG2_NO_OUTPUT >+ AV_CODEC_FLAG2_LOCAL_HEADER >+- AV_CODEC_FLAG2_DROP_FRAME_TIMECODE >+ AV_CODEC_FLAG2_CHUNKS >+ AV_CODEC_FLAG2_IGNORE_CROP >+ AV_CODEC_FLAG2_SHOW_ALL >+@@ -224,9 +219,6 @@ cdef extern from "libavcodec/avcodec.h" nogil: >+ int frame_size >+ int channel_layout >+ >+- # Subtitles. >+- int sub_text_format >+- >+ #: .. todo:: ``get_buffer`` is deprecated for get_buffer2 in newer versions of FFmpeg. >+ int get_buffer(AVCodecContext *ctx, AVFrame *frame) >+ void release_buffer(AVCodecContext *ctx, AVFrame *frame) >+diff --git a/include/libavformat/avformat.pxd b/include/libavformat/avformat.pxd >+index ed3e503f..06029d9f 100644 >+--- include/libavformat/avformat.pxd >++++ include/libavformat/avformat.pxd >+@@ -146,7 +146,6 @@ cdef extern from "libavformat/avformat.h" nogil: >+ AVFMT_FLAG_FLUSH_PACKETS >+ AVFMT_FLAG_BITEXACT >+ AVFMT_FLAG_SORT_DTS >+- AVFMT_FLAG_PRIV_OPT >+ AVFMT_FLAG_FAST_SEEK >+ AVFMT_FLAG_SHORTEST >+ AVFMT_FLAG_AUTO_BSF >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 270310
: 241734