Commit graph

136 commits

Author SHA1 Message Date
Tim-Philipp Müller f18b1f7e80 deinterlace: fix on-the-fly changing of "mode" and "fields" properties
We call setcaps() to reconfigure ourselves, but we need to pass
the current *sink* caps, not the source caps then. Also fix a
caps leak.

https://bugzilla.gnome.org/show_bug.cgi?id=641599
2013-07-22 18:00:16 +01:00
Sebastian Dröge 048866f1b1 Release 1.1.1 2013-06-05 18:31:40 +02:00
Sebastian Dröge ecc6c607ff deinterlace: The return value of gst_pad_set_caps() is not relevant anymore
Caps can fail to be set because the pad is not linked yet for example.
2013-05-22 17:34:07 +02:00
Sebastian Dröge 5c8bb90262 deinterlace: Improve handling of min/max buffer numbers of the buffer pool 2013-05-14 09:45:12 +02:00
Matej Knopp 30c00f4fb7 deinterlace: set caps for buffer pool config 2013-05-14 09:38:24 +02:00
Sebastian Dröge b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Matej Knopp 67c2219687 deinterlace: force deinterlacing in "interlaced" mode
https://bugzilla.gnome.org/show_bug.cgi?id=697467
2013-04-07 20:48:21 +01:00
Kishore Arepalli 288e05c99d deinterlace: fix infinite loop on EOS with non-default methods or fields
Fixes problem of infinite loop in gst_deinterlace_reset_history.
Last field in the history was never deinterlaced because idx becomes negative.

Happens e.g. with method=scalerbob fields=bottom or
method=greedyl fields=top

https://bugzilla.gnome.org/show_bug.cgi?id=695644
https://bugzilla.gnome.org/show_bug.cgi?id=693173
2013-03-17 14:47:26 +00:00
Thijs Vermeir df88341ffb deinterlace: use appropriate printf format for gsize 2012-12-18 16:02:09 +01:00
Wim Taymans abd7e33db6 deinterlace: add support for strides
Implement stride support correctly by taking it from the GstVideoFrame.
Propose a bufferpool upstream when not operating in passthrough.
2012-12-11 13:00:46 +01:00
Tim-Philipp Müller 230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Robert Swain 03e5376827 deinterlace: Add some useful debug logging 2012-09-25 17:05:37 +02:00
Robert Swain 33dd81569f deinterlace: Fix telecine
This only affects behaviour in telecine cases with pattern locking
enabled. The default case should be untouched.

This works with the output from fieldanalysis at least, but the field
order looks swapped for telecine mixed buffers with the
David_slides_Schleef clip.
2012-09-25 17:04:54 +02:00
Robert Swain 480b894642 deinterlace: Remove incorrect logic
I don't understand why these lines were added, they don't make sense to
me now and both David and I agree that removing them moves closer to
related logic being correct, therefore, they're being removed.

I've tested a few progressive, interlaced and telecine clips and they
all behave properly timestamp-wise and visually after these changes.
2012-09-19 00:39:01 +02:00
Robert Swain a35a931555 deinterlace: Fix field duration
The frame rate fraction is correctly adjusted in the cases preceding the
field duration calculation and so the factor of 2 is incorrect.
2012-09-19 00:17:49 +02:00
Jan Schmidt a27deda053 deinterlace: Don't treat every custom-downstream event as EOS
Don't fall through to the EOS handling after receiving a
custom-downstream event.
2012-09-12 12:23:08 -07:00
Wim Taymans 1c64a91a50 deinterlace: improve framerate transform
Handle G_MAXINT in the framerates better. If we cannot double or divide the
framerate, clamp to the smallest/largest possible value we can express instead
of failing.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683861
2012-09-12 13:28:07 +02:00
Wim Taymans 6d9f9bf11a deinterlace: small cleanup 2012-09-12 13:17:54 +02:00
Wim Taymans ecaa2624d3 deinterlace: remove redundant _set_allocation call 2012-09-06 17:09:20 +02:00
Mark Nauwelaerts 1ce09d7ef9 deinterlace: plug some leaks 2012-09-06 17:05:49 +02:00
Wim Taymans 510482b01a deinterlace: reuse core function for GCD 2012-09-06 16:52:18 +02:00
Mark Nauwelaerts 9d4579b38a deinterlace: support filter in getcaps 2012-09-06 16:31:17 +02:00
Mark Nauwelaerts a4458f5f74 deinterlace: do not leak getcaps result 2012-09-06 16:31:17 +02:00
Wim Taymans 45e5ec29ac deinterlace: add support for bufferpool
Add bufferpool support to avoid a memcpy in the videosink when actively
interlacing.
Remove some commented obsolete code.
2012-09-06 16:25:05 +02:00
Wim Taymans f59fb16f58 deinterlace: proxy allocation query in passthrough
We can let the allocation query pass when we are operating in passthrough mode.
2012-09-06 13:38:52 +02:00
Wim Taymans 4efdbc97a5 deinterlace: use default event functions
instead of blindly forwarding unknown events.
2012-09-06 13:23:46 +02:00
Wim Taymans a557282aaa deinterlace: small cleanups 2012-09-06 13:23:30 +02:00
Wim Taymans f1ef3b4983 deinterlace: call default query handlers
Call the default query handler instead of forwarding the query blindly. Fixes
issues of strides because of proxying the allocation query wrongly.
2012-09-06 12:56:30 +02:00
Tim-Philipp Müller 4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller 045c4b6ec8 deinterlace: the field in caps is "interlace-mode" not "interlace-method"
Fix deinterlace unit test. Need to set right field on output caps.
Also remove right field (not old 0.10 "interlaced" boolean field)
from caps in unit test before comparing old and new.
2012-08-27 21:20:29 +01:00
Tim-Philipp Müller 0d148d9c6f deinterlace: fix not-negotiated errors on variable or missing framerate in input caps
Remove some bogus code I added during porting that would error out
on missing or variable framerates in input caps. Handle this like
we do in 0.10

