GNOME Bugzilla – Bug 642691
deinterlace: Miscellaneous cleanup
Last modified: 2011-03-08 15:32:53 UTC
Some patches follow...
Created attachment 181243 [details] [review] deinterlace: Fix assigned method_id when using a fallback Also improve debug output by printing the buffer pointer when popping a buffer and simplify code to use scanlines.bottom_field as appropriate.
Created attachment 181245 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod The main goal of this change is to reuse the complex but now neatly written scanline pointer calculation code from the simple methods.
Created attachment 181246 [details] [review] deinterlace: Simplify setcaps The current code never uses upstream negotiation so the code can be significantly simplified.
Comment on attachment 181245 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod Does this actually work for you? For me, it looks like it just doesn't do any interlacing any more with method=greedyl
> For me, it looks like it just doesn't do any interlacing any more with > method=greedyl Doesn't do any *de*interlacing I meant of course.
Well it certainly worked in my tree and I tested it. Did you apply all the above patches or just that one? I think that perhaps the method_id fix was related to that greedyl porting and not to my other work.
I applied the method_id fix and the greedyl patch, but not the setcaps patch. Here's one of the videos I've been testing with: http://people.freedesktop.org/~tpm/samples/bbcnews2.m2t It's really easy to see if you look at the scrolling text at the bottom.
Created attachment 181590 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod Fix copied lines.
(In reply to comment #7) > I applied the method_id fix and the greedyl patch, but not the setcaps patch. > > Here's one of the videos I've been testing with: > > http://people.freedesktop.org/~tpm/samples/bbcnews2.m2t > > It's really easy to see if you look at the scrolling text at the bottom. Try the new version please. :) I don't know why I did it like that. Perhaps there was something wrong with using m2 in another case while I was adjusting all the code. I'm not sure.
Comment on attachment 181590 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod Works for me now as well. There's still some vertical instability - look at the red text on the white background, it looks like it's jittering up and down (hard to see with the fast movements in the main picture), but that's been there in the old method as well, so not related to this patch.
Created attachment 181687 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod This update should fix crashes being observed with the obsoleted patches. Previously the interpolation function was being run always using the stride from the Y plane, regardless of the plane being operated on. This didn't break anything previously because the bottom lines were special-cased to copy and the copy functions used the correct strides.
Comment on attachment 181687 [details] [review] deinterlace: Port greedyl to GstDeinterlaceSimpleMethod Accepted on IRC
Comment on attachment 181246 [details] [review] deinterlace: Simplify setcaps Accepted on IRC
commit 6607cdcc08621c99ad96be4d7c57c92674d7c785 Author: Robert Swain <robert.swain@collabora.co.uk> Date: Mon Nov 8 14:25:59 2010 +0100 deinterlace: Simplify setcaps The current code never uses upstream negotiation so the code can be significantly simplified. commit 6402556157c8a1f9da6eae421b426293f6f5039c Author: Robert Swain <robert.swain@collabora.co.uk> Date: Mon Jan 24 12:48:18 2011 +0100 deinterlace: Port greedyl to GstDeinterlaceSimpleMethod The main goal of this change is to reuse the complex but now neatly written scanline pointer calculation code from the simple methods.