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
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
Wim Taymans
079c152e62
Merge branch 'master' into 0.11
...
Conflicts:
gst/videoscale/gstvideoscale.c
2011-04-25 11:20:45 +02: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
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
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
Sebastian Dröge
4d757a29ee
videoscale: Only set the PAR if the caps already had a PAR
...
Otherwise we're producing different caps and basetransform thinks that it
can't passthrough buffer allocations, etc.
In 0.11 all video caps really should have the PAR set...
2010-08-11 18:10:45 +02:00
Sebastian Dröge
6fb91f7711
videoscale: Rename borders property to add-borders
2010-07-19 15:59:17 +02:00
Sebastian Dröge
52e711b11d
videoscale: Add support for adding black borders to keep the DAR if necessary
...
Fixes bug #617506 .
2010-07-18 15:44:14 +02:00
Sebastian Dröge
fc9de9e0a1
videoscale: Fix caps fixating if the height is fixed but the width isn't
2010-07-18 15:44:14 +02:00
Sebastian Dröge
58c77eb1b4
videoscale: Remove interlaced scaling again
...
This behaviour was not preferred and caused visible image quality
degradations. The real solution would be, to apply a real
deinterlacing filter before scaling the frames.
Fixes bug #615471 .
2010-07-18 15:44:13 +02:00
Sebastian Dröge
9fe51a4a50
videoscale: Add helper method for filling the VSImage struct
2010-07-18 15:44:13 +02:00
Sebastian Dröge
fa8fd0d7f6
videoscale: ...and add Y16 case for the linear scaling
2010-06-13 20:57:19 +02:00
Sebastian Dröge
c2e01e09c4
videoscale: Add Y16 case for 4-tap scaling
2010-06-13 20:38:23 +02:00
Sebastian Dröge
c2bdfc11af
videoscale: Use correct variables for debug output
2010-06-12 21:04:48 +02:00
Sebastian Dröge
c3cfb404ae
videoscale: Add support for more gray formats
2010-06-12 13:59:32 +02:00
Sebastian Dröge
b4c2af416d
videoscale: Use libgstvideo for caps parsing, etc
2010-06-12 13:51:26 +02:00
Sebastian Dröge
d91e3d8d78
videoscale: Use GST_VIDEO_CAPS_GRAY{8,16}
2010-06-12 13:00:26 +02:00
David Schleef
dbfd5a5af8
videoscale: convert from liboil to orc
2010-06-07 23:58:54 -07:00
Sebastian Dröge
a6a125e4ba
videoscale: Use passthrough mode if width and height are not changed
...
It doesn't matter if the PAR changes or not, processing of every pixel
is only necessary when the width or height changes.
2010-05-13 12:17:31 +02:00
Sebastian Dröge
b3808a57d4
videoscale: Try harder to keep the DAR if possible
...
Fixes bug #371108 .
2010-05-13 11:16:02 +02:00
Sebastian Dröge
9f677090d5
videoscale: Log PAR and DAR of input and output caps when setting caps
2010-05-13 11:16:01 +02:00
Sebastian Dröge
eb2166c97d
videoscale: Set input width/height if the output caps don't have any width or height
2010-05-13 11:16:01 +02:00
Andoni Morales
75a2e14e06
videoscale: Try to keep DAR when scaling
...
Fixes bug #371108 .
2010-05-13 11:16:01 +02:00
Stefan Kost
4967d4e3fd
videoscale: use can_intersect to avoid a caps copy
2010-05-06 09:17:33 +03:00
Sebastian Dröge
838d76dc4b
videoscale: Some random cleanup
2010-04-29 18:21:21 +02:00
Sebastian Dröge
43b370358d
videoscale: Add support for Y444, Y42B and Y41B
2010-04-29 18:21:21 +02:00
Sebastian Dröge
2fb31ad43c
videoscale: Reorder template caps by the amount of information contained in the color formats
2010-04-29 18:21:21 +02:00
Benjamin Otte
5e21fa5e0e
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Edward Hervey
8cd1b5209b
gst: Remove dead assignments and resulting unused variables
2009-08-08 15:54:02 +02:00
Sebastian Dröge
cac4b032c3
videoscale: Restrict width/height to 2^15 - 1
...
Otherwise integer overflows will happen, resulting in segmentation faults.
Fixes bug #590243 .
2009-08-06 06:43:34 +02:00
Sebastian Dröge
b69f5e2c66
videoscale: Make sure to allocate enough memory for the temporary buffer
...
and fix scaling of odd-height interlaced video.
2009-08-06 06:43:32 +02:00
Sebastian Dröge
c51d2febd3
videoscale: Fix interlaced scaling for I420
...
...and some other minor mistakes in the previous change.
2009-08-06 06:43:32 +02:00
Sebastian Dröge
33c490f4b9
videoscale: Add support for interlaced content
...
videoscale is not mixing content of two seperate fields anymore
and does scaling on every field separately.
Fixes bug #588761 .
2009-08-06 06:43:31 +02:00
Sebastian Dröge
2e5c946501
videoscale: Add support for 16 bit grayscale in native endianness
2009-05-26 15:26:30 +02:00