[FFmpeg-devel] Libavcodec/exr : add support for tile

James Almer jamrial at gmail.com
Sat Apr 23 01:05:25 CEST 2016


On 4/4/2016 3:40 PM, Paul B Mahol wrote:
> On 4/4/16, Martin Vignali <martin.vignali at gmail.com> wrote:
>> 2016-04-03 17:38 GMT+02:00 Paul B Mahol <onemda at gmail.com>:
>>
>>> On 4/3/16, Martin Vignali <martin.vignali at gmail.com> wrote:
>>>> 2016-04-03 17:12 GMT+02:00 Paul B Mahol <onemda at gmail.com>:
>>>>
>>>>> On 4/3/16, Martin Vignali <martin.vignali at gmail.com> wrote:
>>>>>> Hello,
>>>>>>
>>>>>> In attach a patch in order to add support for exr Tile (One Level)
>>>>>>
>>>>>> Some samples can be found here : https://we.tl/IC4XTrEJf4
>>>>>> Theses samples can also be add to ./fate-suite/exr/
>>>>>> (i will make a fate test soon).
>>>>>>
>>>>>> Details of the sample files :
>>>>>> rgb_tile_half_raw_12x8.exr : uncompress half float file, in tile
>>>>>> (only
>>>>> one
>>>>>> tile in the file)
>>>>>> rgb_tile_float_raw_12x8.exr : uncompress float file, in tile (only
>>>>>> one
>>>>> tile
>>>>>> in the file)
>>>>>> rgb_tile_float_raw_150x130.exr : uncompress float file, in tile
>>>>>> (multiple
>>>>>> tile in the file)
>>>>>>
>>>>>> In this patch, compression in tile is not enabled. (i will make new
>>>>> patchs
>>>>>> for that after making more tests)
>>>>>>
>>>>>> I tried to keep the most code common with the scanline mode (reason
>>> why,
>>>>>> scanline code part have had some modifications).
>>>>>> Tile data are reorganized, to be more like scanline uncompress data.
>>>>>>
>>>>>> Pass fate-exr tests.
>>>>>>
>>>>>> More information about tile in exr can be found here :
>>>>>> http://www.openexr.com/TechnicalIntroduction.pdf
>>>>>>
>>>>>> Comments welcome.
>>>>>>
>>>>>> Martin
>>>>>> Jokyo Images
>>>>>>
>>>>>
>>>>> Pushed. Note that tile with PIZ compression crashes
>>>
>>
>> In tile :
>> RLE, ZIP1, ZIP16, PXR24 will work fine without modification, because they
>> don't use s->xdelta (the datawindow width)
>>
>> PIZ, B44, B44A, use s->xdelta, so now, they will have some trouble for
>> datawindow bigger than tile size in X.
>>
>> I will make a patch soon, for this.
>>
>> Can you send me your PIZ sample who make ffmpeg crash to check  (with
>> wetransfer or something similar) ?
> 
> Its standard sample available in openexr-images-1.7.0/Tiles/GoldenGate.exr
> 
> available from OpenEXR site.
> 

This patch (commit 25a01c52b889d64e77fb3f8f7e519d183d7635b8) broke decoding using
slice threading and > 1 threads.

See http://fate.ffmpeg.org/history.cgi?slot=x86_64-archlinux-gcc-threads-misc
Simply run for example "make fate-exr-slice-zip16 THREADS=auto THREAD_TYPE=slice",
but any of the tests listed there as failing will do.


More information about the ffmpeg-devel mailing list