Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#2290 closed defect (fixed)

Apparently wrong bitdepth set for RGBA PNG in mov

Reported by: rmk Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: mov png regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I transcoded an PNG(RGBA)-Mov sample again into PNG(RGBA)-Mov and the
resulting file is displayed as RGBA and when I export a png frame from
the resulting file, transparency is still there. However, when using
the ffmpeg-generated file in Final Cut, transparency is gone (works
with original). Comparing the atom structure I saw that the
ffmpeg-generated file has a depth of 24 in the stsd atom, while the
original file has 32. Changing the value to 32 in the atom makes FCP
work with the file as expected.

When I just remux the file, 32 is preserved.

command line and output:

ffmpeg -i in.mov -vcodec png out.mov
ffmpeg version N-50095-gb9237aa Copyright (c) 2000-2013 the FFmpeg developers

built on Feb 20 2013 12:09:22 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration:
libavutil 52. 17.102 / 52. 17.102
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.100 / 54. 63.100
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 38.103 / 3. 38.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mov':

Metadata:

major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.63.100

Duration: 00:00:00.04, start: 0.000000, bitrate: 10307 kb/s

Stream #0:0(eng): Video: png (png / 0x20676E70), rgba, 1920x1080

[SAR 1:1 DAR 16:9], 10162 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc

Metadata:

handler_name : DataHandler

Output #0, mov, to 'out.mov':

Metadata:

major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.63.100
Stream #0:0(eng): Video: png (png / 0x20676E70), rgba, 1920x1080

[SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 12800 tbn, 25 tbc

Metadata:

handler_name : DataHandler

Stream mapping:

Stream #0:0 -> #0:0 (png -> png)

Press [q] to stop, ? for help
frame= 1 fps=0.0 q=0.0 Lsize= 50kB time=00:00:00.04
bitrate=10307.4kbits/s
video:50kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.428824%

Change History (3)

comment:1 by Carl Eugen Hoyos, 11 years ago

Component: undeterminedavcodec
Keywords: mov png regression added
Priority: normalimportant
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

Regression since 616ef2e, workaround is to use -threads 1
Patch sent.

comment:2 by Carl Eugen Hoyos, 11 years ago

Resolution: fixed
Status: openclosed

Should be fixed, thank you for the report!

comment:3 by rmk, 11 years ago

Thanks for the super-fast fix!

Note: See TracTickets for help on using tickets.