Fixes test_mode_disabled_passthrough unit test check.
2012-08-14 01:20:19 +01:00
Tim-Philipp Müller 0e6b66a2a0 gst: update disted orc files 2012-08-08 15:10:37 +01:00
Robert Swain cc4941797d deinterlace: Fix timestamp adjustment and caps 2012-07-26 16:04:23 +02:00
Robert Swain 01016109d0 deinterlace: Fix/simplify telecine state checks 2012-07-26 16:03:57 +02:00
Robert Swain db5bb81e36 deinterlace: Improve debug output 2012-07-26 12:31:52 +02:00
Robert Swain f20d8f59c8 deinterlace: Fix low-latency pattern locking 2012-07-26 12:31:52 +02:00
Robert Swain 30a61f26ba deinterlace: RFF should be ignored in deinterlace
RFF only occurs on progressive frames in telecine sequences. For
deinterlace, we don't want these repeated fields as we will simply be
pushing the progressive frame and then moving on.

However, we need to consider RFF in order to correctly identify patterns
and adjust the timestamps.
2012-07-26 12:31:52 +02:00
Robert Swain 7c0af11fca deinterlace: Improve process logic
The logic now works better if we filter orphans, then progressive, then
telecine interlaced fields which need to be woven and fall through to
interlace. Telecine interlaced fields will be regularly deinterlaced if
there is no pattern lock for us to be sure that we have a telecine
pattern.

Telecine sequences that aren't 24fps progressive with RFF flags can't
really be tested until fieldanalysis is ported.
2012-07-26 12:31:52 +02:00
Wim Taymans 7fdd607561 deinterlace: get frame flags correctly
Also move the deinterlace plugin to ported status
2012-07-23 15:50:18 +02:00
Robert Swain eac172c433 deinterlace: Port to 1.0
This requires the additional INTERLACED buffer flag recently added to
-base
2012-07-20 23:23:42 +02:00
Vincent Penquerc'h fe45881a0f deinterlace: send QoS messages when dropping a frame
https://bugzilla.gnome.org/show_bug.cgi?id=657941
2012-06-12 15:40:37 +01:00
Sebastian Dröge 4784e83938 Release 0.11.90 2012-04-12 10:27:31 +02:00
Tim-Philipp Müller e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge 5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Wim Taymans c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Sebastian Dröge dad2a52f62 deinterlace: Fix 'variable 'oldbx' is uninitialized when used here' compiler warnings 2012-03-06 13:21:12 +01:00
Sebastian Dröge 4d55588e35 deinterlace: Fix 'implicit conversion from enumeration type 'GstDeinterlaceFields' to different enumeration type 'GstDeinterlaceMode'' compiler warning 2012-03-06 13:19:24 +01:00
Sebastian Dröge 10554b271f Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	ext/jpeg/gstjpegenc.c
	ext/pulse/pulsesink.c
	sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Mark Nauwelaerts 9d771c9bed deinterlace: fix arithmetic for unsigned comparison 2012-01-20 17:10:33 +01:00