Wim Taymans [Thu, 30 Oct 2014 17:40:43 +0000 (18:40 +0100)]
video-converter: clamp input lines correctly
Tim-Philipp Müller [Thu, 30 Oct 2014 23:53:39 +0000 (23:53 +0000)]
video-scaler: fix build without orc
https://bugzilla.gnome.org/show_bug.cgi?id=739433
Wim Taymans [Thu, 30 Oct 2014 16:30:33 +0000 (17:30 +0100)]
video-converter: add border color
Wim Taymans [Thu, 30 Oct 2014 15:57:20 +0000 (16:57 +0100)]
video-converter: add support for src/dest regions
Add support for cropping the source and placing the converted image
into a rectangle in the destination frame.
Add an option to add a border and border color.
Vincent Penquerc'h [Thu, 5 Jun 2014 13:50:15 +0000 (14:50 +0100)]
vorbisenc: push an updated segment stop time when we know it
When encoding, libvorbis will tell us how many samples are encoded
in the buffer it returns. This number may be less than the maximum
of samples in the block, if this is the last packet. In we have no
segment end time, we set it to the end time of that last sample to
tell downstream that the buffer contains less samples.
Vincent Penquerc'h [Thu, 5 Jun 2014 13:54:31 +0000 (14:54 +0100)]
oggmux: set correct granpos on last page when samples are clipped
Samples may be clipped at the end, and this is conveyed by a
granulepos that's smaller than it would otherwise be. Use the
segment stop time to detect this, and calculate the right
granulepos.
Vincent Penquerc'h [Thu, 5 Jun 2014 10:26:08 +0000 (11:26 +0100)]
oggdemux: fix last buffer timestamp when samples are clipped
The end of a stream can be clipped by setting the granulepos of
the last page to a lower value that it otherwise would be.
Wim Taymans [Thu, 30 Oct 2014 13:48:45 +0000 (14:48 +0100)]
tests: fix test
Vincent Penquerc'h [Fri, 3 Oct 2014 11:42:46 +0000 (12:42 +0100)]
gst-discoverer: error out on failure to copy
This should not really fail, but let's check return value
anyway as it guards against future changes.
Coverity 1135731
Vincent Penquerc'h [Fri, 3 Oct 2014 11:28:30 +0000 (12:28 +0100)]
rtpbuffer: add a const where appropriate
Vincent Penquerc'h [Fri, 3 Oct 2014 11:08:05 +0000 (12:08 +0100)]
typefind: remove unneeded test
We've already bailed out if we have less than 5 bytes.
Coverity 1226441
Tim-Philipp Müller [Thu, 30 Oct 2014 11:33:17 +0000 (11:33 +0000)]
Update libgstvideo.def for resampler -> video_resample renaming
Wim Taymans [Thu, 30 Oct 2014 10:46:14 +0000 (11:46 +0100)]
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.
Wim Taymans [Thu, 30 Oct 2014 10:43:52 +0000 (11:43 +0100)]
video-scaler: rename resampler to video-resampler
Prefix the resampler with video-. It we would like to reuse the
resampler for audio later, we can copy/move it and deprecate this
one.
Wim Taymans [Wed, 29 Oct 2014 16:38:33 +0000 (17:38 +0100)]
video-scaler: remove color range argument
We just need to clip to the format limits, if there is extra headroom in
the range we can use that without problems.
Wim Taymans [Wed, 29 Oct 2014 16:14:51 +0000 (17:14 +0100)]
defs: update defs
Wim Taymans [Wed, 29 Oct 2014 15:20:56 +0000 (16:20 +0100)]
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.
Wim Taymans [Wed, 29 Oct 2014 15:13:02 +0000 (16:13 +0100)]
video-scaler: add precision to make_s16_taps
Wim Taymans [Wed, 29 Oct 2014 12:19:00 +0000 (13:19 +0100)]
video-converter: copy config fields
When setting a new config, copy all the fields into our own config and
not only the ones we know about.
Wim Taymans [Wed, 29 Oct 2014 12:17:39 +0000 (13:17 +0100)]
resampler: make offset/phase/n_taps uint32
Make various resizer fields uint32 so that we can use them in ORC
functions later.
Wim Taymans [Mon, 27 Oct 2014 10:59:14 +0000 (11:59 +0100)]
video-converter: don't convert too much
Always convert the smallest width.
Wim Taymans [Mon, 27 Oct 2014 09:13:47 +0000 (10:13 +0100)]
resampler: make shift easier to use
Wim Taymans [Sun, 26 Oct 2014 04:58:56 +0000 (05:58 +0100)]
resampler: add parameters to cubic filter
Improve cubic filter and add parameters. Switch to mitchell filter
by default.
Wim Taymans [Fri, 24 Oct 2014 14:51:37 +0000 (16:51 +0200)]
video-scaler: add extra options
Wim Taymans [Fri, 24 Oct 2014 14:42:11 +0000 (16:42 +0200)]
video-converter: define some options
Wim Taymans [Fri, 24 Oct 2014 14:23:53 +0000 (16:23 +0200)]
resampler: add some options
Wim Taymans [Fri, 24 Oct 2014 13:42:31 +0000 (15:42 +0200)]
resampler: limit max number of taps
Don't use more taps than the input size.
Wim Taymans [Fri, 24 Oct 2014 13:28:22 +0000 (15:28 +0200)]
video-converter: add scaling support
Add scaling support for the video-converter object
Wim Taymans [Fri, 24 Oct 2014 13:25:33 +0000 (15:25 +0200)]
video-scaler: add video scaler helper object
Add a video scaler object build on top of the resampler. It has
implementation to deal with interlaced video as well as horizontal and
vertical scaling functions.
Wim Taymans [Fri, 24 Oct 2014 11:01:12 +0000 (13:01 +0200)]
video: add generic resampler
Add an object that can generate a set of resample filter coefficients.
Wim Taymans [Fri, 24 Oct 2014 10:11:43 +0000 (12:11 +0200)]
video-converter: rework the generic converter function
Use a LineCache object to track and process lines between unpack,
upsample, convert, downsample and pack stages. This simplifies the
main core processing function a lot and allows for future additions
easily.
Add support for interlaced formats in chroma up and downsampling.
Wim Taymans [Fri, 24 Oct 2014 09:45:13 +0000 (11:45 +0200)]
video-convert: swap src and dest
It is more natural and consistent with other uses.
Wim Taymans [Fri, 24 Oct 2014 09:35:31 +0000 (11:35 +0200)]
video-chroma: fix typo
Sebastian Dröge [Mon, 27 Oct 2014 16:56:51 +0000 (17:56 +0100)]
Automatic update of common submodule
From 84d06cd to 7bb2bce
Vineeth T M [Thu, 23 Oct 2014 09:11:13 +0000 (14:41 +0530)]
video-blend: segfault when xpos >= video size
When the xpos is given as greater than or equal to the video size,
we get a segfault, due to improper condition.
Hence adding proper conditions.
https://bugzilla.gnome.org/show_bug.cgi?id=738984
Vineeth T M [Thu, 23 Oct 2014 09:08:07 +0000 (14:38 +0530)]
basetextoverlay: segfault when xpos >= video size
When the xpos is given as greater than or equal to the video size,
we get a segfault, due to improper condition.
Hence adding proper conditions.
https://bugzilla.gnome.org/show_bug.cgi?id=738984
Tim-Philipp Müller [Sun, 26 Oct 2014 21:31:36 +0000 (21:31 +0000)]
examples: add new appsink example to .gitignore
Sebastian Dröge [Sun, 26 Oct 2014 10:04:47 +0000 (11:04 +0100)]
Revert "decodebin: fix the autoplugging of parser elements"
This reverts commit
2b0d3927410ae24e6b0fce100bd4ebbbe805a66f.
This breaks cases where an actual second parser is required after the parser,
e.g. to do timestamp corrections.
See https://bugzilla.gnome.org/show_bug.cgi?id=738416
Sebastian Dröge [Sun, 26 Oct 2014 10:04:38 +0000 (11:04 +0100)]
Revert "decodebin: Fix locking"
This reverts commit
aa94d5dc9aa6ef381da6b60a67f218117c662958.
Tim-Philipp Müller [Fri, 24 Oct 2014 12:09:42 +0000 (13:09 +0100)]
tests: fix playbin-complex test on big endian
Tim-Philipp Müller [Fri, 24 Oct 2014 12:04:07 +0000 (13:04 +0100)]
tests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32
Also see https://bugzilla.gnome.org/show_bug.cgi?id=695276
Tim-Philipp Müller [Fri, 24 Oct 2014 11:26:40 +0000 (12:26 +0100)]
tests: fix adder check on big-endian
Tim-Philipp Müller [Fri, 24 Oct 2014 09:17:47 +0000 (10:17 +0100)]
rtsp: use generic marshaller
Thibault Saunier [Thu, 23 Oct 2014 09:22:35 +0000 (11:22 +0200)]
basetextoverlay: Make GstBaseTextOverlay::font-desc readable
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:16 +0000 (13:01 +0100)]
Automatic update of common submodule
From a8c8939 to 84d06cd
Sebastian Dröge [Tue, 21 Oct 2014 11:30:27 +0000 (13:30 +0200)]
decodebin: Fix locking
The chain mutex needs to be locked when looking at chain->elements. Move code
around a bit to require only one lock() and unlock().
Sreerenj Balachandran [Tue, 21 Oct 2014 09:58:41 +0000 (12:58 +0300)]
decodebin: fix the autoplugging of parser elements
If there are two parser elements available for the same media format,
then decodebin is autoplugging an extra capsfilter and parser irrespective
of caps and rank. So restrict the decodebin from autoplugging multiple parser
elements back to back in adjacent positions with in a single DecodeChain
for the same media format.
https://bugzilla.gnome.org/show_bug.cgi?id=738416
Stefan Sauer [Tue, 21 Oct 2014 10:57:59 +0000 (12:57 +0200)]
Automatic update of common submodule
From 6e75498 to a8c8939
Vineeth T M [Tue, 21 Oct 2014 09:13:30 +0000 (14:43 +0530)]
videotestsrc: assertion error
timestamp_offset is being declared as an int64 variable,
for which the min
value of G_MININT64 is -
9223372036854775808
Changing the minimum and maximum limit for the offset variable.
https://bugzilla.gnome.org/show_bug.cgi?id=738568
Sreerenj Balachandran [Sun, 12 Oct 2014 21:03:55 +0000 (00:03 +0300)]
decodebin: optimize the code a bit by avoiding unnecessary string comparisons
https://bugzilla.gnome.org/show_bug.cgi?id=738416
Sreerenj Balachandran [Sun, 12 Oct 2014 21:03:20 +0000 (00:03 +0300)]
decodebin: Fix typo in comment
https://bugzilla.gnome.org/show_bug.cgi?id=738416
Aleix Conchillo Flaqué [Wed, 1 Oct 2014 22:04:09 +0000 (15:04 -0700)]
rtspconnection: call watch notify before freeing any watch resources
This gives control to the notify function allowing it to finish other
watch related functionality.
https://bugzilla.gnome.org/show_bug.cgi?id=737752
Sebastian Dröge [Mon, 20 Oct 2014 13:31:29 +0000 (15:31 +0200)]
appsink: Fix gst_app_sink_pull() docs to transfer full for the return value
Also we get a GstSample, not a GstBuffer here.
Stefan Sauer [Fri, 17 Oct 2014 10:10:44 +0000 (12:10 +0200)]
typefind: use gslice for typefine data
Also use our free function in the failure case.
Tim-Philipp Müller [Mon, 13 Oct 2014 14:58:56 +0000 (15:58 +0100)]
encodebin: fix some leaks in error code path
Fixes test_encodebin_sink_pads_nopreset_static
running under valgrind.
Tim-Philipp Müller [Mon, 13 Oct 2014 04:08:41 +0000 (05:08 +0100)]
tests: parallelise 'make valgrind'
Use $(MAKE) instead of 'make' inside the Makefile,
otherwise the make will run as if -j1 had been
specified and complain about the job server not
being available, and with $(MAKE) in inherits the
parent make's settings it seems.
Upgrade common submodule for parallel check-valgrind.
Peter G. Baum [Fri, 3 Oct 2014 10:57:52 +0000 (12:57 +0200)]
riff-media: allow more channel_masks
Allow partial valid channel masks.
Set channel mask to 0 for non-valid channel masks.
https://bugzilla.gnome.org/show_bug.cgi?id=733405
Peter G. Baum [Fri, 3 Oct 2014 10:54:17 +0000 (12:54 +0200)]
audio-channels: allow partially valid channel_mask
Since WAVEFORMATEXTENSIBLE allows to have more channels than
bits in the channel mask we should allow this, too, to avoid
loss of information.
https://bugzilla.gnome.org/show_bug.cgi?id=733405
Thiago Santos [Tue, 14 Oct 2014 01:24:31 +0000 (22:24 -0300)]
audiodecoder: should post DECODE errors and not ENCODE
Fix error code for audio decoder
Luis de Bethencourt [Fri, 10 Oct 2014 17:49:29 +0000 (18:49 +0100)]
videoblend: Avoid assigning a negative value to a guint
There are some few but certain conditions where it is possible for the
dest_width to be smaller than x. So we check this before assigning a negative
value to src_width, which is a unsigned and would be promoted to a number that
can segfault videoblend.
https://bugzilla.gnome.org/show_bug.cgi?id=738242
Luis de Bethencourt [Fri, 10 Oct 2014 04:35:19 +0000 (10:05 +0530)]
basetextoverlay: Fix segfault when overlay outside the frame
When the textoverlay is set outside the video frame by deltax or deltay the
calculation segfaults, but it is also unnecessary since it doesn't need to be
displayed. So we should clip the text.
https://bugzilla.gnome.org/show_bug.cgi?id=738242
Olivier Crête [Fri, 10 Oct 2014 21:32:41 +0000 (17:32 -0400)]
pbutils: Rename clock-base/seqnum-base to timestamp-offset/seqnum-offset
To match how they were renamed elsewhere.
Heinrich Fink [Fri, 10 Oct 2014 09:14:17 +0000 (12:14 +0300)]
playsink: Use correct property enum value for video-filter property installation
Luis de Bethencourt [Wed, 8 Oct 2014 15:50:52 +0000 (16:50 +0100)]
videoscale: remove FIXME about NV21 support
NV21 is already supported so removing FIXME about adding support for it.
Wim Taymans [Wed, 8 Oct 2014 09:26:24 +0000 (11:26 +0200)]
videotestsrc: add gradient pattern
Makes a gradient between background and foreground color.
Wim Taymans [Mon, 6 Oct 2014 13:17:42 +0000 (15:17 +0200)]
video-chroma: improve 4x downsampling coefficients
Peter G. Baum [Mon, 6 Oct 2014 20:13:00 +0000 (22:13 +0200)]
audioresample: remove unused variables
https://bugzilla.gnome.org/show_bug.cgi?id=738026
Danny Song [Mon, 6 Oct 2014 20:50:56 +0000 (05:50 +0900)]
typefindfunctions: Remove leftover #define from 0.10
https://bugzilla.gnome.org/show_bug.cgi?id=738018
Andrei Sarakeev [Tue, 7 Oct 2014 08:10:42 +0000 (12:10 +0400)]
decodebin: Only emit the drain signal for the main decode chain, not any subchains
https://bugzilla.gnome.org/show_bug.cgi?id=738064
Sebastian Dröge [Mon, 6 Oct 2014 07:15:13 +0000 (10:15 +0300)]
decodebin: Free factories array when delaying autoplugging due to non-final caps
Sebastian Dröge [Mon, 6 Oct 2014 07:11:05 +0000 (10:11 +0300)]
videoconverter: Free the converter config in free()
Aurélien Zanelli [Thu, 2 Oct 2014 19:20:48 +0000 (21:20 +0200)]
decodebin: unref decode pad after usage
https://bugzilla.gnome.org/show_bug.cgi?id=737757
Sebastian Dröge [Sat, 4 Oct 2014 20:09:19 +0000 (23:09 +0300)]
videoencoder: Stop storing if we received EOS
This was never reset when going from PAUSED->READY and resulted
in encoders being not reusable after EOS. They just rejected any
buffer because they received EOS in their previous life.
The flag wasn't used anywhere except for rejecting buffers after
EOS, and this is now handled by GstPad directly.
Aurélien Zanelli [Wed, 1 Oct 2014 22:14:03 +0000 (00:14 +0200)]
vorbisdec: don't reorder streams with channels count greater than eight
vorbis_reorder_map is defined for eight channels max. If we have more
than eight channels, it's the application which shall define the order.
Since we set audio position to none, we just interleave all the channels
without any particular reordering.
https://bugzilla.gnome.org/show_bug.cgi?id=737742
Andres Gomez [Tue, 4 Mar 2014 14:51:11 +0000 (16:51 +0200)]
uridecodebin: Removed setting "iradio-mode" property in the source element
The "iradio-mode" property used to have a default FALSE value in HTTP
source elements but now it should default to TRUE or just do not exist
as a property so it is not really needed to set it any more in
uridecodebin.
Apart from that this code could've never worked as uridecodebin looks for a
string-typed iradio-mode property, but it's a boolean in all sources.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725383
Jan Schmidt [Wed, 1 Oct 2014 16:46:58 +0000 (02:46 +1000)]
design: Add a proposal for handling stereoscopic 3D and multiview
Aurélien Zanelli [Wed, 1 Oct 2014 09:16:30 +0000 (11:16 +0200)]
videoencoder: release frame in finish_frame when no output state is configured
Otherwise, frame is leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=737706
Wim Taymans [Thu, 25 Sep 2014 15:32:32 +0000 (17:32 +0200)]
video-converter: add orc optimized matrix8 function
Add an ORC implementation of the matrix8 function.
Regenerate video-orc-dist.[ch]
Arun Raghavan [Mon, 29 Sep 2014 14:15:22 +0000 (19:45 +0530)]
audio: Fix up a comment in GstAudioBaseSink
Rewrote the comment to not be PulseAudio-specific.
Rico Tzschichholz [Sat, 27 Sep 2014 18:05:38 +0000 (20:05 +0200)]
video: Make sure to link against libm
Tim-Philipp Müller [Sat, 27 Sep 2014 14:58:51 +0000 (15:58 +0100)]
xvimagesink: get rid of unnecessary private struct for pool
Tim-Philipp Müller [Sat, 27 Sep 2014 14:53:43 +0000 (15:53 +0100)]
ximagesink: get rid of unnecessary private struct for pool
This is not exposed as API after all.
Arun Raghavan [Wed, 24 Sep 2014 15:08:31 +0000 (20:38 +0530)]
audio: Trivial comment for unhandled MPEG-2 payloading case
The spec mentions a version of the MPEG-2 frame with a base frame and
extension frame. I don't have IEC 13818-3 to figure out what that is,
and don't see any references in search results, so it's a FIXME for now.
https://bugzilla.gnome.org/show_bug.cgi?id=736797
Arun Raghavan [Wed, 24 Sep 2014 14:41:49 +0000 (20:11 +0530)]
audio: Fixes for MPEG-2 LSF IEC61937 payloading
The low sample frequency case for MPEG-2 is <=12kHz (the 32kHz number
applies to MPEG-1).
https://bugzilla.gnome.org/show_bug.cgi?id=736797
Anuj Jaiswal [Wed, 17 Sep 2014 12:10:04 +0000 (17:40 +0530)]
audio: correct condition for MPEG case.
Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736797
Wim Taymans [Fri, 26 Sep 2014 16:14:11 +0000 (18:14 +0200)]
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.
Wim Taymans [Fri, 26 Sep 2014 14:35:51 +0000 (16:35 +0200)]
videotestsrc: storel is better then copyl
It is better to use storel to splat the variable into the destination.
ORC doesn't know when a variable is last written to so it can't yet optimize
away the copy operation.
Luis de Bethencourt [Fri, 26 Sep 2014 14:00:12 +0000 (15:00 +0100)]
videoscale: avoid recalculating values
Avoid recalculating values used multiple times as base of index. Plus some style
fixes.
https://bugzilla.gnome.org/show_bug.cgi?id=737400
Ravi Kiran K N [Fri, 26 Sep 2014 03:44:51 +0000 (09:14 +0530)]
videoscale: support lanczos method for NV formats
Support lanczos scaling method for NV12 and NV21 formats.
Scale the 'Y' plane and scale 'NV' plane.
Implementation for submethods - int16, int32, float and double
https://bugzilla.gnome.org/show_bug.cgi?id=737400
Tim-Philipp Müller [Thu, 25 Sep 2014 14:19:21 +0000 (15:19 +0100)]
video: update disted orc backup files
Wim Taymans [Wed, 24 Sep 2014 14:19:30 +0000 (16:19 +0200)]
video: convertor -> converter
Wim Taymans [Wed, 24 Sep 2014 13:49:42 +0000 (15:49 +0200)]
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
Wim Taymans [Wed, 24 Sep 2014 09:04:15 +0000 (11:04 +0200)]
video-color: add gst_video_color_matrix_get_Kr_Kb()
Move the function to get the color matrix coefficients from
videoconvert to the video library.
Thiago Santos [Tue, 23 Sep 2014 17:14:36 +0000 (14:14 -0300)]
audiosink: compensate for segment restart with clock's time_offset
When playing chained data the audio ringbuffer is released and
then acquired again. This makes it reset the segbase/segdone
variables, but the next sample will be scheduled to play in
the next position (right after the sample from the previous media)
and, as the segdone is at 0, the audiosink will wait the duration
of this previous media before it can write and play the new data.
What happens is this:
pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0
it will have to wait the length of 698 samples before being able to write.
In a regular sample playback it looks like:
pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0
In this case it will write to the next available position and it
doesn't need to wait or fill with silence.
This solution is borrowed from pulsesink that resets the clock to
start again from 0, which makes it reset the time_offset to the time
of the last played sample. This is used to correct the place of
writing in the ringbuffer to the new start (0 again)
https://bugzilla.gnome.org/show_bug.cgi?id=737055
Ognyan Tonchev [Sun, 21 Sep 2014 11:16:43 +0000 (13:16 +0200)]
videopool: add missing annotation for gst_video_buffer_pool_new()
https://bugzilla.gnome.org/show_bug.cgi?id=737072
Sebastian Dröge [Tue, 23 Sep 2014 20:12:19 +0000 (23:12 +0300)]
videoscale Use stride instead of width in more places
Sanjay NM [Fri, 19 Sep 2014 07:01:49 +0000 (12:31 +0530)]
videoscale: Use width instead of stride in buffer offset calculation
https://bugzilla.gnome.org/show_bug.cgi?id=736944
Stefan Sauer [Tue, 23 Sep 2014 09:56:33 +0000 (11:56 +0200)]
audioencoder: reshuffle code in error handling
Move the assert to the error handling block at the end of the function so the
the logging is still triggered. Reword the logging slightly and add another
comment to hint what went wrong.
Fixes #737138
Stefan Sauer [Mon, 22 Sep 2014 18:15:13 +0000 (20:15 +0200)]
videoencoder: log the timestamps if we are unhappy about them
When complaining about the DTS!=PTS on keyframes log the actualy timestamps.
Wim Taymans [Mon, 22 Sep 2014 08:42:47 +0000 (10:42 +0200)]
tests: add orc test for videoconvert