8 Mar 2019, 14:15 by d...@lynne.ee:

> 7 Mar 2019, 21:22 by > mich...@niedermayer.cc 
> <mailto:mich...@niedermayer.cc>> :
>
>> On Thu, Mar 07, 2019 at 07:26:32PM +0100, Lynne wrote:
>>
>>> By default now, if AV_EF_CRCCHECK or AV_EF_IGNORE_ERR are enabled the 
>>> decoder
>>> will skip the chunk and carry on with the next one. This should make the    
>>>    
>>> decoder able to decode more corrupt files because the functions which decode
>>> individual chunks will very likely error out if fed invalid data and stop 
>>> the
>>> decoding of the entire image.
>>> Should this be made default? CRC verification doesn't take long even for 
>>> very
>>> large files.                                                      
>>> Also fix the length check for chunk size. It needs to take into account the
>>> 4 byte tag as well as the 4 byte CRC.
>>>
>>> pngdec.c |   19 ++++++++++++++++++-
>>>  1 file changed, 18 insertions(+), 1 deletion(-)
>>> 4255c91468cee2bc2fa757fae69762ff5ee5774a  
>>> 0001-pngdec-add-ability-to-check-chunk-CRC.patch
>>> From 7aff99d12faf557753c5ee860a9672c7a09a26e3 Mon Sep 17 00:00:00 2001
>>> From: Lynne <>> >>> d...@lynne.ee <mailto:d...@lynne.ee>>>>  <mailto:>>> 
>>> d...@lynne.ee <mailto:d...@lynne.ee>>>> >>> >
>>> Date: Thu, 7 Mar 2019 18:15:23 +0000
>>> Subject: [PATCH] pngdec: add ability to check chunk CRC
>>>
>>> By default now, if AV_EF_CRCCHECK or AV_EF_IGNORE_ERR are enabled the 
>>> decoder
>>> will skip the chunk and carry on with the next one. This should make the
>>> decoder able to decode more corrupt files because the functions which decode
>>> individual chunks will very likely error out if fed invalid data and stop 
>>> the
>>> decoding of the entire image.
>>> Should this be made default? CRC verification doesn't take long even for 
>>> very
>>> large files.
>>>
>>
>> i would tend toward enabling it by default but maybe first post some
>> numbers of how much this changes decode time 
>>
>
> For the largest png I found: > 
> https://vk.com/doc218587497_437472325?hash=51300ca9ba40f462ac&dl=1bcf9a57b0d989da1f
>  
> <https://vk.com/doc218587497_437472325?hash=51300ca9ba40f462ac&dl=1bcf9a57b0d989da1f>>
>   <> 
> https://vk.com/doc218587497_437472325?hash=51300ca9ba40f462ac&dl=1bcf9a57b0d989da1f
>  
> <https://vk.com/doc218587497_437472325?hash=51300ca9ba40f462ac&dl=1bcf9a57b0d989da1f>>
>  >
>
> There was no increase in decoding time, it took 2.3 seconds on my machine
> with and without -err_detect crccheck.
>
> With -err_detect crccheck perf reported 2.52% spent in av_crc
>
>
>>> Also fix the length check for chunk size. It needs to take into account the
>>> 4 byte tag as well as the 4 byte CRC.
>>>
>>
>> this should be a seperate patch as its unrelated
>>
>
> removed and attached new patch file
>
> Maybe always enabling the CRC check isn't worth it since if you download from
> the internet you could either get a full error-free file or an incomplete one
> rather than a corrupt one. Maybe only for torrents with huge png files where
> not all chunks have been downloaded yet, or broken hard drives, but the 
> ignore_err
> flag could be manually enabled in those cases.
>

Ping? The apedec CRC patch needs a review too.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to