[FFmpeg-devel] [PATCH 1/3] cbs_av1: Fix header writing when already aligned
Mark Thompson
sw at jkqxz.net
Mon Nov 5 16:12:06 EET 2018
On 05/11/18 13:14, James Almer wrote:
> On 11/4/2018 9:10 PM, Mark Thompson wrote:
>> ---
>> Previously it lost the trailing bits byte but did include it in the OBU size, completely breaking the stream.
>>
>>
>> libavcodec/cbs_av1.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
>> index 9bac9dde09..1c49d90f51 100644
>> --- a/libavcodec/cbs_av1.c
>> +++ b/libavcodec/cbs_av1.c
>> @@ -1179,7 +1179,7 @@ static int cbs_av1_write_obu(CodedBitstreamContext *ctx,
>> if (err < 0)
>> return err;
>> end_pos = put_bits_count(pbc);
>> - obu->obu_size = (end_pos - start_pos + 7) / 8;
>> + obu->obu_size = header_size = (end_pos - start_pos + 7) / 8;
>> } else {
>> // Empty OBU.
>> obu->obu_size = 0;
>>
>
> What samples was this breaking? The few i tried have matching checksum
> after an av1_metadata passthrough.
Your s6Nh.ivf file with redundant headers requires it. (I spent quite a while banging my head against that one, because the write trace showed exactly the right thing but then reading it back was messed up.)
- Mark
More information about the ffmpeg-devel
mailing list