[FFmpeg-devel] [PATCH] libavcodec/libvpx: Add VPx alpha decode support

James Almer jamrial at gmail.com
Tue Jul 12 22:22:40 EEST 2016


On 7/12/2016 3:48 PM, Vignesh Venkatasubramanian wrote:
> VPx (VP8/VP9) alpha encoding has been part of FFmpeg. Now, add the
> ability to decode such files with alpha channel.
> 
> Signed-off-by: Vignesh Venkatasubramanian <vigneshv at google.com>
> ---
>  libavcodec/libvpxdec.c          | 102 +++++++++++++++++++++++++-------
>  tests/fate/vpx.mak              |   3 +
>  tests/ref/fate/vp8-alpha-decode | 125 ++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 210 insertions(+), 20 deletions(-)
>  create mode 100644 tests/ref/fate/vp8-alpha-decode
> 

[...]

> diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
> index f0bcfac..b29a71a 100644
> --- a/tests/fate/vpx.mak
> +++ b/tests/fate/vpx.mak
> @@ -31,6 +31,9 @@ fate-vp6f: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/flash-vp6/clip10
>  FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-vp8-alpha
>  fate-vp8-alpha: CMD = framecrc -i $(TARGET_SAMPLES)/vp8_alpha/vp8_video_with_alpha.webm -vcodec copy
>  
> +FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-vp8-alpha-decode

This line states the tests depends on the internal vp8 decoder, when
in reality it needs libvpx's. It also states it needs the flv demuxer
when it's a webm file, but i see you just copied it from the test
above it which is wrong. I'll fix that in a moment.

In any case, we don't add tests for external library based components,
so this isn't needed.

