[FFmpeg-devel] [PATCH] MPEG-4 ALS decoder MCC decoding bug (non-lossless output) (Fixes issue 2387)

Thilo Borgmann thilo.borgmann
Fri Nov 26 20:05:45 CET 2010


Am 26.11.10 19:49, schrieb Thilo Borgmann:
> ...
>> -    int32_t      const_val;         ///< the sample value of a constant block
>                     ^^^^^^^^^
> 
> Removing const_val is unrelated, see comments below.
> 
> ...
>> -    bd->const_val    = 0;
>> -    bd->const_block  = get_bits1(gb);    // 1 = constant value, 0 = zero
> block (silence)
>> +    *bd->raw_samples = 0;
> 
> Storing the value of the constant block in the first element of raw_samples is a
> nice idea I would like to see in a seperate patch! For this bug it is unrelated.
> 
> ...
>> -    int      smp = bd->block_length;
>> -    int32_t  val = bd->const_val;
>> -    int32_t *dst = bd->raw_samples;
>> +    int      smp = bd->block_length - 1;
>> +    int32_t  val = *bd->raw_samples;
>> +    int32_t *dst = bd->raw_samples + 1;
> 
> Belongs to the unrelated change...
>
>... I would really like to see another
> patch getting const_val to be stored in the raw_buffer.


I was wrong on this. It _is_ unrelated to the correct decoding of the submitted
file but part of the bug that not all necessary information is stored per channel.

Thus keep these things in.

-Thilo



More information about the ffmpeg-devel mailing list