GNOME Bugzilla – Bug 605231
[deinterlace] Support AYUV, RGB colorspaces
Last modified: 2010-05-05 15:41:34 UTC
+++ This bug was initially created as a clone of Bug #547603 +++ This would allow playbin2 to *always* plug a deinterlacer in its pipeline, with no ill effects on performance. The front-end could then simply offer deinterlacing as an option similar to deinterlace2's "mode" property (auto-on, forced-on, off).
Created attachment 150329 [details] [review] adds passthrough in deinterlace Adds passthrough for rgb and yuv on deinterlace. If mode=interlaced and the input caps isn't correct (rgb or a non supported yuv fourcc). 2 things that I might have got wrong 1) Can the template caps be improved somehow? Maybe listing the supported yuv formats with interlaced={true,false} and the other ones left unspecified? 2) setcaps is used both on sinkpad and srcpad, I updated its logic only thinking about the setcaps for the sinkpad, how would that work for the srcpad?
Some questions for completing the implementation. When on 'auto' mode, what should happen if an interlaced input is used and deinterlace doesn't support deinterlacing it? If we are going to use it in playbin2 I think it should just pass the data downstream and hope for the best, right?
Created attachment 150331 [details] [review] updated patch
Created attachment 150361 [details] debug log When trying this out in totem using playbin2 (with patches from bug #491627 and bug #547603), totem locks up. Don't know if this really belongs here or in playbin2. Maybe this debug log helps.
Looks good in general :)
Actually it's not a good idea to do this because it prevents proper negotiation... the real solution would be to add support for all common formats to deinterlace and let ffmpegcolorspace transform to those if necessary. I implemented this locally and will push after fixing some issue.
AYUV, RGB and GRAY are missing now and will come in the next days. Same goes for some other (old) issues, like "jumping" frames.
commit 9d6e4a7ac81fb4d9e5e092250bb9d843e7a35a63 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Wed May 5 17:39:32 2010 +0200 deinterlace: Add support for all common RGB formats commit 848f071ef454315c89745a2bb3222e0286002680 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Wed May 5 16:06:51 2010 +0200 deinterlace: Add support for AYUV I'm going to close this bug now, grayscale support in deinterlace isn't really important right now.