Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#484 closed enhancement (fixed)

prores fails to decode 4444

Reported by: jonne_jvl 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_jvl 5 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 5 years ago by jonne_jvl

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 Changed 5 years ago by cehoyos

  • Priority changed from normal to wish
  • Reproduced by developer set
  • Status changed from new to open
  • Type changed from defect to enhancement

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

comment:3 Changed 5 years ago by jonne_jvl

fixed in head. close.

comment:4 Changed 5 years ago by cehoyos

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

comment:5 Changed 5 years ago by tracey_pooh

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 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

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 Changed 5 years ago by tracey_pooh

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

Note: See TracTickets for help on using tickets.