On Thu, 15 Jan 2015, Paul B Mahol  wrote:

Module: libav
Branch: master
Commit: 928061670e873e816daa14827853b7e11221ff5f

Author:    Paul B Mahol <[email protected]>
Committer: Vittorio Giovara <[email protected]>
Date:      Wed Dec 17 14:54:43 2014 +0100

libswscale: GBRAP input & output and GBRAP16 input support

Signed-off-by: Vittorio Giovara <[email protected]>

---

This seems to be mising something. If you scale from gbrap to gbrap (as the fate-filter-pixfmts-scale does), the output alpha channel gets broken. If you inspect the alpha channel of the output image, it's (mostly) 0x7f and 0x80, instead of 0xff (if the input had that).

Example:
./avconv -i <your favorite sample> -frames 1 -vf format=gbrap -pix_fmt gbrap -f 
rawvideo -y out.dat

If the input sample didn't include any alpha channel, then the output alpha channel should be all 0xff. Open out.dat in your favorite hexeditor and look at the end of the file and confirm that it is 0xff.

./avconv -i <your favorite sample> -frames 1 -vf format=gbrap,scale=200:100 
-pix_fmt gbrap -f rawvideo -y out.dat

Check the end of this file, and see that it isn't 0xff any longer, but 0x80/0x7f mostly.

This also probably is the reason why this test fails on big endian - as in, doesn't match the same broken output as on little endian. (See e.g. https://fate.libav.org/ppc64-linux-gcc-4.7/20150115010020/test.)

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to