mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/cbs_av1: fix parsing delta_frame_id_minus1
delta_frame_id_minus1 is not a single value in the bitstream, and can store values up to 17 bits wide. Fixes parsing files with frame ids. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
1b4c01631b
commit
064f9505f4
@ -170,7 +170,7 @@ typedef struct AV1RawFrameHeader {
|
|||||||
uint8_t last_frame_idx;
|
uint8_t last_frame_idx;
|
||||||
uint8_t golden_frame_idx;
|
uint8_t golden_frame_idx;
|
||||||
int8_t ref_frame_idx[AV1_REFS_PER_FRAME];
|
int8_t ref_frame_idx[AV1_REFS_PER_FRAME];
|
||||||
uint8_t delta_frame_id_minus1;
|
uint32_t delta_frame_id_minus1[AV1_REFS_PER_FRAME];
|
||||||
|
|
||||||
uint8_t allow_high_precision_mv;
|
uint8_t allow_high_precision_mv;
|
||||||
uint8_t is_filter_switchable;
|
uint8_t is_filter_switchable;
|
||||||
|
@ -1323,8 +1323,8 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw,
|
|||||||
if (!current->frame_refs_short_signaling)
|
if (!current->frame_refs_short_signaling)
|
||||||
fbs(3, ref_frame_idx[i], 1, i);
|
fbs(3, ref_frame_idx[i], 1, i);
|
||||||
if (seq->frame_id_numbers_present_flag) {
|
if (seq->frame_id_numbers_present_flag) {
|
||||||
fb(seq->delta_frame_id_length_minus_2 + 2,
|
fbs(seq->delta_frame_id_length_minus_2 + 2,
|
||||||
delta_frame_id_minus1);
|
delta_frame_id_minus1[i], 1, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user