Skip to content

Commit 9f25c30

Browse files
committed
Merge commit 'af25a4bfd2503caf3ee485b27b99b620302f5718'
2 parents 4ec932e + af25a4b commit 9f25c30

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+714
-414
lines changed

Changelog

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,102 @@
11
Entries are sorted chronologically from oldest to youngest within each release,
22
releases are sorted from youngest to oldest.
33

4+
version 7.0.1:
5+
lavc/flacdsp: do not assume maximum R-V VL
6+
avformat/flacdec: Reorder allocations to avoid leak on error
7+
avcodec/adts_parser: Don't presume buffer to be padded
8+
avformat/movenc: Check av_malloc()
9+
avcodec/vp8: Return error on error
10+
avformat/mov: store sample_sizes as unsigned ints
11+
avformat/vvc: fix parsing sps_subpic_id
12+
avformat/vvc: initialize some ptl flags
13+
avcodec/mscc & mwsc: Check loop counts before use
14+
avcodec/mpegvideo_enc: Fix potential overflow in RD
15+
avcodec/mpeg4videodec: assert impossible wrap points
16+
avcodec/mpeg12dec: Use 64bit in bit computation
17+
avcodec/vqcdec: Check init_get_bits8() for failure
18+
avcodec/vvc/dec: Check init_get_bits8() for failure
19+
avcodec/vble: Check av_image_get_buffer_size() for failure
20+
avcodec/vp3: Replace check by assert
21+
avcodec/vp8: Forward return of ff_vpx_init_range_decoder()
22+
avcodec/jpeg2000dec: remove ST=3 case
23+
avcodec/qsvdec: Check av_image_get_buffer_size() for failure
24+
avcodec/exr: Fix preview overflow
25+
avcodec/decode: decode_simple_internal() only implements audio and video
26+
avcodec/fmvc: remove dead assignment
27+
avcodec/h2645_sei: Remove dead checks
28+
avcodec/h264_slice: Remove dead sps check
29+
avcodec/lpc: copy levenson coeffs only when they have been computed
30+
avutil/tests/base64: Check with too short output array
31+
libavutil/base64: Try not to write over the array end
32+
avcodec/cbs_av1: Avoid shift overflow
33+
fftools/ffplay: Check return of swr_alloc_set_opts2()
34+
tools/opt_common: Check for malloc failure
35+
doc/examples/demux_decode: Simplify loop
36+
avformat/concatdec: Check file
37+
avcodec/mpegvideo_enc: Fix 1 line and one column images
38+
avcodec/amrwbdec: assert mode to be valid in decode_fixed_vector()
39+
avcodec/wavarc: fix integer overflow in decode_5elp() block type 2
40+
swscale/output: Fix integer overflow in yuv2rgba64_full_1_c_template()
41+
swscale/output: Fix integer overflow in yuv2rgba64_1_c_template
42+
avcodec/av1dec: Change bit_depth to int
43+
avcodec/av1dec: bit_depth cannot be another values than 8,10,12
44+
avcodec/avs3_parser: assert the return value of init_get_bits()
45+
avcodec/avs2_parser: Assert init_get_bits8() success with const size 15
46+
avfilter/avfiltergraph: return value of ff_request_frame() is unused
47+
avformat/mxfdec: Check body_offset
48+
avformat/kvag: Check sample_rate
49+
avcodec/atrac9dec: Check init_get_bits8() for failure
50+
avcodec/ac3_parser: Check init_get_bits8() for failure
51+
avcodec/pngdec: Check last AVFrame before deref
52+
avcodec/hevcdec: Check ref frame
53+
doc/examples/qsv_transcode: Initialize pointer before free
54+
doc/examples/qsv_transcode: Simplify str_to_dict() loop
55+
doc/examples/vaapi_transcode: Simplify loop
56+
doc/examples/qsv_transcode: Simplify loop
57+
avcodec/cbs_h2645: Check NAL space
58+
avfilter/vf_thumbnail_cuda: Set ret before checking it
59+
avfilter/signature_lookup: Dont copy uninitialized stuff around
60+
avfilter/signature_lookup: Fix 2 differences to the refernce SW
61+
avcodec/x86/vp3dsp_init: Set correct function pointer, fix crash
62+
avformat/mp3dec: change bogus error message if read_header encounters EOF
63+
avformat/mp3dec: simplify inner frame size check in mp3_read_header
64+
avformat/mp3dec: only call ffio_ensure_seekback once
65+
avcodec/cbs_h266: read vps_ptl_max_tid before using it
66+
avcodec/cbs_h266: fix sh_collocated_from_l0_flag and sh_collocated_ref_idx infer
67+
avformat/vvc: fix parsing some early VPS bitstream values
68+
avformat/vvc: fix writing general_constraint_info bytes
69+
avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
70+
lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
71+
vulkan_av1: Fix force_integer_mv value
72+
vaapi_av1: Fix force_integer_mv value
73+
av1dec: Add force_integer_mv derived field for decoder use
74+
avutil/iamf: fix offsets for mix_gain options
75+
avformat/iamfdec: check nb_streams in header read
76+
avformat/mov: free the infe allocated item data on failure
77+
avformat/iamf_writer: reject duplicated stream ids in a stream group
78+
avformat/mov: don't read key_size bytes twice in the keys atom
79+
avformat/mov: take into account the first eight bytes in the keys atom
80+
avformat/mov: fix the check for the heif item parsing loop
81+
avutil/iamf: fix mix_gain_class name
82+
av1dec: Fix RefFrameSignBias calculation
83+
avcodec/codec_par: always clear extradata_size in avcodec_parameters_to_context()
84+
avcodec/mediacodecenc: Fix return empty packet when bsf is used
85+
avcodec/hevcdec: Fix precedence, bogus film grain warning
86+
avcodec/hevcdec: fix segfault on invalid film grain metadata
87+
lavc/vvc: Skip enhancement layer NAL units
88+
avformat/mov: ignore old infe box versions
89+
vulkan_av1: add workaround for NVIDIA drivers tested on broken CTS
90+
lavc/vulkan_av1: Use av1dec reference order hint information
91+
lavc/av1: Record reference ordering information for each frame
92+
doc/encoders: add missing libxvid option
93+
doc/encoders: remove non-existent flag
94+
fate/ffmpeg: Avoid dependency on samples
95+
avcodec/wavpack: Remove always-false check
96+
avcodec/wavpack: Fix leak and segfault on reallocation error
97+
avcodec/lossless_videoencdsp: Don't presume alignment in diff_bytes
98+
avcodec/ppc/h264dsp: Fix left shifts of negative numbers
99+
4100
version 7.0:
5101
- DXV DXT1 encoder
6102
- LEAD MCMP decoder

