Wim Taymans [Thu, 18 Feb 2016 17:38:49 +0000 (12:38 -0500)]
audio-resampler: add more neon optimizations
Wim Taymans [Thu, 18 Feb 2016 16:05:18 +0000 (11:05 -0500)]
audio-resampler: add more neon optimizations
Wim Taymans [Wed, 17 Feb 2016 16:20:06 +0000 (11:20 -0500)]
audio-resampler: add neon optimizations
Unroll some more loops in the fallback code that seems to work fine
for ARM.
Add some simple ARM optimizations taken from speex.
Wim Taymans [Wed, 17 Feb 2016 12:12:31 +0000 (13:12 +0100)]
audio-resampler: give better hints about the precision
Give better hints to the compiler about the precision we expect from
the multiplications.
Wim Taymans [Wed, 17 Feb 2016 11:05:58 +0000 (12:05 +0100)]
audio-resample: small optimizations
Remove some inline functions that are called in the slow path.
Unroll C fallback functions a little.
Wim Taymans [Tue, 16 Feb 2016 08:18:13 +0000 (09:18 +0100)]
audio-resampler: Use n_phases when calculating taps offset
Tweak linear interpolation oversampling.
Clear filter cache on rate changes when using a full filter.
Wim Taymans [Mon, 15 Feb 2016 17:06:19 +0000 (18:06 +0100)]
audio-resampler: improve filter construction
Remove some unused variables from the inner product functions.
Make filter coefficients by interpolating if required.
Rename some fields.
Try hard to not recalculate filters when just chaging the rate.
Add more proprties to audioresample.
Wim Taymans [Fri, 12 Feb 2016 09:00:22 +0000 (10:00 +0100)]
audio-resampler: avoid overflow in fraction calculation
Wim Taymans [Thu, 11 Feb 2016 18:42:31 +0000 (19:42 +0100)]
audio-resampler: increase precision
Wim Taymans [Thu, 11 Feb 2016 16:40:56 +0000 (17:40 +0100)]
audio-resampler: add more optimizations
Wim Taymans [Thu, 11 Feb 2016 12:23:07 +0000 (13:23 +0100)]
audio-resample: fix taps conversion
We do taps conversion in place so make sure we don't overwrite the
input with temporary data.
Optimize some more gint16 functions.
Wim Taymans [Thu, 11 Feb 2016 10:57:26 +0000 (11:57 +0100)]
audio-resampler: Improve taps memory layout
Rearrange the oversampled taps in memory to make it easier to use
SIMD instructions on them. this simplifies some sse code.
Add some more optimizations
Wim Taymans [Wed, 10 Feb 2016 16:28:24 +0000 (17:28 +0100)]
audio-resampler: add cubic interpolation
Wim Taymans [Wed, 10 Feb 2016 12:31:11 +0000 (13:31 +0100)]
audio-resampler: add more functions
Use some macros to generate more functions
Wim Taymans [Wed, 10 Feb 2016 11:04:12 +0000 (12:04 +0100)]
audio-resampler: add linear interpolation method
Make more functions into macros.
Add linear interpolation of filter coefficients.
Wim Taymans [Thu, 4 Feb 2016 14:22:39 +0000 (15:22 +0100)]
tests: add resample test
Wim Taymans [Thu, 4 Feb 2016 14:21:40 +0000 (15:21 +0100)]
audio-resampler: add max-phase-error config
Wim Taymans [Thu, 4 Feb 2016 14:19:53 +0000 (15:19 +0100)]
audio-resampler: improve tap calculation
Return the taps from make_taps, this makes it possible to not actually
have to cache the taps when we want to.
Fix overflow in phase calculation.
Wim Taymans [Tue, 2 Feb 2016 11:06:44 +0000 (12:06 +0100)]
audio-resampler: fix guint -> gint
Wim Taymans [Tue, 2 Feb 2016 10:48:16 +0000 (11:48 +0100)]
audio-resampler: improve phase error
Accept a phase error of maximum 10%, which turns out to be inaudible.
Wim Taymans [Mon, 1 Feb 2016 16:18:32 +0000 (17:18 +0100)]
audio-resampler: improve phase calculation
Also calculate the GCD with the current phase so that we can accurately
represent the current phase with the new resample rates.
Wim Taymans [Tue, 26 Jan 2016 21:53:33 +0000 (22:53 +0100)]
audio-resampler: fix history after buffer resize
When we resize the temp buffer, move the history in its new place.
Wim Taymans [Tue, 26 Jan 2016 15:42:16 +0000 (16:42 +0100)]
audio-resampler: add reset function
Add a function to reset the audio-resampler.
Use new function in audio-converter
Use the new functions in gstaudioresample and fixup drain functions.
Wim Taymans [Tue, 26 Jan 2016 15:40:57 +0000 (16:40 +0100)]
audio-resampler: Small fixes
Fix the phase.
Reset the new sample buffer with 0.
Move samples around when we change the filter size.
Wim Taymans [Tue, 26 Jan 2016 15:38:50 +0000 (16:38 +0100)]
audio-resampler: Rework make_taps
Make it return a pointer to the generated taps. That way we can later
decide to actually cache it or not.
Wim Taymans [Tue, 26 Jan 2016 08:57:03 +0000 (09:57 +0100)]
audio-resampler: handle filter length changes
Update the buffer with history samples when the filter length changes
because of an update of the parameters or sample rates.
Wim Taymans [Fri, 22 Jan 2016 16:34:39 +0000 (17:34 +0100)]
audio-resampler: fix samples_avail
We only know the taps after we calculate them.
Wim Taymans [Fri, 22 Jan 2016 15:45:28 +0000 (16:45 +0100)]
audio-resampler: work on dynamically changing the samplerate
Calculate the new phase for the new sample rate.
Fix some docs.
Wim Taymans [Fri, 22 Jan 2016 09:28:13 +0000 (10:28 +0100)]
audio-resampler: small cleanups
Wim Taymans [Thu, 21 Jan 2016 09:38:17 +0000 (10:38 +0100)]
audio-resampler: add fallback to mono function
Remove stereo implementations. Implement fall back to mono functions
when the stereo function is missing.
Wim Taymans [Mon, 18 Jan 2016 11:52:41 +0000 (12:52 +0100)]
audio-resampler: add float stereo SSE function
Wim Taymans [Fri, 15 Jan 2016 11:45:47 +0000 (12:45 +0100)]
audio-resampler: Fix compilation of intrinsics
Only compile intrinsics when we are building for the selected
architecture.
Add sse4.1 optimized int32 resampler code.
Wim Taymans [Fri, 15 Jan 2016 10:43:13 +0000 (11:43 +0100)]
audioconvert: only resample on supported formats
Wim Taymans [Fri, 15 Jan 2016 10:20:29 +0000 (11:20 +0100)]
audio-converter: make some optimized functions
Make an optimized function that just calls the resampler when possible.
Optimize the resampler transform_size function a little.
Wim Taymans [Fri, 15 Jan 2016 09:26:02 +0000 (10:26 +0100)]
audio-resampler: remove mirror function
We don't need to mirror the input, just assume 0 samples.
Always move the processed samples to the start of the buffer.
Add some G_LIKELY
Wim Taymans [Wed, 13 Jan 2016 16:50:38 +0000 (17:50 +0100)]
audio-resampler: also enable sse when sse2 is available
Wim Taymans [Wed, 13 Jan 2016 16:44:39 +0000 (17:44 +0100)]
audio-resampler: optimizations
Improve int16 resampling by using pmaddwd
Use intrinsics to scale and pack int16 samples
Align the coefficients so that we can use aligned loads
Add padding to taps and samples so that we don't have to use partial
loads for the remainder of the loops.
Remove copy_n, we can reuse the plain copy function with some new
parameters.
Align and pad the sample array.
Wim Taymans [Tue, 12 Jan 2016 17:55:19 +0000 (18:55 +0100)]
audio-resampler: make pluggable optimized functions
Add support for x86 specialized functions and select them at runtime.
Wim Taymans [Tue, 12 Jan 2016 09:23:53 +0000 (10:23 +0100)]
audio-resampler: combine functions
Wim Taymans [Mon, 11 Jan 2016 15:25:02 +0000 (16:25 +0100)]
defs: update
Wim Taymans [Tue, 5 Jan 2016 15:06:22 +0000 (16:06 +0100)]
audio-converter: simplify API
Remove the consumed/produced output fields from the resampler and
converter. Let the caler specify the right number of input/output
samples so we can be more optimal.
Use just one function to update the converter configuration.
Simplify some things internally.
Make it possible to use writable input as temp space in audioconvert.
Wim Taymans [Mon, 4 Jan 2016 17:28:38 +0000 (18:28 +0100)]
audio-converter: more work on resampling
- Fix the resampler in the audio converter
- fix memory leaks
Wim Taymans [Fri, 13 Nov 2015 14:32:29 +0000 (15:32 +0100)]
audio-converter: add resampler
Add a resampler to the processing chain when needed.
port the audio resampler to the new audioconverter library
Jan Schmidt [Thu, 24 Mar 2016 14:13:54 +0000 (01:13 +1100)]
win32: update win32 exports for new API
Jan Schmidt [Mon, 7 Mar 2016 12:29:43 +0000 (23:29 +1100)]
subparse: WebVTT parsing support
WebVTT is a new subtitle format for HTML5 video. In this first
version of the parser the cue settings are parsed but only stored in
the internal parser state structure. Later on these settings could be
part of the GstBuffer metadata.
https://bugzilla.gnome.org/show_bug.cgi?id=629764
Jan Schmidt [Thu, 25 Feb 2016 15:58:26 +0000 (02:58 +1100)]
typefind: Add a typefinder for WebVTT files
Jan Schmidt [Thu, 25 Feb 2016 15:56:15 +0000 (02:56 +1100)]
typefind: Reduce URI typefinder from MAX to LIKELY
Don't claim maximum likelihood for anything that starts
with text that looks like a uri, it's too broad.
Jan Schmidt [Thu, 24 Mar 2016 03:59:48 +0000 (14:59 +1100)]
decodebin2: Hold new buffering_post lock while posting msgs
There's a small window between decodebin choosing a buffering level
to post and another thread choosing a different buffering level
where things can race. Close that window by holding a new lock
that's only for posting buffering messages - like what was done
in multiqueue.
https://bugzilla.gnome.org/show_bug.cgi?id=764020
Tim-Philipp Müller [Tue, 8 Mar 2016 19:22:18 +0000 (19:22 +0000)]
audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
No need to do this for each input buffer, we have the input caps
stored somewhere already.
https://bugzilla.gnome.org/show_bug.cgi?id=763337
Jimmy Ohn [Tue, 22 Mar 2016 02:25:49 +0000 (11:25 +0900)]
codec-utils: Add utilities for AAC and the AACHead header
Add utilities about the channels and sample rate for AAC.
https://bugzilla.gnome.org/show_bug.cgi?id=749110
Jimmy Ohn [Mon, 21 Mar 2016 07:06:20 +0000 (16:06 +0900)]
decodebin: Modify result of seekable in check_upstream_seekable function
In check_upstream_seekable function, it returns FALSE value even though
we already declare about the seekable variable. So, This patch return
result of seekable in check_upstream_seekable function.
https://bugzilla.gnome.org/show_bug.cgi?id=763975
Vineeth TM [Thu, 3 Mar 2016 07:46:24 +0000 (16:46 +0900)]
base: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763075
Stian Selnes [Tue, 6 Oct 2015 15:02:03 +0000 (17:02 +0200)]
rtcpbuffer: Add API for APP packets
https://bugzilla.gnome.org/show_bug.cgi?id=761944
Haakon Sporsheim [Tue, 29 Jul 2014 13:37:12 +0000 (15:37 +0200)]
rtcpbuffer: Add profile-specific extension API.
https://bugzilla.gnome.org/show_bug.cgi?id=761950
Sebastian Dröge [Thu, 24 Mar 2016 11:32:52 +0000 (13:32 +0200)]
Back to development
Sebastian Dröge [Thu, 24 Mar 2016 10:19:23 +0000 (12:19 +0200)]
Release 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 09:43:05 +0000 (11:43 +0200)]
Update .po files
Víctor Manuel Jáquez Leal [Tue, 8 Mar 2016 12:22:32 +0000 (13:22 +0100)]
install-plugins: update documentation
Use gst-inspect-1.0 instead of gst-inspect-0.10
https://bugzilla.gnome.org/show_bug.cgi?id=763316
Sebastian Dröge [Tue, 15 Mar 2016 10:02:20 +0000 (12:02 +0200)]
Release 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 09:48:09 +0000 (11:48 +0200)]
Update .po files
Sebastian Dröge [Tue, 15 Mar 2016 09:40:06 +0000 (11:40 +0200)]
po: Update translations
Sebastian Dröge [Mon, 14 Mar 2016 15:06:53 +0000 (17:06 +0200)]
decodebin: Shut down all elements explicitly to NULL state before freeing the decode chain
Due to transient locked state during autoplugging, some elements might be
ignored by the GstBin::change_state() and might still be running. Which could
then cause pad-added and similar accessing decodebin state that does not exist
anymore, and crash.
https://bugzilla.gnome.org/show_bug.cgi?id=763625
Sebastian Dröge [Sun, 13 Mar 2016 11:59:25 +0000 (13:59 +0200)]
multihandlesink: Remove useless streamheader storage
We don't do anything with it but always get them from the caps anyway, so
stop storing them and having complicated logic around that.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Sebastian Dröge [Sun, 13 Mar 2016 08:51:30 +0000 (10:51 +0200)]
multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps
And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
puts the HEADER flag on its keyframes.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Sebastian Dröge [Sat, 12 Mar 2016 17:47:47 +0000 (19:47 +0200)]
decodebin: expose_pad() is always called with lock==TRUE, simplify code
This basically reverts
ee44337fc3e3030a5155d28b3561af157e6c6003 .
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sat, 12 Mar 2016 17:46:44 +0000 (19:46 +0200)]
decodebin: Don't check twice if the decode chain is complete in pad_added_cb()
expose_pad() already does the same.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sat, 12 Mar 2016 17:45:26 +0000 (19:45 +0200)]
decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
In other places we lock it the other way around, leading to possible
deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
autoplugged that adds new pads on itself when its state is changed.
https://bugzilla.gnome.org/show_bug.cgi?id=763491
Sebastian Dröge [Sun, 13 Mar 2016 08:58:54 +0000 (10:58 +0200)]
tcp: Remove unused file
It's a copy of multihandlesink, but completely outdated. Let's get rid of it
before it gets even more outdated.
https://bugzilla.gnome.org/show_bug.cgi?id=763278
Lubosz Sarnecki [Tue, 8 Mar 2016 18:22:34 +0000 (19:22 +0100)]
basetextoverlay: Add new properties and alignment type for unclamped absolute positions
Introduces [x-absolute, y-absolute] properties
for positioning in +/- MAX_DOUBLE range.
Adds new (h/v)alignment type "absolute" where coordinates
map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:
[0, 0]: Top-Lefts of video and text are aligned
[0.5, 0.5]: Centers are aligned
[1, 1]: Bottom-Rights are aligned
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Tim-Philipp Müller [Fri, 11 Mar 2016 13:15:03 +0000 (13:15 +0000)]
Revert "textoverlay: Do not limit positioning to video area."
This reverts commit
a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.
This changed behaviour in a way that's not always
backwards-compatible.
https://bugzilla.gnome.org/show_bug.cgi?id=761251
Nirbheek Chauhan [Wed, 24 Feb 2016 23:37:04 +0000 (05:07 +0530)]
win32: Add a module definitions file for gstfft
Tim-Philipp Müller [Wed, 9 Mar 2016 09:56:52 +0000 (09:56 +0000)]
theora: fix performance category initialisation
Remove unused _register() functions and look up the performance
debug category in a function that's actually called at some point.
Wim Taymans [Fri, 4 Mar 2016 16:13:59 +0000 (17:13 +0100)]
audio-channel-mixer: improve non-interleaved flags
Make separate flags for non-interleaved input and output because the
channel mixer should be able to convert between the two layouts in the
future.
Vincent Penquerc'h [Fri, 4 Mar 2016 12:12:56 +0000 (12:12 +0000)]
gst-play: remove peculiar setting of invalid -v property
Vincent Penquerc'h [Fri, 5 Feb 2016 14:14:37 +0000 (14:14 +0000)]
oggdemux: fix chaining causing running time to restart from 0
This fixes:
gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg
https://bugzilla.gnome.org/show_bug.cgi?id=758282
Havard Graff [Thu, 3 Mar 2016 19:10:17 +0000 (20:10 +0100)]
opusdec: plug caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=763059
Sebastian Dröge [Wed, 2 Mar 2016 18:47:42 +0000 (20:47 +0200)]
Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
This reverts commit
0615794300234e3efbcb49a524efdee11171ab4c.
deinterlace was ported at some point in the last 4 years and has better video
format support, and especially better negotiation than avdeinterlace. Having
avdeinterlace but not deinterlace causes various problems in zerocopy
scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=760553
Sebastian Dröge [Wed, 2 Mar 2016 16:47:23 +0000 (18:47 +0200)]
encodebin: Make dispose() function safe to be called multiple times
Sebastian Dröge [Tue, 1 Mar 2016 16:14:54 +0000 (18:14 +0200)]
Release 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 14:53:05 +0000 (16:53 +0200)]
po: Update translations
Tom Deseyn [Thu, 28 Jan 2016 15:26:47 +0000 (16:26 +0100)]
multisocketsink: handle client close correctly and EWOULDBLOCK
Fixes 100% cpu usage when client disconnects. Commit
6db2ee56
would just make multisocketsink ignore reads of 0 bytes without
removing the client, so we'd get woken up over and over again
for the client.
Fix the original issue differently by handling the non-fatal error code.
https://bugzilla.gnome.org/show_bug.cgi?id=761257
https://bugzilla.gnome.org/show_bug.cgi?id=743834
Tim-Philipp Müller [Sat, 27 Feb 2016 00:11:02 +0000 (00:11 +0000)]
video: update disted orc backup file
https://bugzilla.gnome.org/show_bug.cgi?id=761851
Göran Jönsson [Thu, 11 Feb 2016 10:27:57 +0000 (11:27 +0100)]
video-converter: add direct UYVY to GRAY8 conversion function
https://bugzilla.gnome.org/show_bug.cgi?id=761851
Vincent Penquerc'h [Thu, 4 Feb 2016 16:01:00 +0000 (16:01 +0000)]
opus: fix mono<->stereo up/down-mixing
https://bugzilla.gnome.org/show_bug.cgi?id=761588
Lim Siew Hoon [Fri, 26 Feb 2016 09:09:06 +0000 (17:09 +0800)]
pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
They are converted into <para></para> by gtk-doc...
https://bugzilla.gnome.org/show_bug.cgi?id=762674
Sebastian Dröge [Fri, 26 Feb 2016 10:41:01 +0000 (12:41 +0200)]
Automatic update of common submodule
From b64f03f to 6f2d209
Tim-Philipp Müller [Fri, 26 Feb 2016 00:53:05 +0000 (00:53 +0000)]
opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
They have been replaced by "audio-type" and "bitrate-type".
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Fri, 26 Feb 2016 00:37:57 +0000 (00:37 +0000)]
docs: add Opus to docs
Tim-Philipp Müller [Fri, 26 Feb 2016 00:20:10 +0000 (00:20 +0000)]
opus: move Opus audio decoder and encoder from -bad to -base
Hook into build system after moving history.
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Thu, 25 Feb 2016 23:51:42 +0000 (23:51 +0000)]
Merge branch 'plugin-move-opus'
Move Opus decoder and encoder from -bad to -base.
https://bugzilla.gnome.org/show_bug.cgi?id=756282
Tim-Philipp Müller [Thu, 25 Feb 2016 23:13:39 +0000 (23:13 +0000)]
tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
< and > are composed with shift + something else on many keyboards
layouts, so don't work well when injecting them via windowing systems
which will send them as shift key press and separate other key, and
we the don't combine that to < or > properly. n/b are easier.
Sebastian Dröge [Thu, 25 Feb 2016 22:02:49 +0000 (00:02 +0200)]
audiovisualizer: Use the library instead of including the source file
Fixes build now that the shader enum GType has moved to a different file.
Sebastian Dröge [Thu, 25 Feb 2016 18:39:04 +0000 (20:39 +0200)]
audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
That happens automatically already anyway.
Tim-Philipp Müller [Thu, 25 Feb 2016 17:46:31 +0000 (17:46 +0000)]
video: flesh out docs for gst_video_frame_map()
Luis de Bethencourt [Thu, 25 Feb 2016 10:47:17 +0000 (10:47 +0000)]
visual: correct type name
Base class type name should not reference libvisual since not all child
elements use this. This was an oversight when merging audiovisualizers into
a common base class.
Wim Taymans [Wed, 24 Feb 2016 13:05:03 +0000 (14:05 +0100)]
audio-quantize: fix feedback dither
Make sure we allocated enough extra space in the error buffer to
store the feedback error.
Wim Taymans [Wed, 24 Feb 2016 11:54:39 +0000 (12:54 +0100)]
audio-converter: perform dithering on the current format
Use the current (intermediate) format to decide how to set up dithering
instead of the input format.
Sebastian Dröge [Tue, 23 Feb 2016 16:23:45 +0000 (18:23 +0200)]
rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully
Edward Hervey [Tue, 23 Feb 2016 08:35:14 +0000 (09:35 +0100)]
Revert "playsink: Properly mark pending blocked pads"
This reverts commit
62053852de01fb324a915b27c00f5b8dc0f66fb3.
The issue that the patch fixes is only noticeable when using decodebin3,
which isn't yet in master.
Adam Miartus [Thu, 10 Dec 2015 14:32:06 +0000 (15:32 +0100)]
tag: id3v2: read conductor tag
ID3v2 features the TPE3 info frame, which contains information
about the conductor.
https://bugzilla.gnome.org/show_bug.cgi?id=762451