Opened 6 years ago

Closed 16 months ago

#5693 closed enhancement (fixed)

exr: support dwa decompression

Reported by: ami_stuff Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: exr
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


C:\>ffmpegx -i C:\ff\rgba_dwaa.exr
ffmpeg version N-80803-g8a3221c Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.0-1.fc14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-pthreads --enable-memalign-hack --enable-runtime-cpudetect --
enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -lw
inmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapsh
ots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/sna
pshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --
enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-li
bvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-li
bopencore-amrwb --enable-libmp3lame --enable-libfreetype --enable-libvpx --disab
  libavutil      55. 27.100 / 55. 27.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 40.101 / 57. 40.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 46.102 /  6. 46.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
[exr @ 0x28dd8a0] Missing compression attribute.
[exr_pipe @ 0x28d3d20] decoding for stream 0 failed
[exr_pipe @ 0x28d3d20] Could not find codec parameters for stream 0 (Video: exr,
 none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, exr_pipe, from 'C:\ff\rgba_dwaa.exr':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: exr, none, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified

Attachments (4)

rgba_dwaa.exr (1.9 MB ) - added by ami_stuff 6 years ago.
rgba_dwab.exr (1.9 MB ) - added by ami_stuff 6 years ago.
rgb_dwaa.exr (1.9 MB ) - added by ami_stuff 6 years ago.
rgb_dwab.exr (1.9 MB ) - added by ami_stuff 6 years ago.

Change History (10)

by ami_stuff, 6 years ago

Attachment: rgba_dwaa.exr added

by ami_stuff, 6 years ago

Attachment: rgba_dwab.exr added

by ami_stuff, 6 years ago

Attachment: rgb_dwaa.exr added

by ami_stuff, 6 years ago

Attachment: rgb_dwab.exr added

comment:1 by Carl Eugen Hoyos, 6 years ago

Component: undeterminedavcodec
Keywords: exr added
Priority: normalwish
Reproduced by developer: set
Status: newopen
Type: defectenhancement
Version: unspecifiedgit-master

comment:2 by Joshua Minor, 4 years ago

Pixar is interested in this as well.

Looking at the code in exr.c it appears that ffmpeg does not use libopenexr, but rather has a reimplementation of an EXR decoder. Is this negotiable, or is that by design?

In either case, we would like to understand how much work it would be to add support for the dwaa compression scheme to ffmpeg's exr reader. Is this a simple change, or a substantial amount of work? We could possibly help out with this, although we don't have anyone familiar with the ffmpeg code base at the moment.

comment:3 by Elon Musk, 4 years ago

Contact ffmpeg developers for sponsoring this code addition. See contact page.

in reply to:  2 comment:4 by levivant, 3 years ago

Replying to jminor:

Pixar is interested in this as well.

Hi jminor, any news? Did you manage to implement it? I'm facing the same issue and before considering finding the right enginering to implement it without the official exr library I'm curious if you did something?

comment:5 by levivant, 3 years ago

I was looking around, and found out that Tiny Exr is not supporting DWAA because there might be a patent issue. Dreamworks patented this method and included it to the OpenExr library. The patent file is pretty clear:

This grant does not include use of DreamWorks Lossy Compression outside of the OpenEXR standard.

How can we read that? As ffmpeg is not using the openExr Library (too bad, why? because it's C++?) we might be outside of the grant if we implement this method here? Linking the library might be the solution, but you might have good reasons not to?
Still, they are saying that the grant cant be used outside of the standard, not outside of the library. Is rewriting the exr dwaa decoder in ffmpeg still.. the "standard"?

comment:6 by Carl Eugen Hoyos, 16 months ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.