Commit graph

276 commits

Author SHA1 Message Date
Tim-Philipp Müller
d4f582edd6 tests: silence FIXMEs when running videoscale unit test 2012-08-05 17:21:31 +01:00
Tim-Philipp Müller
7892e1e22f videoscale: fix 4-tap scaling for 64-bpp formats
Fix invalid memory access caused by broken pointer arithmetic.

If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
2012-08-04 22:05:21 +01:00
Tim-Philipp Müller
a314325002 videoscale: sprinkle some G_GNUC_INTERNAL
Not sure it actually makes any difference for plugins though.
2012-08-04 22:05:20 +01:00
Tim-Philipp Müller
4c6ea69464 videoscale: make 4tap scanline funcs static 2012-08-04 22:05:20 +01:00
Wim Taymans
aefd1a5d6d videoscale: ranem gst_video_scale_orc -> video_scale_orc
So that functions are not exported
2012-07-23 17:13:29 +02:00
Wim Taymans
d4255d4339 videoscale: prefix orc functions with gst_video_scale_orc
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 17:03:53 +02:00
Tim-Philipp Müller
e29098f8f0 videoscale: remove formats Y800 and Y16 which no longer exist from template caps
Should help with the unit test, which has been failing.
2012-07-17 00:27:17 +01:00
Wim Taymans
059a6ca673 video: update for removed formats 2012-05-29 17:52:06 +02:00
Tim-Philipp Müller
3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge
ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Wim Taymans
1982d1ce12 Release 0.11.3 2012-03-22 15:51:39 +01:00
Wim Taymans
dd819ddc6b orc: avoid precompilation
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +01:00
Wim Taymans
25137962ad fix for caps API changes 2012-03-11 19:04:41 +01:00
Wim Taymans
37541750d2 videoscale: fix broken format filter
Simply intersect the format with the supported formats to make the code deal
with lists of formats.
2012-03-08 10:22:49 +01:00
Wim Taymans
9a21eda38c videoscale: remove old caps fields 2012-03-02 13:11:36 +01:00
Sebastian Dröge
f7939bb43f Merge branch 'master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gst-plugins-base-plugins.args
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/inspect/plugin-adder.xml
	docs/plugins/inspect/plugin-alsa.xml
	docs/plugins/inspect/plugin-app.xml
	docs/plugins/inspect/plugin-audioconvert.xml
	docs/plugins/inspect/plugin-audiorate.xml
	docs/plugins/inspect/plugin-audioresample.xml
	docs/plugins/inspect/plugin-audiotestsrc.xml
	docs/plugins/inspect/plugin-cdparanoia.xml
	docs/plugins/inspect/plugin-encoding.xml
	docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	docs/plugins/inspect/plugin-gdp.xml
	docs/plugins/inspect/plugin-gio.xml
	docs/plugins/inspect/plugin-gnomevfs.xml
	docs/plugins/inspect/plugin-libvisual.xml
	docs/plugins/inspect/plugin-ogg.xml
	docs/plugins/inspect/plugin-pango.xml
	docs/plugins/inspect/plugin-playback.xml
	docs/plugins/inspect/plugin-subparse.xml
	docs/plugins/inspect/plugin-tcp.xml
	docs/plugins/inspect/plugin-theora.xml
	docs/plugins/inspect/plugin-typefindfunctions.xml
	docs/plugins/inspect/plugin-uridecodebin.xml
	docs/plugins/inspect/plugin-videorate.xml
	docs/plugins/inspect/plugin-videoscale.xml
	docs/plugins/inspect/plugin-videotestsrc.xml
	docs/plugins/inspect/plugin-volume.xml
	docs/plugins/inspect/plugin-vorbis.xml
	docs/plugins/inspect/plugin-ximagesink.xml
	docs/plugins/inspect/plugin-xvimagesink.xml
	gst-libs/gst/app/gstappsink.c
	gst-libs/gst/audio/mixer.c
	gst-libs/gst/audio/mixer.h
	gst-libs/gst/tag/gstxmptag.c
	gst-libs/gst/video/colorbalance.c
	gst-libs/gst/video/colorbalance.h
	gst/adder/gstadder.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/videoscale/gstvideoscale.c
	tests/check/elements/videoscale.c
	tests/examples/seek/seek.c
	tests/examples/v4l/probe.c
	win32/common/_stdint.h
	win32/common/audio-enumtypes.c
	win32/common/config.h
2012-03-02 10:00:55 +01:00
Tim-Philipp Müller
63d1316c0f videoscale: fix negotiation after addition of new formats and methods
Now that we no longer support all methods for all formats, we
need to cater for that in the transform function: we can't
transform formats not supported by the currently-selected
mehod.

