Sebastian Dröge
b21a67f99e
videoconvert: Update disted orc files once again
2014-01-10 15:06:23 +01:00
Sebastian Dröge
4ff4c1c10a
videoconvert: Update disted orc files
2014-01-10 09:21:30 +01:00
Wim Taymans
14b5999bca
videoconvert: rework YUV->RGB fastpaths
...
Rework the orc code to be around 10% faster and support arbitrary matrices.
Pass the matrix parameters to the YUV->RGB functions to make them work
for all matrices. This enables more and faster fastpath conversions.
See https://bugzilla.gnome.org/show_bug.cgi?id=721701
2014-01-09 18:19:59 +01:00
Wim Taymans
5ca04cb798
videoconvert: fix I420 to BGRA fast-path some more
...
Calculate alpha value differently so that we can avoid running out
of registers.
2014-01-09 18:08:41 +01:00
Wim Taymans
38e1541466
videoconvert: remove unused code
2014-01-08 16:20:12 +01:00
Sebastian Dröge
cd4602ecfa
videoconvert: Fix I420 to BGRA fast-path alpha setting
...
This fast-path was adding 128 to every component including
alpha while it should only be done for all components except
alpha. This caused wrong alpha values to be generated.
Also remove the high-quality I420 to BGRA fast-path as it needs
the same fix, which causes an additional instruction, which causes
orc to emit more than 96 variables, which then just crashes.
This can only be fixed in orc by breaking ABI and allowing more
variables.
2013-12-23 14:56:15 +01:00
Matthieu Bouron
22f411378e
videoconvert: remove unneeded guint comparaison
...
https://bugzilla.gnome.org/show_bug.cgi?id=710760
2013-10-25 12:42:19 +01:00
Wim Taymans
9b4e2b4b36
videoconvert: disable fastpath for odd width on some formats
2013-09-06 12:45:36 +02:00
Wim Taymans
e97f6401de
videoconvert: add additional width/height constraints
...
Some of the fastpath function can only work with aligned widht/height
so make sure we check this as well when choosing a fastpath.
Add fastpath for I420/YV12 -> BGRx
2013-09-05 17:22:50 +02:00
Wim Taymans
ce2b40670a
videoconvert: don't convert too much with odd width
2013-09-05 16:26:33 +02:00
Wim Taymans
700afbf6fd
videoconvert: handle lines in one go
...
Handle odd heights in 1 go when no vertical subsampling is used.
2013-09-05 11:05:36 +02:00
Wim Taymans
ce2ad4ae4a
videoconvert: fix height round down
2013-09-05 11:04:03 +02:00
Wim Taymans
22da49a55c
videoconvert: also allocate temp lines in fastpath
...
Some of the fastpath functions need tmplines, so make sure we allocate some in
the fastpath too.
This avoids SEGFAULTs with odd heights.
See https://bugzilla.gnome.org/show_bug.cgi?id=663248
2013-09-04 17:36:29 +02:00
Wim Taymans
579be969e5
videoconvert: add more fastpaths
...
Also reuse the I420 code for YV12 because it can handle the swapped UV fields
just fine.
2013-09-04 15:10:50 +02:00
Wim Taymans
c731f1cba0
videoconvert: only chroma subsample when needed
2013-09-03 17:37:14 +02:00
Wim Taymans
10b3b88e9c
videoconvert: fix handling of chroma resample
...
Increase the number of temporary lines that we need, it is possible that the
up and downsampling offsets are out of phase and that we need to keep some
extra lines around. Also copy the unhandled output lines for the next round
instead of overwriting them.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706823
2013-09-03 15:42:44 +02:00
Wim Taymans
cfb7b51c08
videoconvert: improve debug
2013-09-03 15:41:56 +02:00
Sebastian Dröge
eb09e561c4
videoconvert: Fix leaking of the chroma resample helper objects
2013-06-11 15:24:05 +02:00
Sebastian Dröge
ff5d3313d4
Release 1.1.1
2013-06-05 18:31:27 +02:00
Wim Taymans
00bbca2f9f
videoconvert: free tmplines correctly
...
Keep track of how many tmplines we allocated and use that to free the
correct amount of lines.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701234
2013-05-30 05:27:31 +02:00
Wim Taymans
7b8ff707b6
videoconvert: run chroma resamplers
...
Run the chroma upsampler after unpack and the chroma subsampler
before pack for higher quality conversions and correct chroma siting.
2013-05-27 11:05:08 +02:00
Wim Taymans
4f2e1b46a7
videoconvert: reformat
2013-05-27 11:05:06 +02:00
Wim Taymans
620e3aad07
videoconvert: actually use the input pixels
...
Operate on the provided pixels array instead of the temp array.
2013-05-27 11:05:06 +02:00
Tim-Philipp Müller
f5c0d61be7
Update disted orc backup files
...
Generated with 0.4.17 now.
2013-04-22 13:58:33 +01:00
Sebastian Dröge
948a4a3632
gst: Add better support for static plugins
2013-04-15 15:52:58 +02:00
Sebastian Dröge
d0133a2d11
videoconvert: Allow passthrough for ANY caps features
2013-04-08 08:30:38 +02:00
Wim Taymans
bc4238f959
videoconvert: use one matrix function
...
Use only one matrix function pointer, let the implementation cast the pixels to
the right size.
2013-03-30 19:14:40 +01:00
Wim Taymans
43a9bfae78
videoconvert: use one temp array for lines
...
Use only one temporary array for pixels.
2013-03-30 19:14:40 +01:00
Wim Taymans
701ae2f144
videoconvert: respect the pack_lines when packing
...
Packing is supposed to happen on the amount of lines specified in the format
info. It's currently all set to 1 but that will change.
2013-03-28 18:16:09 +01:00
Wim Taymans
33a54ba4f3
videoconvert: be smarter when selecting a conversion
...
Try to select the conversion that would result in the minimal amount of quality
loss. Quality loss is calculated rather arbitrarily but it avoids doing
something really stupid in most cases.
2013-03-28 18:15:24 +01:00
Wim Taymans
3532323817
videoconvert: small cleanup
2013-03-28 18:15:24 +01:00
Wim Taymans
a092cbee5e
videoconvert: avoid double free
...
Set variable to NULL after free so that we don't free twice.
2013-03-24 00:38:22 +01:00
Wim Taymans
b1950b6409
Revert "videoconvert: prevent bad interlaced conversions"
...
This reverts commit adc9694ed7
.
No need to restrict the conversion, we can handle interlace correctly. We
basically unpack each field, then convert each field to the target colorspace
and pack and interleave each field to the target format. We also disable any
fast path that can't deal with interlaced formats.
2013-03-24 00:21:36 +01:00
David Schleef
adc9694ed7
videoconvert: prevent bad interlaced conversions
...
Don't allow conversion that changes vertical subsampling if video
is interlaced.
2013-03-22 17:24:43 -07:00
Tim-Philipp Müller
dce49a1a7e
video: fix return type of _get_palette() and add since markers to docs
...
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928 .
2013-02-06 12:43:51 +00:00
Wim Taymans
be866d4b78
videoconvert: interlace support to some fastpath functions
...
Add interlace support for some fastpath functions.
2013-02-04 16:21:20 +01:00
Wim Taymans
599880ff8d
videoconvert: make fast path interlaced aware
...
Make sure that we also handle interlacing when choosing the fast path.
See https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-04 15:40:02 +01:00
Wim Taymans
e3a9a7cf07
videoconvert: pass frame interlaced flag to pack/unpack
...
If the frame is interlaced, pass the interlaced flag to the pack/unpack
functions to make it unpack correctly.
2013-02-04 15:19:35 +01:00
Wim Taymans
ed2ce49499
videoconvert: use the palette helper functions
...
Get the palette from the video library instead of making our own.
2013-02-04 15:06:10 +01:00
Wim Taymans
9b95f9de95
videoconvert: make a constant of scale factor
2013-02-04 15:06:06 +01:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
3c1041d5eb
Revert "gst: Add better support for static plugins"
...
This reverts commit d2d79e3bc2
,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2
gst: Add better support for static plugins
2012-10-24 12:10:44 +02:00
Wim Taymans
a5ef81e05e
videoconvert: add more debug
2012-10-22 09:51:34 +02:00
Wim Taymans
f3f08e829d
videoconvert: actually copy the palette
...
Copy the default palette in the destination buffer too.
2012-10-15 16:32:25 +02:00
Sebastian Dröge
a3878f8bb8
videoconvert: Set correct plugin metadata
2012-09-25 13:16:45 +02:00
Tim-Philipp Müller
f7c6aa5abd
Release 0.11.94
2012-09-14 02:47:54 +01:00
Tim-Philipp Müller
9f1856a7a5
videoconvert: fix up dither method enum GType name for consistency
2012-09-09 15:12:14 +01:00
Sreerenj Balachandran
fe08923628
videoconvert: fix example pipeline in docs
...
There is no more 'fourcc' typecast for format.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 11:21:51 +01:00
Wim Taymans
7f23e75f3c
videoconvert: small cleanups
...
Make function pointers NULL when nothing needs to be done.
Pass target pixels to dither and matrix functions so that we can later make
them operate on the target buffer memory directly.
2012-07-27 12:19:04 +02:00