Sebastian Dröge [Sun, 3 Apr 2016 08:38:28 +0000 (11:38 +0300)]
videorate: Remove dead code
We never get into this code path at all if drop_only==TRUE.
Frédéric Bertolus [Tue, 29 Mar 2016 15:19:41 +0000 (17:19 +0200)]
videorate: avoid useless buffer copy in drop-only mode
Make writable the buffer before pushing it lead to a buffer copy. It's
because a reference is keep for the previous buffer.
The previous buffer reference is only need to duplicate the buffer. In
drop-only mode, the previous buffer is release just after pushing the
buffer so a copy is done but it's useless.
https://bugzilla.gnome.org/show_bug.cgi?id=764319
Tim-Philipp Müller [Sat, 2 Apr 2016 14:19:44 +0000 (15:19 +0100)]
video: fix example code in gst_video_frame_map() docs
GST_VIDEO_FRAME_PLANE_PSTRIDE() does not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=764414
Tim-Philipp Müller [Sat, 2 Apr 2016 09:09:07 +0000 (10:09 +0100)]
discoverer: copy over result and seekable fields when copying a discoverer info
The function gst_discoverer_info_copy doesn't copy the data members seekable
and result of the source GstDiscovererInfo.
In the case of copying a GstDiscovererInfo for later use, the seekbale will be
undefined, which in practice usually will be false, even though the seekable of
the original GstDiscovererInfo is true.
https://bugzilla.gnome.org/show_bug.cgi?id=762710
Nicolas Dufresne [Thu, 31 Mar 2016 17:32:32 +0000 (13:32 -0400)]
video-format: Fix macro documentation
The parameter type was wrongly documenting that a GstVideoInfo structure
pointer was needed, while it needs a GstVideoFormatInfo structure
pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=764414
Tim-Philipp Müller [Sat, 26 Mar 2016 20:53:08 +0000 (20:53 +0000)]
test: fix indentation
Tim-Philipp Müller [Sat, 26 Mar 2016 20:52:16 +0000 (20:52 +0000)]
rtp: rtcpbuffer: fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=761944
Tim-Philipp Müller [Sat, 26 Mar 2016 20:50:31 +0000 (20:50 +0000)]
rtp: rtpcbuffer: fix Since markers
https://bugzilla.gnome.org/show_bug.cgi?id=761944
Alessandro Decina [Wed, 30 Mar 2016 00:16:49 +0000 (11:16 +1100)]
audio-resampler: disable neon on arm64
Fix the build on arm64 by using HAVE_ARM_NEON instead of __ARM_NEON__.
Jan Schmidt [Tue, 29 Mar 2016 11:16:38 +0000 (22:16 +1100)]
subparse: Add more parsing guards
Insert extra checks for the validity of the incoming
data when parsing subrip/webvtt content and debug log
output for invalid content.
Should fix Coverity warnings.
Luis de Bethencourt [Tue, 29 Mar 2016 09:23:08 +0000 (10:23 +0100)]
subparse: add missing break between formats
A break is missing at the end of case GST_SUB_PARSE_FORMAT_LRC or it will
fallthrough to WebVTT. This fixes commit
fd2a14144a7a.
Sebastian Dröge [Tue, 29 Mar 2016 09:11:22 +0000 (12:11 +0300)]
audio-resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) in more places
Sreerenj Balachandran [Tue, 29 Mar 2016 08:25:15 +0000 (11:25 +0300)]
win32: Update exports for new video formats
Update win32 exports for P010_10BE and P010_10LE
video formats.
Scott D Phillips [Tue, 29 Mar 2016 08:16:42 +0000 (11:16 +0300)]
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.
Sebastian Dröge [Tue, 29 Mar 2016 07:15:07 +0000 (10:15 +0300)]
resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x)
The latter is only available on x86-64 for some reason.
Edward Hervey [Tue, 29 Mar 2016 06:21:54 +0000 (08:21 +0200)]
audio: Fix distcheck
Don't forget to dist the needed files (which don't need to be installed)
Wim Taymans [Mon, 28 Mar 2016 13:37:36 +0000 (15:37 +0200)]
audio-resampler: estimate memory usage in auto mode
Estimate the memory usage and use this to decide between full or
interpolated filter.
Wim Taymans [Mon, 28 Mar 2016 10:51:26 +0000 (12:51 +0200)]
audioresample: remove last ORC remains
Wim Taymans [Wed, 16 Mar 2016 11:55:56 +0000 (12:55 +0100)]
audio-resampler: small optimizations
Wim Taymans [Fri, 4 Mar 2016 16:15:44 +0000 (17:15 +0100)]
audio-resampler: improve non-interleaved flags
Make it possible to have different interleaving on input and output
because we can quite trivially do that.
Wim Taymans [Wed, 2 Mar 2016 10:40:15 +0000 (11:40 +0100)]
audio-resampler: unroll some more loops
Unroll some loops.
Wim Taymans [Tue, 1 Mar 2016 15:31:18 +0000 (16:31 +0100)]
audio-resampler: keep precision
Transpose and add before applying the cubic interpolation to avoid
overflows when using full precision.
Wim Taymans [Tue, 1 Mar 2016 15:26:15 +0000 (16:26 +0100)]
audio-resampler: small cleanups
Wim Taymans [Thu, 25 Feb 2016 14:38:46 +0000 (15:38 +0100)]
audio-resampler: optimize no resampling
Switch to the faster nearest resample method when are doing no rate
conversion.
Wim Taymans [Thu, 25 Feb 2016 13:09:44 +0000 (14:09 +0100)]
audio-resampler: add VARIABLE_RATE flag
Add a VARIABLE rate flag that selects an interpolating filter.
Move some function setup code in the _new function.
Wim Taymans [Tue, 23 Feb 2016 09:46:55 +0000 (04:46 -0500)]
audio-resampler: more neon optimizations
Wim Taymans [Wed, 24 Feb 2016 11:57:26 +0000 (12:57 +0100)]
audio-resampler: avoid overflow in cubic interpolation
Shift out an extra bit to have some more headroom when doing cubic
interpolation.
Wim Taymans [Wed, 24 Feb 2016 11:56:39 +0000 (12:56 +0100)]
audio-resampler: overread only 8 taps
We only need 8 taps of zeroes as headroom for the SIMD optimized
functions.
Wim Taymans [Wed, 24 Feb 2016 11:55:28 +0000 (12:55 +0100)]
audio-converter: use helper to check intermediate format
Wim Taymans [Tue, 23 Feb 2016 14:37:37 +0000 (15:37 +0100)]
audio-resampler: fix phase
Wim Taymans [Mon, 22 Feb 2016 16:16:28 +0000 (11:16 -0500)]
audio-resampler: fix neon assembler
Wim Taymans [Mon, 22 Feb 2016 12:19:02 +0000 (13:19 +0100)]
audio-resampler: avoid some format conversion
Store the filter in the desired sample format so that we can simply do a
linear or cubic interpolation to get the new filter instead of having to
go through gdouble and then convert.
Wim Taymans [Mon, 22 Feb 2016 08:28:21 +0000 (03:28 -0500)]
audio-resampler: fix neon linear float interpolation
Wim Taymans [Fri, 19 Feb 2016 15:39:43 +0000 (16:39 +0100)]
audio-resampler: reorder filter coefficients for more speed
Reorder the filter coefficients to make it easier to use SIMD for
interpolation.
Fix orc flags a little.
Add specialized nearest resampling function.
Wim Taymans [Fri, 19 Feb 2016 09:40:03 +0000 (10:40 +0100)]
audio-resampler: remove stereo optimizations
The stereo optimizations don't give enough benefit.
Rename none to full to make it clear that we use a full filter instead
of an interpolated one
Wim Taymans [Thu, 18 Feb 2016 17:48:45 +0000 (12:48 -0500)]
audio-resample: remove neon double stubs
NEON does not have double types.
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