Commit graph

247 commits

Author SHA1 Message Date
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
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
Tim-Philipp Müller
288f8babd1 gst: update orc-generated disted C backup code to orc 0.4.14 2011-04-30 17:21:28 +01:00
Wim Taymans
079c152e62 Merge branch 'master' into 0.11
Conflicts:
	gst/videoscale/gstvideoscale.c
2011-04-25 11:20:45 +02:00
David Schleef
fc31f355ea videoscale: Fix off-by-one error in previous commit
Fix for 7c0b702e.  It helps to get your j+1's right.
2011-04-24 18:46:52 -07:00
David Schleef
7c0b702e14 videoscale: Fix ARGB bilinear scaling
Fixes #648548.  Orc generates bad code for
gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
slightly slower two-stage process.  I'd fix Orc, but it's hard to
get excited about fixing a feature that I'm planning to deprecate
and replace.
2011-04-24 18:22:23 -07:00
David Schleef
d4dbebc606 videoscale: hack to fix invalid reads in linear
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
ce9406f4d6 videoscale: protect 4tap from out-of-bounds reads
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
8264d59aab videoscale: use simpler scaling method for small images
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 12:55:28 +01:00
Sebastian Dröge
f10a8f0986 gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:35:53 +02:00
Sebastian Dröge
0759ce8533 Merge branch 'master' into 0.11 2011-04-18 13:23:32 +02:00
Tim-Philipp Müller
82a791519c gst: update disted orc backup code 2011-04-16 15:59:45 +01:00
Sebastian Dröge
352edd1dd9 Merge branch 'master' into 0.11 2011-04-16 09:12:31 +02:00
Marc Plano-Lesay
bf2b14f860 fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:37 +01:00
Wim Taymans
6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans
e1869fa267 Merge branch 'master' into 0.11-fdo 2011-03-28 20:13:59 +02:00
Wim Taymans
3b03e23559 plugins: port some plugins to the new memory API 2011-03-27 16:35:28 +02:00
Thiago Santos
91ed9290b8 videoscale: Fix assertion on caps fixation
When fixating caps, from_par should always be initialized
with a fixed value.

In case the fixation is from src to sink pad it was setting
the from par (srcpad par) to a fraction range, this patch initializes
it to 1/1, based on the assumption that missing PAR is 1/1.

https://bugzilla.gnome.org/show_bug.cgi?id=641952
2011-03-22 15:24:01 -03:00
David Schleef
e1149f52c1 videoscale: Add 16-bit-channel support 2011-02-20 12:04:02 -08:00
Sebastian Dröge
32f28f476e videoscale: Change classification to Filter/Converter/Video/Scaler 2010-12-16 10:11:43 +01:00
David Schleef
a3f4bf9c72 Update generated orc code 2010-10-15 13:16:13 -07:00
Tim-Philipp Müller
a86613a487 videoscale: use math-compat.h here as well
Hopefully the powers that be don't mind the gst/glib include here
too much.
2010-10-05 19:15:47 +01:00
David Schleef
bec69e20ae orc: update generated files to fix MSVC compile issues 2010-09-16 18:03:23 -07:00
David Schleef
af87634078 videoscale: Don't use broken orc feature 2010-09-16 17:56:49 -07:00
David Schleef
0cceeb2035 videoscale: refactor using more Orc code
Convert downsampling to Orc.  Convert horizontal linear scaling
to Orc.  Combine horizontal and vertical scaling into one pass.
2010-09-14 12:33:21 -07:00
Sebastian Dröge
18b282e49f orc: Fix generated source files 2010-09-10 08:43:17 +02:00
Sebastian Dröge
3c43dbfc51 orc: Update generated source files everywhere 2010-09-09 10:59:59 +02:00
Sebastian Dröge
8ba4b70118 Revert "Revert "Use init functions for Orc code""
This reverts commit 93aa13639d.

Everything should work now after regenerating the disted source files.
2010-09-09 10:57:41 +02:00
Wim Taymans
93aa13639d Revert "Use init functions for Orc code"
This reverts commit b2051090b4.

Fixes the build again until someone pushes the regenerated .c/.h
files too.
2010-08-27 11:49:47 +02:00
David Schleef
b2051090b4 Use init functions for Orc code 2010-08-26 17:03:13 -07:00