Wim Taymans
0d333d8d44
video-converter: add table based matrix8 implementation
...
Based on patch from Mozzhuhin Andrey <nopscmn at gmail.com>
Add a table based matrix8 multiplication implementation. The algorithm
does not do any clipping so we need to make sure we never call this on
input that might need to be clipped. In general, this algorithm is
2 times faster than the orc optimized one and would be chosen for all
RGB -> YUV conversions and some YUV->YUV and RGB->RGB conversions.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732186
2015-03-10 15:22:17 +01:00
Wim Taymans
9bbfc3c848
videotestsrc: add all colors mode
2015-03-10 12:27:03 +01:00
Sebastian Dröge
06fd6f2f63
video: Add support for 10 bit planar AYUV formats
2015-03-10 10:31:28 +01:00
Tim-Philipp Müller
c53ba4beeb
Fix double semicolons
2015-03-10 09:27:08 +00:00
Olivier Crete
124b6ee03c
videorate: Accept any capsfeatures
2015-03-09 21:39:02 -04:00
Wim Taymans
62ff9b8bca
video-info: validate parsed colorimetry
...
Validate the parsed colorimetry and reset to defaults when we get RGB
with a matrix or YUV without a matrix.
2015-03-09 16:28:02 +01:00
Wim Taymans
6ee67a8aa1
video-converter: detect identity matrix
...
Do nothing if we have an identity matrix conversion.
2015-03-09 16:02:17 +01:00
Wim Taymans
cf572ae2cb
video-info: use default colorimetry on error
...
When we fail to parse the colorimetry property, fall back to the default
colorimetry for the format and dimension instead of leaving things
undefined.
2015-03-09 16:02:17 +01:00
Luis de Bethencourt
fedc1dba1a
videoencoder: unused value
...
Value set in ret is immediately overwritten in the next line outside of the if
block. Run reset but don't store return.
CID #1226470
2015-03-09 11:25:47 +00:00
Wim Taymans
8296cdbfd5
video-converter: only convert to/from rgb when needed
...
Only use the YUV->RGB matrix when we have YUV as input and only use the
matrix when we need to make YUV output.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745780
2015-03-09 12:16:56 +01:00
Sebastian Dröge
8f13a31bae
rtpbuffer: Link to an explanation why the seqnum comparison function does the right thing even for wraparounds
2015-03-09 11:12:46 +01:00
Mark Nauwelaerts
f134072c66
videodecoder: only return EOS upon clipping if applicable
...
See also https://bugzilla.gnome.org/show_bug.cgi?id=709224
2015-03-07 20:12:23 +01:00
Mark Nauwelaerts
eeeb2eab82
audiodecoder: only return EOS upon clipping if applicable
...
See also https://bugzilla.gnome.org/show_bug.cgi?id=709224
2015-03-07 20:10:31 +01:00
Sebastian Dröge
13a93575e1
video: Update orc generated C files
2015-03-07 16:49:07 +01:00
Wim Taymans
7b6278b7e4
video-converter: add transfer full annotation for config
2015-03-06 12:54:56 +01:00
Ravi Kiran K N
6bd458abc1
video-converter: correct right-border location for YUY2, YVYU, UYVY
...
Remove 'r_border /= 2' in convert_fill_border(). It doesn't
take the right border to correct location.
https://bugzilla.gnome.org/show_bug.cgi?id=745719
2015-03-06 12:27:18 +01:00
Sebastian Dröge
40f4daffd1
volume: Explicitly cast integers to doubles and then back to integers after multiplication
...
gcc 4.9.1 on ARM seems to have a bug that causes it to cast the float to an
integer first, resulting in a 0 scale factor for volume < 1.0.
As a side effect this change here will also improve accuracy of the result a
bit because we go via doubles instead of floats.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65325
https://bugzilla.gnome.org/show_bug.cgi?id=745667
2015-03-05 14:22:12 +01:00
Wim Taymans
31a3e6c9f1
video-converter: avoid scaler when size is unchanged
2015-03-05 09:52:18 +01: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
72fd1345ad
check: add another generic converter test
...
Run conversion and scaling with borders.
2015-03-04 12:29:45 +01:00
Wim Taymans
e0a192d3dd
video-converter: don't reuse the input line when adding borders
...
When we need to add borders, we need a writable input line, so
don't reuse the source memory directly.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745207
2015-03-04 12:29:45 +01:00
Nicolas Dufresne
ace35b78ee
textoverlay: Re-render if video size changed
...
https://bugzilla.gnome.org/show_bug.cgi?id=745554
2015-03-03 16:38:33 -05:00
Arun Raghavan
557c2c9be1
audiobasesink: Reset audio clock if necessary
...
When the ringbuffer is deactivated and then acquired, if the audio clock
provided by the sink gets reset to zero, we need to add an offset to the
clock to make sure that subsequent samples are written out at the right
times. While we need to leave this to derived classes to take care of
when they provide their own clock (since that clock may or may not be
reset to zero), we can do this ourselves if we know the provided clock
is our own (which does reset to zero on a re-acquire).
2015-03-03 23:26:54 +05:30
Wim Taymans
4643d34a7a
video-converter: avoid making scalers for outsize == 0
2015-03-02 16:42:23 +01:00
Wim Taymans
b2a7ac2766
video-converter: v-resample enough pixels
...
When we are using the fast linear resampler, use the ->inc to calculate
the first and last pixel we need so that we can do vertical resampling
on the right amount of pixels.
2015-03-02 16:33:09 +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
Tim-Philipp Müller
12ed0428a9
gst-play: fix compiler warning
...
‘return’ with no value, in function returning non-void
2015-02-28 13:31:41 +00:00
Tim-Philipp Müller
0e9dac0cc7
gst-play: add keyboard shortcut to cycle through trick modes
...
Make "t" activate trick modes and cycle through the various
modes.
2015-02-28 13:11:45 +00:00
Tim-Philipp Müller
a257fcf366
gst-play: fix indentation
...
Prevent gst-indent from messing up indentation, it
really doesn't like the G_GNUC_PRINTF thing here.
2015-02-28 11:37:27 +00:00
Tim-Philipp Müller
35bd289be3
tests: fix crashes in {audio,video}{decoder,encoder} tests on 32-bit
...
Don't feed 64-bit integer variable into vararg function that expects
an unsigned integer to go with GST_TAG_TRACK_NUMBER. This would
cause crashes on 32-bit platforms, and if not that then test
failures if the comparisons fail later (at least on big endian
platforms).
2015-02-27 20:26:43 +00:00
Olivier Crête
6046421ecc
pbutils: description: Make static strings static
...
Otherwise, they're not guaranteed to still be valid when leaving the scope.
https://bugzilla.gnome.org/show_bug.cgi?id=673976
2015-02-27 15:08:50 -05:00
Tim-Philipp Müller
980f5e17e9
tests: pbutils: more checking of returned description strings
...
https://bugzilla.gnome.org/show_bug.cgi?id=673976
2015-02-27 14:30:01 +00:00
Arun Raghavan
dfdbc1c379
adder: Drop custom latency querying logic
...
The default latency query handler now implements the same logic already.
2015-02-27 00:52:05 +05:30
Luis de Bethencourt
7175417f7e
video-converter: remove check for below zero for unsigned int
...
CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it in an unsigned integer. Removing that check and only checking
if it is bigger than max and setting it appropriately.
CID #1271606
2015-02-26 14:48:51 +00:00
Edward Hervey
7813315a4c
playback: Fix broken GList modification
...
When we modify a GList (via g_list_delete_link), always reassign the
new head to the original GList. Otherwise we end up with
filtered_errors being corrupt (the head might have been the element
removed)
2015-02-26 12:08:49 +01:00
Tim-Philipp Müller
a2d29c2f8a
gst-play: add new keyboard shortcuts to man page
2015-02-26 11:06:35 +00:00
Tim-Philipp Müller
b4c45935b7
gst-play: more fine-grained playback rate control
...
Use smaller steps for lower rates to allow more
fine-grained control. Handle jump across 0 properly
from both sides (just flip direction where we would
have gone down to 0 instead). Don't artificially
limit rates to +/- 10x. Print new rate.
https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 11:00:29 +00:00
Tim-Philipp Müller
0c8967348f
gst-play: stash current playback rate in app structure
...
https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 11:00:26 +00:00
Víctor Manuel Jáquez Leal
c243f386c9
gst-play: support changing the playback rate in interactive mode
...
It is fun to have this feature, also it is useful for testing decoders.
https://bugzilla.gnome.org/show_bug.cgi?id=745174
2015-02-26 10:10:58 +00:00
Wim Taymans
621292e754
video-converter: we can use the scaler without scalers to copy
2015-02-25 17:00:34 +01:00
Wim Taymans
e1715f7728
video-converter: only make a scaler when we are scaling
...
Only make a scaler when we are actually doing any scaling. Without
scalers, the scale function will simply do a copy.
2015-02-25 16:50:02 +01:00
Wim Taymans
330fb44a6f
video-scaler: add support for copy
...
When no scalers are given, simply do a copy of the requested area.
2015-02-25 16:49:20 +01:00
Wim Taymans
3046935e03
video-converter: activate scaler fastpath depending on method
...
Only activate the scaler fastpath for x2 up and downscale when the
scaler method is respectively nearest and linear because that is what
those fastpaths really implement.
2015-02-25 16:15:52 +01:00
Wim Taymans
9e8799924b
video-scaler: add scaler optimization
...
If we are vertically downscaling, it is better to first downscale and
then do the horizontal scaling in most cases.
2015-02-25 15:33:26 +01:00
Wim Taymans
4d8c277656
video-scaler: remove unused case
2015-02-25 15:32:57 +01:00
Wim Taymans
495873298c
video-converter: don't overwrite border alpha
...
Let border alpha and image alpha be independent.
2015-02-25 11:39:20 +01:00
Wim Taymans
c4f071546d
video-converter: use 1.0 as default alpha
2015-02-24 17:33:57 +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