mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-17 20:17:55 +02:00
vulkan/common: Fix off-by-one error in flush_put_bits
If caller wrote a divisible by eight number of bits it would write an extra byte. Also increment by to_write instead of BUF_BYTES which overly pads the bitstream.
This commit is contained in:
parent
4e1a91112d
commit
f794ed48c0
@ -141,12 +141,12 @@ uint32_t flush_put_bits(inout PutBitContext pb)
|
||||
pb.bit_buf <<= pb.bit_left;
|
||||
|
||||
if (pb.bit_left < BUF_BITS) {
|
||||
uint to_write = ((BUF_BITS - pb.bit_left) >> 3) + 1;
|
||||
uint to_write = ((BUF_BITS - pb.bit_left - 1) >> 3) + 1;
|
||||
|
||||
u8buf bs = u8buf(pb.buf);
|
||||
for (int i = 0; i < to_write; i++)
|
||||
bs[i].v = BYTE_EXTRACT(pb.bit_buf, BUF_BYTES - uint8_t(1) - i);
|
||||
pb.buf = uint64_t(bs) + BUF_BYTES;
|
||||
pb.buf = uint64_t(bs) + to_write;
|
||||
}
|
||||
|
||||
pb.bit_left = BUF_BITS;
|
||||
|
Loading…
x
Reference in New Issue
Block a user