RELEASE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.0
1+
7.0.1

doc/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = FFmpeg
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 7.0
41+
PROJECT_NUMBER = 7.0.1
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

doc/encoders.texi

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3045,9 +3045,6 @@ Enable high quality AC prediction.
30453045
@item gray
30463046
Only encode grayscale.
30473047

3048-
@item gmc
3049-
Enable the use of global motion compensation (GMC).
3050-
30513048
@item qpel
30523049
Enable quarter-pixel motion compensation.
30533050

@@ -3059,7 +3056,9 @@ Place global headers in extradata instead of every keyframe.
30593056

30603057
@end table
30613058

3062-
@item trellis
3059+
@item gmc
3060+
Enable the use of global motion compensation (GMC). Default is 0
3061+
(disabled).
30633062

30643063
@item me_quality
30653064
Set motion estimation quality level. Possible values in decreasing order of
@@ -3114,6 +3113,9 @@ be better than any of the two specified individually. In other
31143113
words, the resulting quality will be the worse one of the two
31153114
effects.
31163115

3116+
@item trellis
3117+
Set rate-distortion optimal quantization.
3118+
31173119
@item ssim
31183120
Set structural similarity (SSIM) displaying method. Possible values:
31193121

doc/examples/demux_decode.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,9 @@ static int decode_packet(AVCodecContext *dec, const AVPacket *pkt)
138138
ret = output_audio_frame(frame);
139139

140140
av_frame_unref(frame);
141-
if (ret < 0)
142-
return ret;
143141
}
144142

145-
return 0;
143+
return ret;
146144
}
147145

148146
static int open_codec_context(int *stream_idx,

doc/examples/qsv_transcode.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ static int str_to_dict(char* optstr, AVDictionary **opt)
7575
if (value == NULL)
7676
return AVERROR(EINVAL);
7777
av_dict_set(opt, key, value, 0);
78-
} while(key != NULL);
79-
return 0;
78+
} while(1);
8079
}
8180

