Opened 2 months ago

Last modified 2 months ago

#11165 new defect

Default "vp9" decoder didn't properly handle alpha (transparency)

Reported by: Mista_D Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: vp9 alpha
Cc: MasterQuestionable Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Mista_D)

FFmpeg doesn't seem to recognize VP9 encoded alpha channel file (yuva420p). It decodes it by default with VP8 and therefore fails to see alpha channel in WEBM.

This use case works well (decoder is forced to vp9), overlay is good, alpha is crystal clear:
ffmpeg -i udp -c:v libvpx-vp9 -i ov3.webm -filter_complex [0:v][1:v]overlay -t 5 rtmp

Same file, same stream, but overlay doesn't work properly. Screen turns black with graphics on top:
ffmpeg -i udp -filter_complex "movie=ov3.webm:s=dv[ov];[0:v][ov]overlay,zmq" -t 5 rtmp

webm file was originally generated from ProRes MOV, which works well in both scenarios, but is too huge to be properly used for a long file. movie filter is mandatory for ZMQ to work.

Thank you all for your work and awesome talents that you dedicate for this magnificent video engineering apparatus!

Attachments (1)

ov3.webm (389.8 KB ) - added by Mista_D 2 months ago.

Download all attachments as: .zip

Change History (4)

by Mista_D, 2 months ago

Attachment: ov3.webm added

comment:1 by Mista_D, 2 months ago

Description: modified (diff)

comment:2 by oscord, 2 months ago

works:

ffmpeg -f lavfi -i smptebars=size=1280x720 -c:v libvpx-vp9 -i ov3.webm -filter_complex "[0:v][1:v]overlay" -t 5 OK.mp4

fails:

ffmpeg -f lavfi -i smptebars=size=1280x720 -filter_complex "movie=ov3.webm:s=dv[ov];[0:v][ov]overlay" -t 5 NOT_OK.mp4

comment:3 by MasterQuestionable, 2 months ago

Cc: MasterQuestionable added
Component: undeterminedavcodec
Keywords: vp9 added; VP9 yuva420p overlay removed
Summary: VP9 decoding problemDefault "vp9" decoder didn't properly handle alpha (transparency)
Note: See TracTickets for help on using tickets.