GNOME Bugzilla – Bug 615143
[videobox] I420->AYUV conversion broken
Last modified: 2010-04-16 13:28:29 UTC
The I420->AYUV conversion in videobox was broken by my changes at some point and crashes: gst-launch-0.10 videotestsrc ! "video/x-raw-yuv,width=641,height=481,format=(fourcc)I420" ! queue2 ! videobox fill=black autocrop=true top=10 bottom=-10 left=-10 right=-10 fill=green ! "video/x-raw-yuv,format=(fourcc)AYUV" ! queue2 ! ffmpegcolorspace ! ximagesink Only seems to happen for odd widths/heights though. In other other odd cases the I420 code (I420->I420 and AYUV->I420) seems to copy less than needed, causing visible problems. This should definitely be fixed before next -good release, I'll work on this.
Is this fixed now with: commit 37e3d2d9d5b20658721d07ecc3a0570fdaffabf4 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon Apr 12 11:43:49 2010 +0200 videobox: Fix I420->AYUV copying commit 9da4f2906f6e95e34e8929c8acc04098d1e3d3fa Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon Apr 12 11:25:59 2010 +0200 videobox: Correctly clamp frame/background alphas to [0,255] before writing them or is there more to do? That pipeline works for with git now.
The I420->I420 and AYUV->I420 code paths are still broken, I'm working on them already.
Created attachment 158698 [details] [review] videobox: Fix AYUV->I420 copying
(In reply to comment #3) > Created an attachment (id=158698) [details] [review] > videobox: Fix AYUV->I420 copying This fixes the AYUV->I420 copying but I'd like to hear comments on the approach taken here, i.e. blending with the background if not a complete macro pixel is copied. This approach will cause no sharp borders in this case but OTOH guarantees that the copied frame has exactly the requested dimensions. If this is fine I'll continue with the I420->I420 copying
sounds sane (assuming it works properly with uneven target sizes). Otherwise you'd most liekly get a behavior that'd be unsupported in cairo/pixman anyway.
commit 386169b9fecc6fb26513cd426a6d16b4154a6815 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Fri Apr 16 15:27:12 2010 +0200 videobox: Fix I420->I420 copying Fixes bug #615143. commit e6dd1fc3db014fc8af8b6e13022e40a3f133ae7b Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Tue Apr 13 18:15:50 2010 +0200 videobox: Fix AYUV->I420 copying