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
Sebastian Dröge
ce9bac465a
video-format: Shift correctly when packing I420_12BE
2017-03-17 13:43:04 +02:00
Sebastian Dröge
77f802f8e6
video: Add I420/I422/Y444_12LE/BE and GBRA video formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=780100
2017-03-16 17:32:27 +02:00
Emeric Grange
2fcab9e7ef
video: Add GBRA_10LE/BE, GBR_12LE/BE, GBRA_12LE/BE pixel formats
...
With additional bugfixes from Sebastian Dröge <sebastian@centricular.com>
https://bugzilla.gnome.org/show_bug.cgi?id=780100
2017-03-16 16:44:12 +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
Sebastian Dröge
02a88077fc
video: Fix some compiler warnings for out-of-range enum values
...
https://bugzilla.gnome.org/show_bug.cgi?id=767816
2016-07-12 00:14:13 +03:00
Joan Pau Beltran
abb88801e7
video: add IYU2 format
...
This existed in 0.10 and is needed by dc1394src.
IYU2 format is a YUV fully-sampled packed format similar to v308
but with different component order (U-Y-V instead of Y-U-V).
http://www.fourcc.org/yuv.php#IYU2
https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5
2016-06-01 12:07:05 +01:00
Scott D Phillips
079ceb894c
video: add P010 format support
...
P010 is a YUV420 format with an interleaved U-V plane and 2-bytes per
component with the the color value stored in the 10 most significant
bits.
https://bugzilla.gnome.org/show_bug.cgi?id=761607
---
Changes since v2:
- Set bits=16 in DPTH10_10_10_HI
Changes since v1:
- Fixed x-offset calculation in uv.
- Added 6-bit shifts to FormatInfo.
2016-03-29 11:16:42 +03:00
Thiago Santos
df931fb0b8
video-format: add missing alpha flag for some formats
...
Some formats didn't have the alpha flag marked, use the correct
macro so they get it right.
https://bugzilla.gnome.org/show_bug.cgi?id=754808
2015-09-10 07:28:21 -03:00
Aurélien Zanelli
c52adc8fcc
video: add NV61 format support
...
https://bugzilla.gnome.org/show_bug.cgi?id=746466
2015-05-04 20:37:59 +01:00
Wim Taymans
dd5fa311a1
video-format: fix A422 subsampling description
2015-03-10 17:29:51 +01:00
Sebastian Dröge
06fd6f2f63
video: Add support for 10 bit planar AYUV formats
2015-03-10 10:31:28 +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
45e408735c
video-format: add orc function for RGB15/16 unpack
2015-02-12 11:39:33 +01:00
Wim Taymans
c6fcb5575a
video-format: fix pstride of NV16 and NV24 formats
2015-02-10 09:22:50 +01:00
Wim Taymans
7b3bff644c
video-format: add unaligned fallbacks
...
Add fallback C implementations for when we can't call the ORC function
because of bad alignment.
2015-02-06 11:43:49 +01:00
Wim Taymans
4ab23677a9
video-format: fix GBR unpack
2015-01-27 10:52:29 +01:00
Sebastian Dröge
2bd4ea6e8e
Constify some static arrays everywhere
2015-01-21 09:49:47 +01:00
Tim-Philipp Müller
60d18149e5
video-format: sprinkle some 'restrict' keywords in pack/unpack functions
...
In cases where we just call orc directly this is somewhat
superfluous, but let's do it anyway for consistency. In
other cases the compiler can hopefully use this to optimise
memory access a little.
2014-11-27 15:04:12 +00:00
Wim Taymans
52d4dd1cb0
video-format: handle x offset in unpack
...
Add support for x offset in almost all unpack methods.
Fix naming of source and dest pixels.
Add const to source pixels.
2014-11-27 13:01:03 +01:00
Wim Taymans
a3da634db6
video-format: improve unpack i420
...
unpack_i420 does not need extra code to handle odd widths, the orc code
already handles it fine.
2014-11-27 10:51:58 +01:00
Wim Taymans
5c043f3d50
video-format: handle unpack interlaced subsampled formats
...
For interlaced vertically subsampled formats the check for even lines
needs to take into account the two fields.
2014-11-19 12:55:02 +01:00
Wim Taymans
0f64126919
video-format: add range extension to BGR_10XE format
2014-11-06 10:45:13 +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
1f14077b41
video-format: fix range extension of UYVP
...
We need to shift the top 6 bits to the lower 6 bits
2014-11-06 10:45:13 +01:00
Wim Taymans
b2eb5f02fc
video-format: add alignment checks
...
Some of the ORC functions need specific alignment
2014-10-31 11:23:21 +01:00
Jan Schmidt
2a37534129
video: Various simple docs fixes
2014-08-15 01:08:12 +10:00
Sebastian Rasmussen
900c204eb9
videoformat: Remove duplicate/incorrect section
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:41:51 +00:00
Sebastian Rasmussen
35bb1b3328
docs: Add annotations for return values
...
Rephrase and clarify some return value descriptions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:41:18 +00:00
Nicolas Dufresne
f52fd7a68b
video: Don't use extra plane and componenent for tile format
...
Instead of using extra plane, we encode the number of tiles in x and y in the stride of
each planes (i.e. y_tiles << 16 | x_tiles) and introduce tile_mode, tile_width and
tile_height into GstVideoFormatInfo structure.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:47:03 -05:00
Wim Taymans
d899e6df5a
video: rename NV12T -> NV12_64Z32
...
Is a bit more descriptive and allows us to add more tiled types
later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:52 -05:00
Wim Taymans
f3e989179b
video-format: fix off-by-one for tiled coordinates
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:17 -05:00
Wim Taymans
33c486e5c1
video-format: use shifts when possible
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:01 -05:00
Wim Taymans
3ceb7dfe22
video-tile: add tile mode and helper functions
...
Move the tile helper functions to their own file. Make it possible to
make other tiling modes later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:37 -05:00
Wim Taymans
f8d3b9b4fc
video: add NV12T support
...
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:45:26 -05: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
26d04c7582
video-format: handle odd width in more pack/unpack functions
2013-09-06 12:45:36 +02:00
Tim-Philipp Müller
2f6f0ee214
video-format: minor pack_YVYU optimisation
...
Re-use already calculated line offset.
2013-09-05 18:34:21 +01:00
Wim Taymans
e55ff1e374
video-format: fix chroma offsets
2013-09-05 17:06:36 +02:00
Wim Taymans
bbeac11e74
video-format: fix unpack functions for odd formats
2013-09-05 16:16:12 +02:00
Wim Taymans
d33e73e00f
video-format: clean up pack/unpack functions
2013-09-05 15:02:17 +02:00
Wim Taymans
6508c738ff
video-format: handle odd width in various pack functions
2013-09-05 14:13:24 +02:00
Wim Taymans
9b01d9a1d9
video-format: don't overrun the arrays on UYVP
2013-09-05 12:44:32 +02:00
Sebastian Dröge
92b685eb74
video: Add support for NV24 color format
...
This is semi-planar 4:4:4 YUV.
https://bugzilla.gnome.org/show_bug.cgi?id=703259
2013-07-16 11:47:59 +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
Wim Taymans
b5de0552a5
video: move chroma functions to separate file
2013-05-27 11:05:06 +02:00
Tim-Philipp Müller
612e20d4f6
video: make mask arguments to gst_video_format_from_masks() unsigned
...
These should really be unsigned.
2013-05-16 11:35:58 +01:00
Benjamin Gaignard
5da2bd3216
video: fix gst_video_format_from_masks() for little endian masks with alpha
...
Need to byte-order swap the alpha mask as well in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=700413
2013-05-16 10:36:20 +01:00