Hi, I'm trying to decode a vp8 encoded video with alpha channel. I clone ffmpeg from git and configured with the following options:
./configure --prefix="${HOME}/ffmpeg_build_git" --pkg-config-flags=--static --extra-cflags=-I"${HOME}/ffmpeg_build_git/include" --extra-ldflags=-L"${HOME}/ffmpeg_build_git/lib" --bindir="${HOME}/ffmpeg_build_git/bin" --enable-gpl --enable-yasm --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nonfree --disable-doc --enable-vaapi --enable-vda --enable-vdpau --enable-decoder=h264_vdpau --enable-hardcoded-tables --enable-hwaccel=h264_vaapi --enable-hwaccel=h264_vdpau --enable-libx264 After that I run the command: ./ffmpeg -i ~/Desktop/png/filmato_01_alfa.png -c:v libvpx -pix_fmt yuva420p -metadata:s:v:0 alpha_mode="1" output.webm to encode a vp8 video, I obtain the following output: ffmpeg version N-81641-ga50ca6b Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/home/qmax/ffmpeg_build_git --pkg-config-flags=--static --extra-cflags=-I/home/qmax/ffmpeg_build_git/include --extra-ldflags=-L/home/qmax/ffmpeg_build_git/lib --bindir=/home/qmax/ffmpeg_build_git/bin --enable-gpl --enable-yasm --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nonfree --disable-doc --enable-vaapi --enable-vda --enable-vdpau --enable-decoder=h264_vdpau --enable-hardcoded-tables --enable-hwaccel=h264_vaapi --enable-hwaccel=h264_vdpau --enable-libx264 libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 55.101 / 57. 55.101 libavformat 57. 48.103 / 57. 48.103 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 62.100 / 6. 62.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, png_pipe, from '/home/qmax/Desktop/png/filmato_01_alfa.png': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, rgba(pc), 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc [libvpx @ 0x2d2ace0] v1.3.0 [webm @ 0x2d29080] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, webm, to 'output.webm': Metadata: encoder : Lavf57.48.103 Stream #0:0: Video: vp8 (libvpx), yuva420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 200 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: alpha_mode : 1 encoder : Lavc57.55.101 libvpx Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (png (native) -> vp8 (libvpx)) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize= 69kB time=00:00:00.00 bitrate=562384.0kbits/s speed=0.00144x video:34kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 101.311569% I would use ffmpeg to decode this video when i run: ~/ffmpeg_build_git/bin/ffmpeg -i ./output.webm -f null - -benchmark ffmpeg version N-81641-ga50ca6b Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/home/qmax/ffmpeg_build_git --pkg-config-flags=--static --extra-cflags=-I/home/qmax/ffmpeg_build_git/include --extra-ldflags=-L/home/qmax/ffmpeg_build_git/lib --bindir=/home/qmax/ffmpeg_build_git/bin --enable-gpl --enable-yasm --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nonfree --disable-doc --enable-vaapi --enable-vda --enable-vdpau --enable-decoder=h264_vdpau --enable-hardcoded-tables --enable-hwaccel=h264_vaapi --enable-hwaccel=h264_vdpau --enable-libx264 libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 55.101 / 57. 55.101 libavformat 57. 48.103 / 57. 48.103 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 62.100 / 6. 62.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from './output.webm': Metadata: encoder : Lavf57.48.103 Duration: 00:00:00.04, start: 0.000000, bitrate: 14059 kb/s Stream #0:0: Video: vp8, yuv420p, 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: alpha_mode : 1 [null @ 0x27019e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, null, to 'pipe:': Metadata: encoder : Lavf57.48.103 Stream #0:0: Video: wrapped_avframe, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: alpha_mode : 1 encoder : Lavc57.55.101 wrapped_avframe Stream mapping: Stream #0:0 -> #0:0 (vp8 (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed= 5.8x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=0.004s bench: maxrss=18300kB The input stream has yuv420p pixel format rather than yuva420p. By analyzing the source code in libavcodec/libvpxdec.c in the function vpx_decode there is a reference to the alpha channel that is set in: planes[3] = ctx->has_alpha_channel ? img_alpha->planes[VPX_PLANE_Y] : NULL; linesizes[3] = ctx->has_alpha_channel ? img_alpha->stride[VPX_PLANE_Y] : 0; ________________________________ Le informazioni contenute in questo messaggio e negli eventuali allegati sono confidenziali e ad uso esclusivo del destinatario indicato. Qualora non fossero a Lei destinati o abbia ricevuto questa comunicazione per errore, La preghiamo di tener presente che qualsiasi divulgazione, distribuzione o duplicazione delle informazioni in essa contenute è strettamente proibita e può essere illegale. La informiamo che deve darci tempestiva comunicazione della ricezione del messaggio e distruggerlo immediatamente. I contenuti possono essere soggetti ad accordi di non- divulgazione e riservatezza. Le opinioni e i punti di vista espressi in questo messaggio di posta elettronica sono propri dell'autore e potrebbero non corrispondere a opinioni e punti di vista di Quixant. Nessuna informazione contenuta in questo messaggio può essere interpretata come modifica dei termini di qualsiasi accordo contrattuale scritto, esistente tra Quixant Plc (comprese le sue controllate) e qualsiasi persona fisica o giuridica. _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".