> +fate-vp8-alpha-decode: CMD = framecrc -vcodec libvpx -i $(TARGET_SAMPLES)/vp8_alpha/vp8_video_with_alpha.webm -vcodec rawvideo -pix_fmt yuva420p -f rawvideo
> +
>  FATE_VP8-$(call DEMDEC, WEBM_DASH_MANIFEST, VP8) += fate-webm-dash-manifest
>  fate-webm-dash-manifest: CMD = run $(FFMPEG) -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video2.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio2.webm -c copy -map 0 -map 1 -map 2 -map 3 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" -
>  
> diff --git a/tests/ref/fate/vp8-alpha-decode b/tests/ref/fate/vp8-alpha-decode
> new file mode 100644
> index 0000000..40b28d2
> --- /dev/null
> +++ b/tests/ref/fate/vp8-alpha-decode
> @@ -0,0 +1,125 @@
> +#tb 0: 1/30
> +#media_type 0: video
> +#codec_id 0: rawvideo
> +#dimensions 0: 320x213
> +#sar 0: 1/1
> +0,          0,          0,        1,   170560, 0x2a1293ad
> +0,          1,          1,        1,   170560, 0x6c88cb4b
> +0,          2,          2,        1,   170560, 0x27585dc5
> +0,          3,          3,        1,   170560, 0x73cbe037
> +0,          4,          4,        1,   170560, 0x4eca3cd5
> +0,          5,          5,        1,   170560, 0xdfecde95
> +0,          6,          6,        1,   170560, 0x38dfe631
> +0,          7,          7,        1,   170560, 0xbbe546a1
> +0,          8,          8,        1,   170560, 0xa78ffec3
> +0,          9,          9,        1,   170560, 0x917923f7
> +0,         10,         10,        1,   170560, 0x82927437
> +0,         11,         11,        1,   170560, 0xe1bfa664
> +0,         12,         12,        1,   170560, 0x1091e069
> +0,         13,         13,        1,   170560, 0x96551722
> +0,         14,         14,        1,   170560, 0x9a952c31
> +0,         15,         15,        1,   170560, 0xb2e34dff
> +0,         16,         16,        1,   170560, 0x09f77a76
> +0,         17,         17,        1,   170560, 0xf6f5a3de
> +0,         18,         18,        1,   170560, 0x6453bd09
> +0,         19,         19,        1,   170560, 0x7d64c755
> +0,         20,         20,        1,   170560, 0x1e11c29d
> +0,         21,         21,        1,   170560, 0x57dca8ba
> +0,         22,         22,        1,   170560, 0x594d982a
> +0,         23,         23,        1,   170560, 0xd2017b7d
> +0,         24,         24,        1,   170560, 0x46af60e2
> +0,         25,         25,        1,   170560, 0x186b60bd
> +0,         26,         26,        1,   170560, 0x9bd96210
> +0,         27,         27,        1,   170560, 0x6efb7e78
> +0,         28,         28,        1,   170560, 0xd0219673
> +0,         29,         29,        1,   170560, 0x81bfc1c7
> +0,         30,         30,        1,   170560, 0x61a30393
> +0,         31,         31,        1,   170560, 0x6cfc30e0
> +0,         32,         32,        1,   170560, 0x820557d8
> +0,         33,         33,        1,   170560, 0xa4f88301
> +0,         34,         34,        1,   170560, 0x072fb542
> +0,         35,         35,        1,   170560, 0x8d3cd908
> +0,         36,         36,        1,   170560, 0x776be292
> +0,         37,         37,        1,   170560, 0x2074ca19
> +0,         38,         38,        1,   170560, 0x3f5d8ab8
> +0,         39,         39,        1,   170560, 0x393425b3
> +0,         40,         40,        1,   170560, 0x8332948c
> +0,         41,         41,        1,   170560, 0x151df7b7
> +0,         42,         42,        1,   170560, 0xd8e64eb2
> +0,         43,         43,        1,   170560, 0xa3512c1c
> +0,         44,         44,        1,   170560, 0x27a15536
> +0,         45,         45,        1,   170560, 0x2579d29a
> +0,         46,         46,        1,   170560, 0x75524551
> +0,         47,         47,        1,   170560, 0xc7236dbd
> +0,         48,         48,        1,   170560, 0xbf2f7f6f
> +0,         49,         49,        1,   170560, 0xaad98788
> +0,         50,         50,        1,   170560, 0xf5ab997a
> +0,         51,         51,        1,   170560, 0x153e84ef
> +0,         52,         52,        1,   170560, 0x79ed8200
> +0,         53,         53,        1,   170560, 0x524474a3
> +0,         54,         54,        1,   170560, 0x3602695d
> +0,         55,         55,        1,   170560, 0x13cd63cd
> +0,         56,         56,        1,   170560, 0xdfba6dac
> +0,         57,         57,        1,   170560, 0x8b319424
> +0,         58,         58,        1,   170560, 0x43b49c67
> +0,         59,         59,        1,   170560, 0x2107c194
> +0,         60,         60,        1,   170560, 0x5ecb22f3
> +0,         61,         61,        1,   170560, 0x1ddb4a99
> +0,         62,         62,        1,   170560, 0xc5ac63ed
> +0,         63,         63,        1,   170560, 0x3db28c93
> +0,         64,         64,        1,   170560, 0x6b98a419
> +0,         65,         65,        1,   170560, 0x17deae77
> +0,         66,         66,        1,   170560, 0x3bcfb34e
> +0,         67,         67,        1,   170560, 0x6f6cb81b
> +0,         68,         68,        1,   170560, 0x0655e03b
> +0,         69,         69,        1,   170560, 0xde7d06a1
> +0,         70,         70,        1,   170560, 0x8e51535c
> +0,         71,         71,        1,   170560, 0xea256867
> +0,         72,         72,        1,   170560, 0xc08c4fdd
> +0,         73,         73,        1,   170560, 0xe30b4791
> +0,         74,         74,        1,   170560, 0x981b9218
> +0,         75,         75,        1,   170560, 0x29d34848
> +0,         76,         76,        1,   170560, 0xafc0000c
> +0,         77,         77,        1,   170560, 0x18b477fb
> +0,         78,         78,        1,   170560, 0x7f4ac3e3
> +0,         79,         79,        1,   170560, 0xc653fcb9
> +0,         80,         80,        1,   170560, 0x1bef5046
> +0,         81,         81,        1,   170560, 0x34b28216
> +0,         82,         82,        1,   170560, 0x2b75c377
> +0,         83,         83,        1,   170560, 0x014b226b
> +0,         84,         84,        1,   170560, 0x8a964e61
> +0,         85,         85,        1,   170560, 0xe49880a4
> +0,         86,         86,        1,   170560, 0x4472cbd1
> +0,         87,         87,        1,   170560, 0xe56a20f8
> +0,         88,         88,        1,   170560, 0x0ab3653f
> +0,         89,         89,        1,   170560, 0xadc89f74
> +0,         90,         90,        1,   170560, 0xe36dfdaf
> +0,         91,         91,        1,   170560, 0xe2514944
> +0,         92,         92,        1,   170560, 0xc4eb9ac9
> +0,         93,         93,        1,   170560, 0xfde3ec34
> +0,         94,         94,        1,   170560, 0x4a1c4a02
> +0,         95,         95,        1,   170560, 0xd803acee
> +0,         96,         96,        1,   170560, 0x4f8809cc
> +0,         97,         97,        1,   170560, 0x566b6b45
> +0,         98,         98,        1,   170560, 0x8bd2bc6a
> +0,         99,         99,        1,   170560, 0xa509ec67
> +0,        100,        100,        1,   170560, 0xeed1fe6d
> +0,        101,        101,        1,   170560, 0xa8fe0bef
> +0,        102,        102,        1,   170560, 0x909c0af9
> +0,        103,        103,        1,   170560, 0xc8f5f598
> +0,        104,        104,        1,   170560, 0x3e93c2e3
> +0,        105,        105,        1,   170560, 0xa0c275b6
> +0,        106,        106,        1,   170560, 0x93085bc0
> +0,        107,        107,        1,   170560, 0x7fd646b1
> +0,        108,        108,        1,   170560, 0x67a24d63
> +0,        109,        109,        1,   170560, 0x184b79f1
> +0,        110,        110,        1,   170560, 0x979cc32f
> +0,        111,        111,        1,   170560, 0xdc0a064f
> +0,        112,        112,        1,   170560, 0xabf94c6f
> +0,        113,        113,        1,   170560, 0x614d6043
> +0,        114,        114,        1,   170560, 0x4a963b04
> +0,        115,        115,        1,   170560, 0x06290370
> +0,        116,        116,        1,   170560, 0xb68ccf53
> +0,        117,        117,        1,   170560, 0x9e379142
> +0,        118,        118,        1,   170560, 0x09a561af
> +0,        119,        119,        1,   170560, 0xf0fb1e9a
> 



More information about the ffmpeg-devel mailing list