Skip to content

Commit 6bd4e54

Browse files
authored
Merge branch 'Aleksoid1978:master' into master
2 parents 3da6f3f + 6efd035 commit 6bd4e54

58 files changed

Lines changed: 532 additions & 411 deletions

Some content is hidden

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

docs/Changelog.Rus.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ YouTube
7171

7272
Обновлены библиотеки:
7373
dav1d 1.5.3-6-g04b69f9;
74-
ffmpeg n8.2-dev-1027-gdba0b078c8;
74+
ffmpeg n8.2-dev-1221-g18b83f2d0a;
7575
libpng git-v1.6.55-9-g7d52a8087;
7676
Little-CMS git-lcms2.18-26-gf739cda;
7777
MediaInfo git-v26.01-2-gd94a5679a;

docs/Changelog.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Updated Korean translation (by Hackjjang).
7171

7272
Updated libraries:
7373
dav1d 1.5.3-6-g04b69f9;
74-
ffmpeg n8.2-dev-1027-gdba0b078c8;
74+
ffmpeg n8.2-dev-1221-g18b83f2d0a;
7575
libpng git-v1.6.55-9-g7d52a8087;
7676
Little-CMS git-lcms2.18-26-gf739cda;
7777
MediaInfo git-v26.01-2-gd94a5679a;

src/ExtLib/ffmpeg/libavcodec/aac/aacdec.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,24 +676,28 @@ ChannelElement *ff_aac_get_che(AACDecContext *ac, int type, int elem_id)
676676
ac->tags_mapped++;
677677
return ac->tag_che_map[type][elem_id] = ac->che[type][elem_id];
678678
}
679+
av_fallthrough;
679680
case 13:
680681
if (ac->tags_mapped > 3 && ((type == TYPE_CPE && elem_id < 8) ||
681682
(type == TYPE_SCE && elem_id < 6) ||
682683
(type == TYPE_LFE && elem_id < 2))) {
683684
ac->tags_mapped++;
684685
return ac->tag_che_map[type][elem_id] = ac->che[type][elem_id];
685686
}
687+
av_fallthrough;
686688
case 12:
687689
case 7:
688690
if (ac->tags_mapped == 3 && type == TYPE_CPE) {
689691
ac->tags_mapped++;
690692
return ac->tag_che_map[TYPE_CPE][elem_id] = ac->che[TYPE_CPE][2];
691693
}
694+
av_fallthrough;
692695
case 11:
693696
if (ac->tags_mapped == 3 && type == TYPE_SCE) {
694697
ac->tags_mapped++;
695698
return ac->tag_che_map[TYPE_SCE][elem_id] = ac->che[TYPE_SCE][1];
696699
}
700+
av_fallthrough;
697701
case 6:
698702
/* Some streams incorrectly code 5.1 audio as
699703
* SCE[0] CPE[0] CPE[1] SCE[1]
@@ -711,11 +715,13 @@ ChannelElement *ff_aac_get_che(AACDecContext *ac, int type, int elem_id)
711715
ac->tags_mapped++;
712716
return ac->tag_che_map[type][elem_id] = ac->che[TYPE_LFE][0];
713717
}
718+
av_fallthrough;
714719
case 5:
715720
if (ac->tags_mapped == 2 && type == TYPE_CPE) {
716721
ac->tags_mapped++;
717722
return ac->tag_che_map[TYPE_CPE][elem_id] = ac->che[TYPE_CPE][1];
718723
}
724+
av_fallthrough;
719725
case 4:
720726
/* Some streams incorrectly code 4.0 audio as
721727
* SCE[0] CPE[0] LFE[0]
@@ -739,6 +745,7 @@ ChannelElement *ff_aac_get_che(AACDecContext *ac, int type, int elem_id)
739745
ac->tags_mapped++;
740746
return ac->tag_che_map[TYPE_SCE][elem_id] = ac->che[TYPE_SCE][1];
741747
}
748+
av_fallthrough;
742749
case 3:
743750
case 2:
744751
if (ac->tags_mapped == (ac->oc[1].m4ac.chan_config != 2) &&
@@ -750,11 +757,13 @@ ChannelElement *ff_aac_get_che(AACDecContext *ac, int type, int elem_id)
750757
ac->tags_mapped++;
751758
return ac->tag_che_map[TYPE_SCE][elem_id] = ac->che[TYPE_SCE][1];
752759
}
760+
av_fallthrough;
753761
case 1:
754762
if (!ac->tags_mapped && type == TYPE_SCE) {
755763
ac->tags_mapped++;
756764
return ac->tag_che_map[TYPE_SCE][elem_id] = ac->che[TYPE_SCE][0];
757765
}
766+
av_fallthrough;
758767
default:
759768
return NULL;
760769
}
@@ -1240,7 +1249,7 @@ av_cold int ff_aac_decode_init(AVCodecContext *avctx)
12401249
ac->oc[1].m4ac.chan_config = i;
12411250

12421251
if (ac->oc[1].m4ac.chan_config) {
1243-
int ret = ff_aac_set_default_channel_config(ac, avctx, layout_map,
1252+
ret = ff_aac_set_default_channel_config(ac, avctx, layout_map,
12441253
&layout_map_tags,
12451254
ac->oc[1].m4ac.chan_config);
12461255
if (!ret)

src/ExtLib/ffmpeg/libavcodec/aac/aacdec_usac_mps212.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -464,10 +464,10 @@ static int ec_pair_dec(GetBitContext *gb,
464464
}
465465

466466
if (pair) {
467-
p_data[0] = data_pair[0];
468-
p_data[1] = data_pair[1];
467+
p_data[0] = data_diff[0];
468+
p_data[1] = data_diff[1];
469469
} else {
470-
p_data[0] = data_pair[0];
470+
p_data[0] = data_diff[0];
471471
p_data[1] = NULL;
472472
}
473473

@@ -480,7 +480,7 @@ static int ec_pair_dec(GetBitContext *gb,
480480
if (pair && (diff_freq[0] || diff_time_back))
481481
diff_freq[1] = !get_bits1(gb);
482482

483-
int time_pair;
483+
int time_pair = 0;
484484
huff_decode(gb, p_data, data_type, diff_freq,
485485
nb_bands, &time_pair);
486486

@@ -534,11 +534,11 @@ static int ec_pair_dec(GetBitContext *gb,
534534
}
535535

536536
/* Decode LSBs */
537-
attach_lsb(gb, p_data[0], quant_offset, attach_lsb_flag,
538-
nb_bands, p_data[0]);
537+
attach_lsb(gb, data_pair[0], quant_offset, attach_lsb_flag,
538+
nb_bands, data_pair[0]);
539539
if (pair)
540-
attach_lsb(gb, p_data[1], quant_offset, attach_lsb_flag,
541-
nb_bands, p_data[1]);
540+
attach_lsb(gb, data_pair[1], quant_offset, attach_lsb_flag,
541+
nb_bands, data_pair[1]);
542542