make check, folks. It's da bomb.
2012-02-26 23:46:50 +00:00
Wim Taymans
14387953a0 update for basetransform change 2012-02-24 11:03:16 +01:00
Wim Taymans
9212619549 update for new fixate_caps function 2012-02-22 12:32:44 +01:00
Wim Taymans
d2ea46cdbf Merge branch 'master' into 0.11
Conflicts:
	tests/examples/seek/seek.c
2012-02-21 10:01:30 +01:00
David Schleef
f8dc679ca7 videoscale: fix AYUV64 scaling 2012-02-19 00:05:08 -08:00
Wim Taymans
c3478b2da0 Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisparse.c
	gst-libs/gst/video/video.c
	gst/videoscale/gstvideoscale.c
	sys/v4l/gstv4lxoverlay.c
	sys/v4l/v4l_calls.c
	sys/v4l/v4lsrc_calls.c
	tests/check/libs/video.c
2012-02-10 15:41:06 +01:00
Wim Taymans
f31d5d7505 debug: add some performance debug 2012-02-09 15:28:54 +01:00
David Schleef
beacccc396 videoscale: Add nearest/linear scaling for NV12 2012-02-04 13:41:47 -08:00
David Schleef
e4f01106d0 videoscale: Add AYUV64 path to Lanczos 2012-02-04 13:41:47 -08:00
Sebastian Dröge
68c0790817 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/interfaces/propertyprobe.c
	sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
Mark Nauwelaerts
e82ff60a4c videoscale: prevent implicit upgrade to integer type and sign extension 2012-01-19 16:43:38 +01:00
Wim Taymans
a5f3d21723 videofilter: improve video filter
Flesh out the video filter base class. Make it parse the input and output caps
and turn them into GstVideoInfo. Map buffers as video frames and pass them to
the transform functions.
This allows us to also implement the propose and decide_allocation vmethods.
Implement the transform size method as well.
Update subclasses with the new improvements.
2011-12-21 23:46:53 +01:00
Wim Taymans
8a9c4ed69f videofilter: implement propose_allocation
With the new video bufferpool we can now implement the propose_allocation
vmethod on some video filter elements so that we can also use video metadata and
bufferpools when not operating in passthrough mode.
2011-12-21 18:58:42 +01:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Wim Taymans
e067e67923 rename meta* -> *meta 2011-11-02 09:04:27 +01:00
Wim Taymans
7012e88090 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/audio/audio.h
	gst-libs/gst/audio/gstaudiodecoder.c
	gst-libs/gst/audio/gstaudiodecoder.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudioencoder.h
	gst/playback/Makefile.am
	gst/playback/gstplaybin.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkvideoconvert.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
	gst/videoscale/gstvideoscale.c
	win32/common/libgstaudio.def
2011-09-06 15:24:32 +02:00
David Schleef
4e38577b30 videoscale: Add modified Lanczos scaling method
Adds a Lanczos-derived scaling method, which is rather slow, but very
high quality.  Adds a few properties that can be used to tune various
scaling properties: sharpness, sharpen, envelope, dither.  Not currently
Orcified, but was designed with that in mind.
2011-09-01 15:16:50 -07:00
Wim Taymans
82d82203f6 base: fix for allocation methods rename 2011-08-26 14:26:37 +02:00
Josep Torra
5629ed74b3 Fix debug statements
Fixes build on MacOSX

Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Wim Taymans
5a85e1d75f base: update for new bufferpool API 2011-07-29 17:15:39 +02:00
Wim Taymans
ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans
97567606e2 videoscale: activate Video meta
Configure the allocator with GstMetaVideo because we can handle that using the
GstVideoFrame helpers.
2011-06-20 17:49:13 +02:00
Wim Taymans
6d9e76f2de video: remove intermediate Plane structure
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans
d93129d8da -base: port to GstVideoFrame API 2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Wim Taymans
40d567153a Merge branch 'master' into 0.11 2011-06-13 19:09:05 +02:00
David Schleef
4db89c82bb convert M_PI to G_PI, for msvc 2011-06-10 23:56:34 -07:00
Sebastian Dröge
0c99ab5806 videoscale: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.
2011-05-27 14:37:41 +02:00
Sebastian Dröge
d8e0af1fc1 gst: Update for the GstBaseTransform::transform_caps() changes 2011-05-27 12:13:14 +02:00
Sebastian Dröge
a46485e357 gst: Update for caps/pad template related API changes 2011-05-17 13:06:01 +02:00
Sebastian Dröge
0d39d5bb8f videoscale: Update for negotiation related API changes 2011-05-16 15:35:17 +02:00
Sebastian Dröge
cc785bade6 videoscale: basetransform is now better at trying passthrough, remove workaround 2011-05-16 15:34:49 +02:00
Sebastian Dröge
c3b778f9b1 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-03 09:49:26 +02:00