avcodec/cbs_vp8: Improve the bitstream position check

The VP8 compressed header may not be byte-aligned due to boolean
coding. Round up byte count for accurate data positioning.

Signed-off-by: Jianhui Dai <jianhui.j.dai@intel.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
Dai, Jianhui J 2024-03-19 06:05:17 +00:00 committed by Ronald S. Bultje
parent 63dea3c1e1
commit 61afe4d98c

View File

@ -339,7 +339,9 @@ static int cbs_vp8_read_unit(CodedBitstreamContext *ctx,
return err;
pos = get_bits_count(&gbc);
pos /= 8;
// Position may not be byte-aligned after compressed header; Round up byte
// count for accurate data positioning.
pos = (pos + 7) / 8;
av_assert0(pos <= unit->data_size);
frame->data_ref = av_buffer_ref(unit->data_ref);