Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#484 closed enhancement (fixed)

prores fails to decode 4444

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

Description

The recently added prores decoder fails to decode 4444 streams.

By changing a few conditions it actually decodes them, though there are some artifacts.

Ill put some samples up.

I have a patch that enables the decoding with artifacts, trying to get git to create it for me.

The artifacts are not *that* severe but they look interesting. Would probably be better to at least decode them.

Attachments (1)

0001-at-least-try-to-decode-4444-even-if-output-is-somewh.patch (1.6 KB ) - added by Jonne Ahner 10 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Jonne Ahner, 10 years ago

http://213.180.83.85/samples/

The 422 samples all work.

The two original files shows different artifacts. The first one has color displaced. (traffic lights and yellow stripe on left pole)

The second one has color noise all over the place.

The 4444 is one of the original files reencoded to linear sample values (direct from camera is log sample values)

comment:2 by Carl Eugen Hoyos, 10 years ago

Priority: normalwish
Reproduced by developer: set
Status: newopen
Type: defectenhancement

Complete, uncut output missing, ffmpeg currently correctly outputs "unsupported version".

comment:3 by Jonne Ahner, 10 years ago

fixed in head. close.

comment:4 by Carl Eugen Hoyos, 10 years ago

Which ProRes 4444 sample works for you with latest git head?

comment:5 by tracey jaquith, 10 years ago

hmm, I don't seem to be able to decode any ProRes small sample videos yet, w/ the head of the ffmpeg tree.

I get "Invalid pixel format '-1'", and even for one of the tests mentioned above, a different error.
Patch above doesn't patch (tried that, just in case).
Did I miss some kind of enable option? Don't see anything like "prores" listed in "ffmpeg -formats"....

Cmd-line errors/issues pasted below.
Thx for any help!
-tracey

/tmp/f/ffmpeg/ffmpeg -i ProResTestForTracey.mov test.mp4
ffmpeg version N-32747-g7cb5def, Copyright (c) 2000-2011 the FFmpeg developers

built on Sep 20 2011 23:57:16 with gcc 4.5.2
configuration: --disable-shared --disable-ffserver --enable-avfilter --enable-gpl --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libvorbis --enable-libxvid --enable-nonfree --enable-postproc --enable-pthreads --enable-static --disable-vdpau --enable-x11grab --prefix=/usr --enable-version3 --enable-libvpx --enable-libx264 --extra-cflags=-I/tmp/f/usr/local/include --extra-ldflags=-L/tmp/f/usr/local/lib
libavutil 51. 16. 1 / 51. 16. 1
libavcodec 53. 16. 0 / 53. 16. 0
libavformat 53. 12. 0 / 53. 12. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 2 / 2. 43. 2
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'ProResTestForTracey.mov':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2011-09-17 19:46:02

Duration: 00:00:57.93, start: 0.000000, bitrate: 64789 kb/s

Stream #0.0(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s
Metadata:

creation_time : 2011-09-17 19:46:02

Stream #0.1(eng): Video: prores (apch / 0x68637061), 720x486, 63246 kb/s, SAR 10:11 DAR 400:297, 29.98 fps, 29.97 tbr, 30k tbn, 30k tbc
Metadata:

creation_time : 2011-09-17 19:46:02

[buffer @ 0x1be76a0] Invalid pixel format '-1'
Error opening filters!

/tmp/f/ffmpeg/ffmpeg -i 422LT_trim.mov
ffmpeg version N-32747-g7cb5def, Copyright (c) 2000-2011 the FFmpeg developers

built on Sep 20 2011 23:57:16 with gcc 4.5.2
configuration: --disable-shared --disable-ffserver --enable-avfilter --enable-gpl --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libvorbis --enable-libxvid --enable-nonfree --enable-postproc --enable-pthreads --enable-static --disable-vdpau --enable-x11grab --prefix=/usr --enable-version3 --enable-libvpx --enable-libx264 --extra-cflags=-I/tmp/f/usr/local/include --extra-ldflags=-L/tmp/f/usr/local/lib
libavutil 51. 16. 1 / 51. 16. 1
libavcodec 53. 16. 0 / 53. 16. 0
libavformat 53. 12. 0 / 53. 12. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 2 / 2. 43. 2
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2d57380] Could not find codec parameters (Video: prores (apcs / 0x73637061), 1920x1080, 81579 kb/s)
422LT_trim.mov: could not find codec parameters

I either get something like that or "

comment:6 by Carl Eugen Hoyos, 10 years ago

Resolution: fixed
Status: openclosed

The ProRes decoder is GPLv2 only, so you have to configure with "--enable-gpl --enable-version2".
(And since I also forgot I couldn't reproduce the fix before.)

comment:7 by tracey jaquith, 10 years ago

ok, thanks, confirmed. i appreciate you so nicely helping an idio! ;-)

Note: See TracTickets for help on using tickets.