543543
memcpy(&set1[start_band], data_pair[0], 2*nb_bands);
544544
if (pair)

src/ExtLib/ffmpeg/libavcodec/adpcm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2704,7 +2704,7 @@ static int adpcm_decode_frame(AVCodecContext *avctx, AVFrame *frame,
27042704

27052705
for (int k = i-1; k > -1; k--) {
27062706
for (int o = 1; o < order; o++)
2707-
delta += sf_codes[(i-1) - k] * coefs[(o*8) + k];
2707+
delta += sf_codes[(i-1) - k] * (unsigned)coefs[(o*8) + k];
27082708
}
27092709

27102710
sample = sf_codes[i] * 2048;

src/ExtLib/ffmpeg/libavcodec/alsdec.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,10 @@ static int read_diff_float_data(ALSDecContext *ctx, unsigned int ra_frame) {
15641564
if (ctx->raw_samples[c][i] != 0) {
15651565
//The following logic is taken from Table 14.45 and 14.46 from the ISO spec
15661566
if (av_cmp_sf_ieee754(acf[c], FLOAT_1)) {
1567-
nbits[i] = 23 - av_log2(FFABSU(ctx->raw_samples[c][i]));
1567+
int nbit = av_log2(FFABSU(ctx->raw_samples[c][i]));
1568+
if (nbit > 23)
1569+
return AVERROR_INVALIDDATA;
1570+
nbits[i] = 23 - nbit;
15681571
} else {
15691572
nbits[i] = 23;
15701573
}

src/ExtLib/ffmpeg/libavcodec/atsc_a53.c

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
#include <stddef.h>
2020
#include <stdint.h>
2121

22+
#include "libavutil/intreadwrite.h"
2223
#include "libavutil/mem.h"
2324
#include "atsc_a53.h"
24-
#include "get_bits.h"
2525

2626
int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
2727
void **data, size_t *sei_size)
@@ -69,33 +69,25 @@ int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
6969
int ff_parse_a53_cc(AVBufferRef **pbuf, const uint8_t *data, int size)
7070
{
7171
AVBufferRef *buf = *pbuf;
72-
GetBitContext gb;
7372
size_t new_size, old_size = buf ? buf->size : 0;
7473
int ret, cc_count;
7574

7675
if (size < 3)
7776
return AVERROR_INVALIDDATA;
7877

79-
ret = init_get_bits8(&gb, data, size);
80-
if (ret < 0)
81-
return ret;
82-
83-
if (get_bits(&gb, 8) != 0x3) // user_data_type_code
78+
if (data[0] != 0x3) // user_data_type_code
8479
return 0;
8580

86-
skip_bits(&gb, 1); // reserved
87-
if (!get_bits(&gb, 1)) // process_cc_data_flag
81+
if (!(data[1] & 0x40)) // process_cc_data_flag
8882
return 0;
8983

90-
skip_bits(&gb, 1); // zero bit
91-
cc_count = get_bits(&gb, 5);
84+
cc_count = data[1] & 0x1F;
9285
if (!cc_count)
9386
return 0;
9487

95-
skip_bits(&gb, 8); // reserved
96-
88+
// content of data[2] is reserved
9789
/* 3 bytes per CC plus one byte marker_bits at the end */
98-
if (cc_count * 3 >= (get_bits_left(&gb) >> 3))
90+
if (cc_count * 3 >= size - 3)
9991
return AVERROR_INVALIDDATA;
10092

10193
new_size = (old_size + cc_count * 3);
@@ -110,11 +102,7 @@ int ff_parse_a53_cc(AVBufferRef **pbuf, const uint8_t *data, int size)
110102

111103
buf = *pbuf;
112104
/* Use of av_buffer_realloc assumes buffer is writeable */
113-
for (int i = 0; i < cc_count; i++) {
114-
buf->data[old_size++] = get_bits(&gb, 8);
115-
buf->data[old_size++] = get_bits(&gb, 8);
116-
buf->data[old_size++] = get_bits(&gb, 8);
117-
}
105+
memcpy(buf->data + old_size, data + 3, cc_count * 3);
118106

119107
return cc_count;
120108
}

src/ExtLib/ffmpeg/libavcodec/av1dec.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,11 @@ static int32_t decode_signed_subexp_with_ref(uint32_t sub_exp, int low,
9999

100100
static void read_global_param(AV1DecContext *s, int type, int ref, int idx)
101101
{
102-
uint8_t primary_frame, prev_frame;
102+
int primary_frame;
103103
uint32_t abs_bits, prec_bits, round, prec_diff, sub, mx;
104104
int32_t r, prev_gm_param;
105105

106106
primary_frame = s->raw_frame_header->primary_ref_frame;
107-
prev_frame = s->raw_frame_header->ref_frame_idx[primary_frame];
108107
abs_bits = AV1_GM_ABS_ALPHA_BITS;
109108
prec_bits = AV1_GM_ALPHA_PREC_BITS;
110109

@@ -114,8 +113,10 @@ static void read_global_param(AV1DecContext *s, int type, int ref, int idx)
114113
*/
115114
if (s->raw_frame_header->primary_ref_frame == AV1_PRIMARY_REF_NONE)
116115
prev_gm_param = s->cur_frame.gm_params[ref][idx];
117-
else
116+
else {
117+
int prev_frame = s->raw_frame_header->ref_frame_idx[primary_frame];
118118
prev_gm_param = s->ref[prev_frame].gm_params[ref][idx];
119+
}
119120

120121
if (idx < 2) {
121122
if (type == AV1_WARP_MODEL_TRANSLATION) {
@@ -1461,7 +1462,7 @@ static int av1_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame)
14611462
case AV1_OBU_TEMPORAL_DELIMITER:
14621463
s->raw_frame_header = NULL;
14631464
raw_tile_group = NULL;
1464-
// fall-through
1465+
break;
14651466
case AV1_OBU_TILE_LIST:
14661467
case AV1_OBU_PADDING:
14671468
break;

src/ExtLib/ffmpeg/libavcodec/cbs.c

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -63,40 +63,6 @@ static const CodedBitstreamType *const cbs_type_table[] = {
6363
#endif
6464
};
6565

66-
const enum AVCodecID CBS_FUNC(all_codec_ids)[] = {
67-
#if CBS_APV
68-
AV_CODEC_ID_APV,
69-
#endif
70-
#if CBS_AV1
71-
AV_CODEC_ID_AV1,
72-
#endif
73-
#if CBS_H264
74-
AV_CODEC_ID_H264,
75-
#endif
76-
#if CBS_H265
77-
AV_CODEC_ID_H265,
78-
#endif
79-
#if CBS_H266
80-
AV_CODEC_ID_H266,
81-
#endif
82-
#if CBS_LCEVC
83-
AV_CODEC_ID_LCEVC,
84-
#endif
85-
#if CBS_JPEG
86-
AV_CODEC_ID_MJPEG,
87-
#endif
88-
#if CBS_MPEG2
89-
AV_CODEC_ID_MPEG2VIDEO,
90-
#endif
91-
#if CBS_VP8
92-
AV_CODEC_ID_VP8,
93-
#endif
94-
#if CBS_VP9
95-
AV_CODEC_ID_VP9,
96-
#endif
97-
AV_CODEC_ID_NONE
98-
};
99-
10066
av_cold int CBS_FUNC(init)(CodedBitstreamContext **ctx_ptr,
10167
enum AVCodecID codec_id, void *log_ctx)
10268
{

src/ExtLib/ffmpeg/libavcodec/cbs.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -296,14 +296,6 @@ typedef struct CodedBitstreamContext {
296296
} CodedBitstreamContext;
297297

298298

299-
/**
300-
* Table of all supported codec IDs.
301-
*
302-
* Terminated by AV_CODEC_ID_NONE.
303-
*/
304-
extern const enum AVCodecID CBS_FUNC(all_codec_ids)[];
305-
306-
307299
/**
308300
* Create and initialise a new context for the given codec.
309301
*/

0 commit comments

Comments
 (0)