Commit graph

159 commits

Author SHA1 Message Date
Sebastian Dröge
1469453cb9 ffmpegcolorspace: Fix IYU1 support
Fix conversions to IYU1, they allocated infinite amounts of memory before
because no conversion to IYU1 was actually implemented and it was running
into an infinite loop trying to find suitable intermediate formats.

Also fix the stride and sizes used for IYU1.
2010-11-03 10:49:35 +01:00
Sebastian Dröge
d8c1044fbd ffmpegcolorspace: Add support for A420 2010-10-15 11:12:38 +02:00
Sebastian Dröge
cd5527fa4e ffmpegcolorspace: Add back support for 8 bit paletted RGB
This was removed by 3a00a97fd2
while making the pad template caps more compact.

Fixes bug #626629.
2010-08-19 18:51:25 +02:00
Tim-Philipp Müller
2dab0a8928 ffmpegcolorspace: remove chroma-site and color-matrix fields from RGB caps 2010-08-12 11:46:39 +01:00
Sebastian Dröge
6e9deae749 ffmpegcolorspace: Use correct Y offset for YVYU -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge
d774b46077 ffmpegcolorspace: Use correct Y offset for the YUY2 -> RGB conversions
Fixes bug #623530.
2010-07-04 17:40:11 +02:00
Sebastian Dröge
263201d9e7 ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to 8 bit grayscale
The last pixel wasn't written before for odd widths.

Fixes bug #623418.
2010-07-02 20:09:58 +02:00
Sebastian Dröge
9c9f97251a ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
The last pixel wasn't written before.

Fixes bug #623384.
2010-07-02 14:58:37 +02:00
Sebastian Dröge
ef4165f08b ffmpegcolorspace: Fix invalid memory accesses with odd widths/heights during subsampling
Fixes bug #623375.
2010-07-02 13:59:55 +02:00
Edward Hervey
3a00a97fd2 ffmpegcolorspace: Use a more concise pad template
Speeds up caps nego 2 fold

https://bugzilla.gnome.org/show_bug.cgi?id=622696
2010-06-25 17:07:12 +02:00
Sebastian Dröge
cff70878b6 ffmpegcolorspace: Add YUY2/YVYU to all RGB formats conversions 2010-06-17 17:21:01 +02:00
Sebastian Dröge
21cb7fd0ff ffmpegcolorspace: Fix Y42B to YUY2/YVYU/UYVY conversion for odd widths 2010-06-17 17:21:01 +02:00
Sebastian Dröge
bd56c3c44f ffmpegcolorspace: Fix YUY2/YVYU/UYVY to Y42B conversion for odd widths 2010-06-17 17:21:00 +02:00
Edward Hervey
801cab604d ffmpegcolorspace: Use Quarks for structure name/field checking 2010-06-14 13:28:54 +02:00
Edward Hervey
3f1f8f66ed ffmpegcolorspace: Speed up _remove_format_info
Instead of copying full caps, use the fact that the provided caps only have
one structure and only copy around structures.
2010-06-14 13:28:54 +02:00
Edward Hervey
19f5fda87d ffmpegcolorspace: Transfer structures instead of copying them
Avoids many expensive structure copies
2010-06-14 13:28:50 +02:00
Sebastian Dröge
cef0bc9657 ffmpegcolorspace: Fix Y16 from/to GRAY8 conversion 2010-06-12 16:51:41 +02:00
Sebastian Dröge
398c1c5fc8 ffmpegcolorspace: Don't crash when doing gray YUV to GRAY conversion 2010-06-12 16:31:49 +02:00
Sebastian Dröge
39b68dc2a8 ffmpegcolorspace: Map "Y8 " and "GREY" to "Y800" and add it to the template caps 2010-06-07 08:31:53 +02:00
Martin Bisson
4c0b39b680 ffmpegcolorspace: Add support for Y800 and Y16
Fixes bug #620441.
2010-06-07 08:18:04 +02:00
Edward Hervey
37e975b8cc ffmpegcolorspace : whooops 2010-05-07 19:49:57 +02:00
Edward Hervey
516c824687 ffmpegcolorspace: more minor cleanups 2010-05-07 19:21:13 +02:00
Edward Hervey
0d451ad9cb ffmpegcolorspace: speedup caps transformation
* don't re-create our possible caps every single time, just use the
  template caps.
* don't intersect the caps against the template, basetransform has already
  done that for us.

