aboutsummaryrefslogtreecommitdiff
path: root/multimedia/py-av/files/patch-git-upstream-PR-1110
blob: fbfa494326e729c79274b30871025eb59531de80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
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