8281
static int dynamic_set_parameter(AVCodecContext *avctx)
@@ -334,17 +333,15 @@ static int dec_enc(AVPacket *pkt, const AVCodec *enc_codec, char *optstr)
334333

335334
fail:
336335
av_frame_free(&frame);
337-
if (ret < 0)
338-
return ret;
339336
}
340-
return 0;
337+
return ret;
341338
}
342339

343340
int main(int argc, char **argv)
344341
{
345342
const AVCodec *enc_codec;
346343
int ret = 0;
347-
AVPacket *dec_pkt;
344+
AVPacket *dec_pkt = NULL;
348345

349346
if (argc < 5 || (argc - 5) % 2) {
350347
av_log(NULL, AV_LOG_ERROR, "Usage: %s <input file> <encoder> <output file>"

doc/examples/vaapi_transcode.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,8 @@ static int dec_enc(AVPacket *pkt, const AVCodec *enc_codec)
215215

216216
fail:
217217
av_frame_free(&frame);
218-
if (ret < 0)
219-
return ret;
220218
}
221-
return 0;
219+
return ret;
222220
}
223221

224222
int main(int argc, char **argv)

fftools/ffplay.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2394,12 +2394,13 @@ static int audio_decode_frame(VideoState *is)
23942394
av_channel_layout_compare(&af->frame->ch_layout, &is->audio_src.ch_layout) ||
23952395
af->frame->sample_rate != is->audio_src.freq ||
23962396
(wanted_nb_samples != af->frame->nb_samples && !is->swr_ctx)) {
2397+
int ret;
23972398
swr_free(&is->swr_ctx);
2398-
swr_alloc_set_opts2(&is->swr_ctx,
2399+
ret = swr_alloc_set_opts2(&is->swr_ctx,
23992400
&is->audio_tgt.ch_layout, is->audio_tgt.fmt, is->audio_tgt.freq,
24002401
&af->frame->ch_layout, af->frame->format, af->frame->sample_rate,
24012402
0, NULL);
2402-
if (!is->swr_ctx || swr_init(is->swr_ctx) < 0) {
2403+
if (ret < 0 || swr_init(is->swr_ctx) < 0) {
24032404
av_log(NULL, AV_LOG_ERROR,
24042405
"Cannot create sample rate converter for conversion of %d Hz %s %d channels to %d Hz %s %d channels!\n",
24052406
af->frame->sample_rate, av_get_sample_fmt_name(af->frame->format), af->frame->ch_layout.nb_channels,

fftools/opt_common.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -727,10 +727,13 @@ int show_codecs(void *optctx, const char *opt, const char *arg)
727727
return 0;
728728
}
729729

730-
static void print_codecs(int encoder)
730+
static int print_codecs(int encoder)
731731
{
732732
const AVCodecDescriptor **codecs;
733-
unsigned i, nb_codecs = get_codecs_sorted(&codecs);
733+
int i, nb_codecs = get_codecs_sorted(&codecs);
734+
735+
if (nb_codecs < 0)
736+
return nb_codecs;
734737

735738
printf("%s:\n"
736739
" V..... = Video\n"
@@ -765,18 +768,17 @@ static void print_codecs(int encoder)
765768
}
766769
}
767770
av_free(codecs);
771+
return 0;
768772
}
769773

770774
int show_decoders(void *optctx, const char *opt, const char *arg)
771775
{
772-
print_codecs(0);
773-
return 0;
776+
return print_codecs(0);
774777
}
775778

776779
int show_encoders(void *optctx, const char *opt, const char *arg)
777780
{
778-
print_codecs(1);
779-
return 0;
781+
return print_codecs(1);
780782
}
781783

782784
int show_bsfs(void *optctx, const char *opt, const char *arg)

libavcodec/ac3_parser.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,9 @@ int av_ac3_parse_header(const uint8_t *buf, size_t size,
204204
AC3HeaderInfo hdr;
205205
int err;
206206

207-
init_get_bits8(&gb, buf, size);
207+
err = init_get_bits8(&gb, buf, size);
208+
if (err < 0)
209+
return AVERROR_INVALIDDATA;
208210
err = ff_ac3_parse_header(&gb, &hdr);
209211
if (err < 0)
210212
return AVERROR_INVALIDDATA;

0 commit comments

Comments
 (0)