Alessandro Decina [Tue, 6 Dec 2011 12:06:06 +0000 (13:06 +0100)]
h264parse: handle force key unit events
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
Alessandro Decina [Tue, 6 Dec 2011 11:55:26 +0000 (12:55 +0100)]
codecparsers: fix compile warnings in gstmpeg4parser.c
Edward Hervey [Mon, 5 Dec 2011 10:56:02 +0000 (11:56 +0100)]
tests: Add more files to .gitignore
Edward Hervey [Mon, 5 Dec 2011 10:50:17 +0000 (11:50 +0100)]
h264parse: Use faster parsing variant when input is packetized
Reduces latency and cpu usage
https://bugzilla.gnome.org/show_bug.cgi?id=665584
Edward Hervey [Mon, 5 Dec 2011 10:47:57 +0000 (11:47 +0100)]
codecparsers: Variant of _identify_nalu without checks
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
in order for the parsing code to detect the next start code)
https://bugzilla.gnome.org/show_bug.cgi?id=665584
Mark Nauwelaerts [Mon, 5 Dec 2011 12:09:17 +0000 (13:09 +0100)]
h264parse: reflow slice nal processing
Mark Nauwelaerts [Mon, 5 Dec 2011 11:57:47 +0000 (12:57 +0100)]
h264parse: optimize slice nal processing
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.
Fixes #665418.
Mark Nauwelaerts [Mon, 5 Dec 2011 11:53:59 +0000 (12:53 +0100)]
codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit
177451c9216f4e3959e7358675fbb9731d2c81a2
Sebastian Dröge [Mon, 5 Dec 2011 07:56:43 +0000 (08:56 +0100)]
autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad
Vincent Penquerc'h [Mon, 28 Nov 2011 19:38:34 +0000 (19:38 +0000)]
opusdec: guard against decoding 0 samples
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Sebastian Dröge [Fri, 2 Dec 2011 10:46:03 +0000 (11:46 +0100)]
configure: Require XVID API >= 4.3
This is required for encoding the simple profile
with levels 4a, 5 or 6.
Fixes bug #665378.
Sebastian Dröge [Thu, 1 Dec 2011 09:54:49 +0000 (10:54 +0100)]
xvidenc: Don't add the profile/level to the video/x-xvid caps
Sebastian Dröge [Thu, 1 Dec 2011 08:54:08 +0000 (09:54 +0100)]
xvidenc: Add profile/level to the caps and negotiate them with downstream
Still keep the profile property to select profile/level if there
are no downstream constraints.
Fixes bug #652261.
Sebastian Dröge [Thu, 1 Dec 2011 08:39:11 +0000 (09:39 +0100)]
xvidenc: Add support for levels 4a/5/6 of the simple profile
Alessandro Decina [Thu, 1 Dec 2011 08:02:46 +0000 (09:02 +0100)]
h264parse: let upstream PAR override in-stream PAR
Alessandro Decina [Wed, 23 Nov 2011 17:26:44 +0000 (18:26 +0100)]
h264parse: rework PAR parsing
And in the process refactor _update_src_caps a bit
Luciana Fujii Pontello [Wed, 16 Nov 2011 05:03:12 +0000 (00:03 -0500)]
h264parse: respect pixel-aspect-ratio
Parse pixel-aspect-ratio in vui information.
Stefan Sauer [Wed, 30 Nov 2011 21:12:27 +0000 (22:12 +0100)]
spacespace: whitespace cleanups
Stefan Sauer [Wed, 30 Nov 2011 21:11:40 +0000 (22:11 +0100)]
wavescape: also add colormodes like in spacescope
Stefan Sauer [Wed, 30 Nov 2011 14:13:04 +0000 (15:13 +0100)]
audiovisualizer: update README
Stefan Sauer [Wed, 30 Nov 2011 13:20:38 +0000 (14:20 +0100)]
spacescope: add color-modes
In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.
Nicola Murino [Tue, 30 Aug 2011 12:37:42 +0000 (14:37 +0200)]
replace propset_mutex with GST_OBJECT_LOCK
Stefan Sauer [Fri, 25 Nov 2011 21:32:11 +0000 (22:32 +0100)]
audiovisualizers: streamline the line_aa code
Have a reusable dot_aa code and reuse in the line drawing.
Tim-Philipp Müller [Wed, 30 Nov 2011 10:35:12 +0000 (10:35 +0000)]
mpegtsmux: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS.
Alessandro Decina [Sun, 21 Aug 2011 09:01:37 +0000 (11:01 +0200)]
mpegtsmux: add support for force key unit events
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
Stefan Sauer [Tue, 29 Nov 2011 22:41:22 +0000 (23:41 +0100)]
opencv: allow to build against 2.3.1
Tim-Philipp Müller [Tue, 29 Nov 2011 18:18:36 +0000 (18:18 +0000)]
build: add old mpeg4videoparse directory to CRUFT_DIRS
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:58 +0000 (09:47 +0100)]
codecparsers: h264: record ref_pic_list_modification().
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:57 +0000 (09:47 +0100)]
codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Upgrade to current AVC specification.
Alexey Fisher [Tue, 29 Nov 2011 11:20:51 +0000 (12:20 +0100)]
mpegpsdemux: recalculate adjust if difference is negative
One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.
The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.
This patch just make diff unsigned to avoid negative values.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=656115
Sebastian Dröge [Tue, 29 Nov 2011 11:12:33 +0000 (12:12 +0100)]
basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
Sebastian Dröge [Tue, 29 Nov 2011 11:12:04 +0000 (12:12 +0100)]
basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
Sebastian Dröge [Tue, 29 Nov 2011 08:31:11 +0000 (09:31 +0100)]
basevideoencoder: Use new force-keyunit event API from gst-plugins-base
Sebastian Dröge [Tue, 29 Nov 2011 08:18:19 +0000 (09:18 +0100)]
basevideoencoder: Adjusting padding is not required for -bad libraries
Sebastian Dröge [Mon, 28 Nov 2011 18:48:01 +0000 (19:48 +0100)]
basevideoencoder: Move some fields to the private part of the instance struct
Sebastian Dröge [Mon, 28 Nov 2011 18:36:56 +0000 (19:36 +0100)]
basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
Sebastian Dröge [Mon, 28 Nov 2011 18:35:40 +0000 (19:35 +0100)]
basevideoencoder: Push the downstream force-keyframe event after the next keyframe
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
Sebastian Dröge [Mon, 28 Nov 2011 18:29:13 +0000 (19:29 +0100)]
basevideoencoder: Don't push an upstream force-keyunit event downstream
Jonas Larsson [Fri, 25 Nov 2011 10:48:08 +0000 (11:48 +0100)]
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
Tim-Philipp Müller [Tue, 29 Nov 2011 09:22:38 +0000 (09:22 +0000)]
kate: fix set-but-not-used-variable compiler warning
gstkatetiger.c:1156:15: error: variable 'height' set but not used
gstkatetiger.c:1156:8: error: variable 'width' set but not used
Tim-Philipp Müller [Tue, 29 Nov 2011 09:15:11 +0000 (09:15 +0000)]
codecparsers: minor fixes
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
Thibault Saunier [Tue, 8 Nov 2011 13:44:11 +0000 (10:44 -0300)]
codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
Thibault Saunier [Thu, 29 Sep 2011 17:37:59 +0000 (14:37 -0300)]
mpeg4videoparse: Properly handle profile and level in caps
Fix #660234
Thibault Saunier [Mon, 26 Sep 2011 19:58:58 +0000 (16:58 -0300)]
mpeg4videoparse: Port to the new mpeg4parser library
Thibault Saunier [Mon, 26 Sep 2011 13:39:31 +0000 (10:39 -0300)]
mpeg4videoparse: Move to the videoparsers plugin
Rename a few variables to use the same convention as others elements in this
plugin
Conflicts:
gst/videoparsers/gstmpeg4videoparse.c
Thibault Saunier [Wed, 2 Nov 2011 12:14:42 +0000 (09:14 -0300)]
codecparsers: Declare private arrays as static all around
Thibault Saunier [Wed, 21 Sep 2011 22:49:36 +0000 (19:49 -0300)]
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
Thibault Saunier [Wed, 21 Sep 2011 22:40:47 +0000 (19:40 -0300)]
codecparsers: Move shared code to a parser utils file
Thibault Saunier [Thu, 29 Sep 2011 19:25:29 +0000 (16:25 -0300)]
pkgconfig: remove references to codecparsers from -bad.pc.in
Thiago Santos [Mon, 28 Nov 2011 21:47:50 +0000 (18:47 -0300)]
camerabin2: viewfinderbin: use faster cast macro
Use cast macro without type checks when we know it should work.
Thiago Santos [Mon, 28 Nov 2011 21:43:40 +0000 (18:43 -0300)]
camerabin2: viewfinderbin: Link elements directly to use faster version
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
Thiago Santos [Mon, 28 Nov 2011 19:35:48 +0000 (16:35 -0300)]
camerabin2: micro optimize linking some more
Vincent Penquerc'h [Thu, 29 Sep 2011 21:43:30 +0000 (22:43 +0100)]
kate: support for rendering on several YUV formats
This speeds up rendering a fair bit by not requiring colorspace
conversion, whether there is anything to overlay or not.
The blending code was nicked from textoverlay. I would think
this might be a helpful thing to put in, say, libgstvideo at
some point.
https://bugzilla.gnome.org/show_bug.cgi?id=660528
Vincent Penquerc'h [Thu, 18 Aug 2011 10:39:37 +0000 (11:39 +0100)]
mpeg4videoparse: fix number of bytes read for fixed time increment
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...
https://bugzilla.gnome.org/show_bug.cgi?id=654666
Vincent Penquerc'h [Mon, 28 Nov 2011 15:10:39 +0000 (15:10 +0000)]
mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
Vincent Penquerc'h [Mon, 26 Sep 2011 11:43:27 +0000 (12:43 +0100)]
mpegtsdemux: handle pads with no data
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
Vincent Penquerc'h [Mon, 26 Sep 2011 11:16:30 +0000 (12:16 +0100)]
mpegtsdemux: signal no-more-pads when appropriate
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
Vincent Penquerc'h [Mon, 5 Sep 2011 16:40:07 +0000 (17:40 +0100)]
mpegdemux: take into account offset of first buffer
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.
https://bugzilla.gnome.org/show_bug.cgi?id=657794
Vincent Penquerc'h [Sat, 3 Sep 2011 13:37:40 +0000 (14:37 +0100)]
mpegdemux: fix some more video freezing
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.
Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.
Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S
https://bugzilla.gnome.org/show_bug.cgi?id=655804
Vincent Penquerc'h [Tue, 30 Aug 2011 13:50:52 +0000 (14:50 +0100)]
mpegdemux: catch smaller PTS dicontinuities
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.
This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".
Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.
https://bugzilla.gnome.org/show_bug.cgi?id=655804
Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
Vincent Penquerc'h [Mon, 28 Nov 2011 13:08:27 +0000 (13:08 +0000)]
various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
Julien Isorce [Thu, 6 Oct 2011 15:43:19 +0000 (17:43 +0200)]
rtmp: add WSAStartup and WSACleanup on Win32
https://bugzilla.gnome.org/show_bug.cgi?id=661098
Tim-Philipp Müller [Thu, 24 Nov 2011 13:49:12 +0000 (13:49 +0000)]
aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
Danilo Cesar Lemes de Paula [Fri, 25 Nov 2011 13:41:19 +0000 (11:41 -0200)]
opusenc: Fixing "Unused var" compiling error for opus codec
https://bugzilla.gnome.org/show_bug.cgi?id=664815
Vincent Penquerc'h [Fri, 25 Nov 2011 14:00:18 +0000 (14:00 +0000)]
opusenc: only use mono streams for > 2 channels
I'm getting odd results with packing streams into stereo
streams, and using only mono streams is enough in all cases.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:46:55 +0000 (12:46 +0000)]
opusparse: remove dead assigments
We now only keep a ref to the headers for later reuse.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:40:31 +0000 (12:40 +0000)]
opusenc: do not cause the decoder to apply the channel mapping again
Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion
Mark Nauwelaerts [Fri, 25 Nov 2011 14:49:05 +0000 (15:49 +0100)]
tests: add unit test for voamrwbenc
Tim-Philipp Müller [Fri, 25 Nov 2011 11:37:39 +0000 (11:37 +0000)]
basevideodecoder: some more debug logging
Tim-Philipp Müller [Fri, 25 Nov 2011 11:36:14 +0000 (11:36 +0000)]
vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted
Tim-Philipp Müller [Wed, 23 Nov 2011 20:03:32 +0000 (20:03 +0000)]
basevideodecoder: add API to drop a frame and post a QoS message on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=640017
API: gst_base_video_decoder_drop_frame()
Luciana Fujii Pontello [Wed, 31 Aug 2011 02:39:36 +0000 (23:39 -0300)]
Add pvrvideosink element
PVRVideoSink uses PVR2D library to blit images.
Author: Alessandro Decina <alessandro.decina@collabora.co.uk>
Author: Luciana Fujii <luciana.fujii@collabora.co.uk>
Stefan Sauer [Thu, 24 Nov 2011 18:03:23 +0000 (19:03 +0100)]
audiovisualizers: add aa-line code and user for wave/space-scope
Vincent Penquerc'h [Thu, 24 Nov 2011 13:38:59 +0000 (13:38 +0000)]
opus: pre-skip and output gain are little endian, remove reminder note
Vincent Penquerc'h [Thu, 24 Nov 2011 13:29:56 +0000 (13:29 +0000)]
opus: multichannel support
Vincent Penquerc'h [Wed, 23 Nov 2011 17:49:58 +0000 (17:49 +0000)]
opus: switch to multistream API
It's very similar to the basic API, and is a superset ot it,
which will allow encoding and decoding more than 2 channels.
Vincent Penquerc'h [Wed, 23 Nov 2011 17:32:03 +0000 (17:32 +0000)]
opusdec: shuffle supported sample rates to favor 48000
Vincent Penquerc'h [Wed, 23 Nov 2011 16:36:54 +0000 (16:36 +0000)]
opusenc: remove useless setup field
Vincent Penquerc'h [Wed, 2 Nov 2011 13:25:56 +0000 (13:25 +0000)]
colorspace: fix width/height mismatches
https://bugzilla.gnome.org/show_bug.cgi?id=663238
Sebastian Dröge [Thu, 24 Nov 2011 09:26:25 +0000 (10:26 +0100)]
mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones
Sebastian Dröge [Thu, 24 Nov 2011 09:14:06 +0000 (10:14 +0100)]
mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:09:59 +0000 (10:09 +0100)]
h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:08:27 +0000 (10:08 +0100)]
diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 09:04:30 +0000 (10:04 +0100)]
mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Mark Nauwelaerts [Wed, 23 Nov 2011 22:30:00 +0000 (23:30 +0100)]
faac: do not leak buffer when no encoded data yet or encoding error
Mark Nauwelaerts [Wed, 23 Nov 2011 22:29:10 +0000 (23:29 +0100)]
dtsdec: port to audiodecoder
Tim-Philipp Müller [Wed, 23 Nov 2011 16:01:35 +0000 (16:01 +0000)]
smooth: fix printf format compiler warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664631
Krzysztof Krakowiak [Wed, 23 Nov 2011 12:47:11 +0000 (13:47 +0100)]
modplug: fix modules playing as mono instead of stereo
replaced broken if-return logic for fixating rate and number
of channels that caused that modules were always (after
successful fixation of rate) played as mono (instead of
stereo) by correct one with appropiate warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=619035
Vincent Penquerc'h [Wed, 23 Nov 2011 13:22:12 +0000 (13:22 +0000)]
opusdec: implement replay gain
It would ideally be better to leave this to a rgvolume element,
but we don't control the pipeline. So do it by default, and allow
disabling it via a property, so the correct volume should always
be output.
Vincent Penquerc'h [Wed, 23 Nov 2011 11:58:54 +0000 (11:58 +0000)]
opusdec: add in-band FEC support
This allows reconstruction of lost packets if FEC info is included
in the next packet, at the cost of extra latency. Since we do not
know if the stream has FEC (and this can change at runtime), we
always incur the latency, even if we never lose any frame, or see
any FEC information. Off by default.
René Stadler [Wed, 23 Nov 2011 11:41:32 +0000 (12:41 +0100)]
frei0r: normalize boolean property default values to TRUE/FALSE
Glib barks at us with a warning when we pass e.g. 4.
Edward Hervey [Wed, 23 Nov 2011 10:59:42 +0000 (11:59 +0100)]
pkgconfig: aaand fix my last commit
Edward Hervey [Wed, 23 Nov 2011 10:55:06 +0000 (11:55 +0100)]
pkgconfig: Fix gstreamer-basevideo-uninstalled.pc.in
Stefan Sauer [Wed, 23 Nov 2011 10:31:44 +0000 (11:31 +0100)]
audiovisualizers: update README and TODO comments
Stefan Sauer [Wed, 23 Nov 2011 10:21:15 +0000 (11:21 +0100)]
spacescope: use the drawhelpers and add a draw-style property
Like in wavescope support drawing dots and lines.
Stefan Sauer [Wed, 23 Nov 2011 07:40:49 +0000 (08:40 +0100)]
audiovisualizers: add some simple drawing helpers for reuse
Add a (uninstalled) header with simple drawing macros
Stefan Sauer [Wed, 23 Nov 2011 07:17:05 +0000 (08:17 +0100)]
smoothwave: remove element unported from 0.8
The wavescope element does achieve the same effect.
Stefan Sauer [Wed, 23 Nov 2011 07:14:38 +0000 (08:14 +0100)]
wavescope: add a style property for drawing modes
Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.