Haihao Xiang
90f8cca04e
video: add VUYA pixel format
...
AYUV in gstreamer was defined in A-Y-U-V order in memory[1], however
Microsoft defined another AYUV format in V-U-Y-A order in memory[2]. Add
VUYA format for the latter in order to distinguish the two formats
[1] https://gstreamer.freedesktop.org/documentation/design/mediatype-video-raw.html#formats
[2] https://docs.microsoft.com/en-us/windows/desktop/medfound/recommended-8-bit-yuv-formats-for-video-rendering#ayuv )
2019-03-21 23:05:09 +00:00
Wim Taymans
103d265cf0
Fix RGBA and ABGR pack/unpack on big endian cpu
...
The pack and unpack functions for RGBA and ABGR only work for little
endian cpus. Add variants for big endian as well.
2017-06-01 17:47:22 +02:00
Nicolas Dufresne
7a40442ad5
video: Add VYUY pixel format
...
This format is sometimes the output of JPEG decoders. It is the same as
YUY2 and UYVY but with a different component order.
https://bugzilla.gnome.org/show_bug.cgi?id=767450
2016-11-01 19:55:20 +02:00
Wim Taymans
a12f51c3de
video-converter: add more fastpaths for I420 -> RGB
...
Use the I420->BGRA and a new I420->ARGB to speed up any I420 to RGB
operation.
2016-04-22 15:30:19 +02:00
Göran Jönsson
babcf4d30c
video-converter: add direct UYVY to GRAY8 conversion function
...
https://bugzilla.gnome.org/show_bug.cgi?id=761851
2016-02-26 23:56:51 +00:00
Sebastian Dröge
8239da2311
video-dither: Use saturated add when adding ordered dither for > 8 bit targets
...
Otherwise our 16 bit integers are going to overflow in intermediate
calculations, causing video to become mostly black.
https://bugzilla.gnome.org/show_bug.cgi?id=755392
2015-09-24 23:01:58 +02:00
Wim Taymans
6602861d00
video-scaler: add horizontal 2tap u16 orc function
...
Add slightly faster u16 horizontal resampler orc function.
2015-03-04 16:45:35 +01:00
Wim Taymans
0062dadc35
video-orc: fix unpack functions for RGB/RGB15 on BE
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337
2015-03-02 15:07:34 +01:00
Wim Taymans
d1a9eacb75
video-format: more fixes for big endian
2015-03-02 13:27:23 +01:00
Wim Taymans
569ca5770c
video-format: add big-endian versions of RGB/BGR 15/16 pack/unpack
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337
2015-03-02 12:27:24 +01:00
Wim Taymans
5077a5e3af
video-converter: add alpha handling
...
Add support for alpha. Make it possible to copy, set and multiply the
alpha value of a frame during conversion.
Set the border alpha to 0xff by default.
Go over some of the fastpaths and add alpha handling.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745006
2015-02-24 17:29:18 +01:00
Wim Taymans
45e408735c
video-format: add orc function for RGB15/16 unpack
2015-02-12 11:39:33 +01:00
Wim Taymans
72bb2d8637
video-converter: Add more fastpaths
...
Add fastpaths for all planar conversion and scaling.
Improve gray and alpha handling.
Add option to specify the chroma resampler method and set to linear as
default.
2015-02-09 17:56:37 +01:00
Wim Taymans
72076e9521
video-orc: fix loading of param
...
param loading ignores the x4, loading only part of the param.
2015-02-06 13:25:51 +01:00
Wim Taymans
6985511fc9
video-converter: add support for borders in scale fastpath
...
Add support for borders and cropping in the scaler fastpaths.
2015-02-05 17:18:20 +01:00
Wim Taymans
f29b966c79
video-converter: add fast-path scaler for some packed YUV formats
...
Add fast path scaling for YUY2 and other packed YUV formats. Add a new
method to merge the scalers of the Y and UV components into one scaler.
Add faster horizontal 2tap scaler.
See https://bugzilla.gnome.org/show_bug.cgi?id=741987
2015-01-28 17:32:12 +01:00
Wim Taymans
ba98d06767
video-scaler: add support for monochroma formats
...
Add support for scaling of images with pstride == 1. This can be used
to scale individual planes later.
Rework some of the scaling code to take the pstride as a parameter.
2015-01-27 10:52:29 +01:00
Wim Taymans
903ba19593
video-orc: make RGB pack/unpack faster
...
Avoid all the merging and splitting and use a pair of shifts and or
2014-12-10 16:43:34 +01:00
Wim Taymans
4ffd723c95
video-converter: use custom backup function
...
Use the new orc feature to set a custom backup function.
2014-12-05 14:51:28 +01:00
Wim Taymans
04e9a8dcc5
video-converter: improve matrix8 function
...
Avoid using a constant.
Avoid doing saturated adds, results are not supposed to overflow here.
Rework the C backup function a little in preparation for custom backup
functions in ORC.
See https://bugzilla.gnome.org/show_bug.cgi?id=741015
2014-12-05 12:20:26 +01:00
Wim Taymans
0f2be22e76
video-dither: add video dither helper object
...
Add a new object that implements various dithering methods.
2014-12-02 15:10:43 +01:00
Wim Taymans
74e63fa660
video-scaler: combine scaling operations
...
Combine add and scale of multiple lines/pixels to reduce the amount of
read and writes to temporary memory.
2014-11-25 17:27:07 +01:00
Wim Taymans
fc5dd035fa
video-converter: add orc splat functions to draw border
2014-11-19 12:55:02 +01:00
Wim Taymans
c5271a2eae
video-orc: update disted file
...
and disable one failing function
2014-11-10 12:01:48 +01:00
Wim Taymans
70cdd9195f
video-orc: use faster saturating conversions
...
saturating conversions are generally faster.
2014-11-10 11:45:52 +01:00
Wim Taymans
dcd02cd323
video-chroma: add ORC version of UP_H2_CS
...
It is however slower than the C version and thus disabled.
2014-11-10 11:45:52 +01:00
Wim Taymans
39662d0393
video-chroma: ORCify 2x vertical upsampling
...
Make an ORC version of the 2x vertical upsampling code.
Improve unit tests, test chroma up and down sampling.
memset buffer in conversion to make valgrind happy.
2014-11-07 12:13:28 +01:00
Wim Taymans
d35c5fd75c
video-converter: ORCify 8<->16 conversion
2014-11-06 16:26:24 +01:00
Wim Taymans
21f57317bb
video-chroma: optimize chroma subsampling a little
...
Combine multiplies in 4x filters.
Rename conversion functions to make them nicer in orc.
Add ORC versions for various downsampling algorithms
Add unit test chroma resampler
2014-11-06 13:08:42 +01:00
Wim Taymans
cecb900704
video-format: fix pack of 4:2:0 formats
...
When packing 4:2:0 formats, we need to take the chroma from the even
lines, for the odd lines we only take luminance.
2014-11-06 10:45:13 +01:00
Wim Taymans
9cc353ce7c
video-orc: fix v_2tap_u16
2014-11-04 17:36:49 +01:00
Wim Taymans
bd6d2b40d1
video-scaler: add support for 16bits formats
...
Add scaler functions for 16 bits formats.
Rename the scaler functions so that 16bits versions don't look too
weird.
Remove old unused h_2tap functions
Fix v_ntap functions, it was using 1 tap too little.
2014-11-03 15:41:02 +01:00
Wim Taymans
2f38f83c08
video-orc: comment out unused function
...
A faster version of 4tap horizontal scaling causes segfaults in ORC
presumably because it uses too many registers so disable it to avoid
crashing in the ORC tests.
2014-11-03 10:07:56 +01:00
Wim Taymans
ceee8d5d40
video-scaler: ORCify vertical ntap function
2014-11-01 13:15:29 +01:00
Wim Taymans
524d30a168
video-scaler: add ORC optimized ntap horizontal scalers
2014-10-31 16:50:49 +01:00
Wim Taymans
49d909dabf
video-scaler: add more ORC functions
...
Add the old ORC functions for nearest and linear. Label them as Low
quality because they are not as accurate but ORC lacks opcodes to
express this for now.
2014-10-30 11:48:00 +01:00
Wim Taymans
21ba193dd6
video-scaler: add ORC optimized versions
...
Add ORC optimized versions of 2 and 4tap vertical scaling. Provide
a high quality 12 bits and a low quality 6 bits version.
2014-10-29 16:26:19 +01:00
Wim Taymans
b5f3e5261a
video-converter: add orc optimized matrix8 function
...
Add an ORC implementation of the matrix8 function.
Regenerate video-orc-dist.[ch]
2014-09-29 17:28:06 +02:00
Wim Taymans
07d1d7ba38
video: improve YUV -> RGB conversion
...
Reorganize orc instructions to free up some registers.
We can reuse the ORC code to implement the generic AYUV->ARGB matrix.
2014-09-26 18:14:11 +02:00
Wim Taymans
b2fd20c416
video: move videoconvert code to video library
...
Move the conversion code used in videoconvert to the video library
and expose a simple but generic API to do arbitrary conversion. It can
currently do colorspace conversion but the plan is to add videoscale to
it as well.
See https://bugzilla.gnome.org/show_bug.cgi?id=732415
2014-09-24 15:59:39 +02:00
Wim Taymans
fae9d82515
video-format: fix NV24 pack/unpack function
...
We can't reuse the NV12 functions, we need to make new ones.
2013-09-06 12:45:36 +02:00
Wim Taymans
97784b1563
video-format: fix NV16 unpack
...
We can just use the NV12 functions, the only difference is the
vertical subsampling.
2013-05-27 11:53:27 +02:00
Wim Taymans
2924365020
video: don't perform subsampling while packing
...
Don't perform subsampling when packing but let this be done by a
separate subsampling step.
2013-05-27 11:05:06 +02:00
Arnaud Vrac
af24e23880
video: add NV16 format
...
This format is usually used by hardware video decoders for 4:2:2 sampling
https://bugzilla.gnome.org/show_bug.cgi?id=700377
2013-05-15 13:46:46 +02:00
Wim Taymans
38552a2a8a
video: rename gst_video_orc_* to video_orc_*
...
Because then the functions would not be exported
2012-07-23 17:10:08 +02:00
Wim Taymans
e98c8538c5
orc: prefix orc functions with gst_video_orc_
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 16:56:55 +02:00
Wim Taymans
b392b28179
orc: rename to video-orc*
2012-07-23 16:52:33 +02:00