62% speedup of _transform_caps() (instruction calls, measured with callgrind)
2010-05-07 17:38:46 +02:00
Sebastian Dröge
bd64568bf4 ffmpegcolorspace: Use GST_BOILERPLATE and use GstVideoFilter as base class
This gives automatic QoS handling.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
b5853bf8ba ffmpegcolorspace: Fix Y41B->Y444 conversion
...which is the intermediate conversion for conversion to all
other formats.

Fixes bug #616545.
2010-04-22 20:58:29 +02:00
Tim-Philipp Müller
58a92964c6 build: Makefile.am fixes
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00: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
Benjamin Otte
43b1683421 Add -Wmissing-declarations -Wmissing-prototypes to warning flags
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Sebastian Dröge
8b1e42f272 ffmpegcolorspace: Add conversions from all ARGB formats to AYUV and back 2010-02-12 11:00:08 +01:00
Thijs Vermeir
48aa1959c8 ffmpegcolorspace: rename performance category
rename the performance category to ffmpegcolorspace_performance
as there is already a global GST_CAT_PERFORMANCE in core
2010-01-21 19:34:33 +01:00
Sebastian Dröge
1fe9f49691 ffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other way around
Fixes bug #602834 and #350748.
2009-11-25 16:18:37 +01:00
Tim-Philipp Müller
6f4c1ac583 Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Stefan Kost
e81303b733 ffmpegcolorspace: chwck formats just once per _chain() 2009-10-08 18:10:08 +03:00
Stefan Kost
f2d1c9b0b7 ffmpegcolorspace: add perf-log-category and log suboptimal operation
Log if we use an intermediate colorspace for conversion.
2009-10-08 18:09:52 +03:00
Benjamin Otte
9d6eb19453 [ffmpegcolorspace] Fix NV12 and NV21 with odd width and height 2009-10-07 09:54:08 +02:00
Jan Schmidt
f58a2b71b5 ffmpegcolorspace: Use the ffmpegcolorspace debug category
Move gstffmpegcodecmap debug to the ffmpegcolorspace category
2009-10-06 20:37:42 +01:00
Benjamin Otte
8939bc6c82 ffmpegcolorspace: Handle YVU9/YUV9 conversion with odd widths
A green border could be visible when converting to Y444 or RGB, because
the last chroma samples weren't copied correctly
2009-09-10 10:56:29 +02:00
David Schleef
0e9bc5125a Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Edward Hervey
8cd1b5209b gst: Remove dead assignments and resulting unused variables 2009-08-08 15:54:02 +02:00
Siarhei Siamashka
720a927f38 ffmpegcolorspace: support for direct conversion from uyvy422 to rgb formats 2009-08-06 15:09:44 +03:00
Sebastian Dröge
6b63053be1 ffmpegcolorspace: Fix indention of template header 2009-08-06 06:43:34 +02:00
Sebastian Dröge
164b90f9d0 ffmpegcolorspace: Include interlacing information in the AVPicture
This later allows to handle interlaced AVPicture different than
progressive ones which is needed for horizontally subsampled YUV
formats, see bug #589242.
2009-08-06 06:43:32 +02:00
Jan Schmidt
0ed6ec3902 ffmpegcolorspace: Fix NV12 and NV21 transformations
Fix some stride problems, fix the nv12 to nv21 direct transformation,
and implement a direct conversion to yuv444 to save CPU.
2009-06-20 23:48:22 +01:00
Sebastian Dröge
a9c405f5fa ffmpegcolorspace: Add a lot more conversions from/to 16 bit grayscale 2009-05-30 14:18:56 +02:00
Sebastian Dröge
9d02d1d8ab ffmpegcolorspace: Add support for 16 bit grayscale in little/big endian 2009-05-26 15:26:30 +02:00
Sebastian Dröge
77bc4ff763 ffmpegcolorspace: video/x-raw-gray is the same as the YUV Y800 format 2009-03-28 09:43:23 +01:00
Stefan Kost
60847e48d7 ffmpegcolorspace: remove unused code/variables 2009-02-26 18:01:04 +02:00
Sebastian Dröge
77a56d5975 ffmpegcolorspace: Add conversion from/to YVYU colorspace
Fixes bug #572872.
2009-02-24 14:06:38 +01:00
Jonas Danielsson
0842dd1c6f ffmpegcolorspace: Add direct UYVY->GRAY8 conversion
The conversion from UYVY to RGB24 and then to GRAY8
is quite slow. Fixes bug #569655.
2009-02-24 13:42:01 +01:00
Sebastian Dröge
c080bfae6d ffmpegcolorspace/videotestsrc: Use v308 instead of V308 2009-02-13 10:10:25 +01:00