On 13/02/2020 18:21, James Almer wrote:
> On 2/13/2020 2:45 PM, Andreas Rheinhardt wrote:
>> On Thu, Feb 13, 2020 at 4:08 PM James Almer <jamr...@gmail.com> wrote:
>>
>>> If i is greater than 0, it is a requirement of bitstream conformance that
>>> point_y_value[ i ] is greater than point_y_value[ i - 1 ].
>>> If i is greater than 0, it is a requirement of bitstream conformance that
>>> point_cb_value[ i ] is greater than point_cb_value[ i - 1 ].
>>> If i is greater than 0, it is a requirement of bitstream conformance that
>>> point_cr_value[ i ] is greater than point_cr_value[ i - 1 ].
>>>
>>> Signed-off-by: James Almer <jamr...@gmail.com>
>>> ---
>>> Better version. Now it can't overflow the min value, and will also
>>> constrain
>>> the max value to ensure v[i] > v[i-1] is always true.
>>>
>>
>> How could the min value overflow at all? After all, the addition v[i - 1] +
>> 1 is performed after promoting v[i - 1] to int. This is then losslessly
>> converted to uint32_t. So your new version will not detect any more errors
>> than the old version. It might error out earlier sometimes, but to do so it
>> always computes the max.
>> (With the old version it can happen that the min value is bigger than the
>> max value which leads to the desired error (and an error message that might
>> be confusing; avoiding this seems to be the only real advantage this new
>> version has).)
>>
>> - Andreas
> 
> I wasn't sure if the sum would be promoted or not, but in any case, the
> core change is ensuring a given max value is constrained to always be
> smaller than the next min allowed value.

Yeah.  With your change the error will be precise and diagnosed as early as 
possible (e.g. { 10, 30, 20, 40, 50 } -> ~"value[2] out of range: 20, but must 
be in [31,253]"), so it looks good to me.

Thanks,

- Mark
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to