Thiago Santos [Fri, 8 Jan 2010 13:44:44 +0000 (10:44 -0300)]
avidemux: Simplifying code
Greatly simplify the IDIT chunk handling by using sscanf
instead of 'manually' parsing. Also replaces strncasecmp and
is_alpha/is_digit with glib versions.
Thiago Santos [Fri, 8 Jan 2010 13:18:30 +0000 (10:18 -0300)]
avidemux: it's feb for february
Fix typo in last commit.
Thiago Santos [Fri, 8 Jan 2010 12:17:22 +0000 (09:17 -0300)]
avidemux: Parse and post IDIT dates
Parses and post date tags contained in IDIT chunks.
Fixes #503582
Sebastian Dröge [Thu, 7 Jan 2010 16:25:05 +0000 (17:25 +0100)]
audiofxbasefirfilter: Add property for not draining the history on kernel changes
Currently this only works if the kernel size doesn't change, in the future
it will be possible to change the kernel size too without draining
the complete history and without loosing anything.
Partially based on a patch by
Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Wim Taymans [Thu, 7 Jan 2010 15:58:55 +0000 (16:58 +0100)]
rtph264pay: remove weird memcmp code
Use plain memcmp for comparing memory instead of the custom buggy one.
Fixes #606198
Edward Hervey [Thu, 7 Jan 2010 14:38:36 +0000 (15:38 +0100)]
level: fix typo in 'message' property description
Mark Nauwelaerts [Wed, 6 Jan 2010 13:06:14 +0000 (14:06 +0100)]
flacdec: really use upstream timestamp if there is one
See/fixes #603471.
Wim Taymans [Wed, 6 Jan 2010 12:45:59 +0000 (13:45 +0100)]
rtpg728pay: remove unused adapter peek
Thiago Santos [Tue, 5 Jan 2010 22:00:35 +0000 (19:00 -0300)]
deinterlace: Improve passthrough tests
Improve passthrough tests by forcing more specific
interlaced/deinterlaced caps to be tested
Thiago Santos [Tue, 5 Jan 2010 21:22:49 +0000 (18:22 -0300)]
deinterlace: Adds some docs to the new tests
Adds some docs explaining the utility functions of the check
tests of deinterlace
Thiago Santos [Tue, 5 Jan 2010 21:14:08 +0000 (18:14 -0300)]
deinterlace: Adds tests for passthrough
Adds tests for checking if the element really does
passthrough in disabled mode and in auto (if the input is
not interlaced)
Thiago Santos [Tue, 5 Jan 2010 10:50:51 +0000 (07:50 -0300)]
deinterlace: Adds tests for caps acceptance
Adds check unit tests for deinterlace for validating
caps accepting and the expected caps output on the
other pad
Thiago Santos [Mon, 4 Jan 2010 16:43:00 +0000 (13:43 -0300)]
deinterlace: Adds basic check test
Adds a basic check test for deinterlace element
Michael Smith [Mon, 4 Jan 2010 23:44:28 +0000 (15:44 -0800)]
qtdemux: Add support for wave-style audio in qt.
Uses gstriff to parse the wave headers appropriately. Tested with MS-ADPCM
content.
Olivier Crête [Thu, 31 Dec 2009 22:09:03 +0000 (17:09 -0500)]
tests: Add G.729 RTP payloader/depayloader test
https://bugzilla.gnome.org/show_bug.cgi?id=606050
Olivier Crête [Thu, 31 Dec 2009 21:52:30 +0000 (16:52 -0500)]
rtpg729pay: Simplify adapter usage
https://bugzilla.gnome.org/show_bug.cgi?id=606050
Olivier Crête [Thu, 31 Dec 2009 21:27:30 +0000 (16:27 -0500)]
rtpg729pay: Support ptime from caps
https://bugzilla.gnome.org/show_bug.cgi?id=606050
Olivier Crête [Wed, 2 Dec 2009 14:05:21 +0000 (19:35 +0530)]
rtp: Add maxptime to the README
https://bugzilla.gnome.org/show_bug.cgi?id=606050
Wim Taymans [Tue, 5 Jan 2010 18:03:06 +0000 (19:03 +0100)]
rtpg723depay: add G723 depayloader
Wim Taymans [Tue, 5 Jan 2010 18:02:39 +0000 (19:02 +0100)]
rtpg729depay: remove unused variable
Wim Taymans [Tue, 5 Jan 2010 17:33:25 +0000 (18:33 +0100)]
rtpg723pay: rewrite payloader
Handle all 3 packet sizes according to RFC 3551.
Totally untested, we don't have a G723 encoder.
Fixes #605882
Wim Taymans [Tue, 5 Jan 2010 10:47:20 +0000 (11:47 +0100)]
qtdemux: fix chunk counter
Wim Taymans [Mon, 4 Jan 2010 18:44:53 +0000 (19:44 +0100)]
qtdemux: more work at reducing loop overhead
Try to avoid derefs when parsing the index. Save the state into the structures
when we exit the loop instead of for each iteration.
Wim Taymans [Mon, 4 Jan 2010 15:33:30 +0000 (16:33 +0100)]
qtdemux: cleanups and make duration more accurate
Make the QtDemuxSample struct smaller by keeping the duration and the pts_offset
as their 32 bit values.
Make some macros to calculate PTS, DTS and duration of a sample.
Deref the sample index less often by keeping a ref to the sample we're dealing
with.
Wim Taymans [Mon, 4 Jan 2010 12:41:18 +0000 (13:41 +0100)]
qtdemux: simplify logic to calculate duration
Since we no longer store the timestamp and duration in nanoseconds, we can now
simply store the duration as-is.
Robert Swain [Fri, 1 Jan 2010 15:42:57 +0000 (16:42 +0100)]
qtdemux: Store timestamps in mov format in the index
This allows faster building of the index upon seeks so that scaling of
timestamps only occurs when actually needed.
Wim Taymans [Fri, 18 Dec 2009 12:54:46 +0000 (13:54 +0100)]
qtdemux: make seeking in push mode work
Move sample position checks into qtdemux_parse_samples where we can protect it
with a lock.
Refactor and make an qtdemux_ensure_index function.
Rename qtdemux_do_push_seek to qtdemux_seek_offset in order to avoid confusion
with gst_qtdemux_do_push_seek.
Wim Taymans [Fri, 18 Dec 2009 11:44:27 +0000 (12:44 +0100)]
qtdemux: move error code out of normal flow
Robert Swain [Tue, 24 Nov 2009 15:27:26 +0000 (16:27 +0100)]
qtdemux: Add push mode seek support for seeking to obtain the moov atom
Wim Taymans [Tue, 5 Jan 2010 11:22:09 +0000 (12:22 +0100)]
rtspsrc: fix on-npt-stop signal warnings for RDT
The RDT manager does not implement this signal so we need to check for it before
trying to connect to it.
Tim-Philipp Müller [Tue, 5 Jan 2010 09:47:00 +0000 (09:47 +0000)]
v4l2src: fix memory leak in new uri handler code
Don't leak a string everytime get_uri() is called and a device
has been set. There's a limited number of devices, so just
intern the string instead of doing more elaborate housekeeping
and storing it in the instance struct or so.
Stefan Kost [Fri, 1 Jan 2010 12:10:49 +0000 (14:10 +0200)]
avimux: fix typo in warning message
Robert Weidlich [Mon, 4 Jan 2010 12:28:36 +0000 (09:28 -0300)]
shout2send: Add 'public' property
Adds a property to set 'public' flag on libshout, making
the stream listed on the server's stream directory.
Fixes #605269
Arun Raghavan [Wed, 30 Dec 2009 08:44:55 +0000 (14:14 +0530)]
qtdemux: Add tags for average and maximum bitrate
Fixes #599300.
Thiago Santos [Sat, 26 Dec 2009 19:59:14 +0000 (16:59 -0300)]
audiofxbasefirfilter: do not try to alloc really large buffers
When nsamples_out is larger than nsamples_in, using unsigned
ints lead to a overflow and the resulting value is wrong and
way too large for allocating a buffer. Use signed integers
and returning immediatelly when that happens.
Wim Taymans [Fri, 25 Dec 2009 11:38:35 +0000 (12:38 +0100)]
videomixer: optimize blend code some more
Use more efficient formula that uses less multiplies.
Reduce the amount of scalar code, use MMX to calculate the desired
alpha value.
Unroll and handle 2 pixels in one iteration for improved pairing.
Wim Taymans [Thu, 24 Dec 2009 21:59:09 +0000 (22:59 +0100)]
videomixer: scale and clamp
Scale and clamp to the max alpha values.
Wim Taymans [Thu, 24 Dec 2009 21:50:31 +0000 (22:50 +0100)]
alpha: scale and clamp alpha to its full extend
Convert the alpha value to 0->255 when setting and to 0->256 when using as
a scaling factor. This makes sure we can reach the full opacity value of 0xff in
all cases.
Wim Taymans [Thu, 24 Dec 2009 21:23:01 +0000 (22:23 +0100)]
rtspsrc: fix some comments, remove property check
Fix some comments, clarify some FIXMEs
Remove the on-ntp-stop signal check now that the jitterbuffer is in
-good and we know that it supports this signal.
Wim Taymans [Thu, 24 Dec 2009 19:27:57 +0000 (20:27 +0100)]
videomixer: some trivial cleanups
Thiago Santos [Thu, 24 Dec 2009 20:04:28 +0000 (17:04 -0300)]
rtspsrc: Parse all rtpinfo entries
Do not forget to parse all rtp-info entries, instead of
parsing the first one only.
Fixes #605222
Thiago Santos [Tue, 22 Dec 2009 15:44:50 +0000 (12:44 -0300)]
qtdemux: perf tag should map to GST_TAG_ARTIST
Wim Taymans [Thu, 24 Dec 2009 16:03:02 +0000 (17:03 +0100)]
interleave: fix weird indentation
Wim Taymans [Thu, 24 Dec 2009 16:01:54 +0000 (17:01 +0100)]
rtph263ppay: use faster _adapter_copy() whem possible
Wim Taymans [Thu, 24 Dec 2009 16:01:15 +0000 (17:01 +0100)]
tests: use right type when passing vararg value
Mark Nauwelaerts [Wed, 23 Dec 2009 16:50:34 +0000 (17:50 +0100)]
flacdec: use a single decoder field for both push and pull mode
Mark Nauwelaerts [Wed, 23 Dec 2009 16:03:32 +0000 (17:03 +0100)]
flacdec: fix possible hanging in pull mode seeking
A seek in multi-sink pipeline typically leads to several seek events in a row,
which could lead to sending several newsegments in a row without intermediate
flushing. These would then accumulate, distort rendering times and as such
lead to 'hanging'.
Mark Nauwelaerts [Wed, 23 Dec 2009 18:39:05 +0000 (19:39 +0100)]
rtph264pay: fix uninitialized variable
Wim Taymans [Wed, 23 Dec 2009 12:09:54 +0000 (13:09 +0100)]
rtp: use boilerplate
Wim Taymans [Tue, 22 Dec 2009 23:38:05 +0000 (00:38 +0100)]
rtpL16pay: convert to baseaudiopayload
Use GstRTPBaseAudioPayload as the base class. This saves a lot of code and fixes
a bunch of problems that were already solved in the base class.
Fixes #853367
Wim Taymans [Tue, 22 Dec 2009 23:30:49 +0000 (00:30 +0100)]
rtppcmapay: the boilerplate macro sets parent_class
Wim Taymans [Tue, 22 Dec 2009 21:27:21 +0000 (22:27 +0100)]
rtpbin: avoid some structure copies
Don't make copied in the getter and setter for SDES in the RTPSource. This
avoids a couple of copies of the SDES structure when generating RTCP
packets.
Pascal Buhler [Mon, 31 Aug 2009 16:42:25 +0000 (18:42 +0200)]
rtpmanager: improve SDES handling
Store SDES internally as a struct to support multiple PRIV values.
Include all values set in SDES struct when sending RTCP SDES.
Wim Taymans [Tue, 22 Dec 2009 13:41:35 +0000 (14:41 +0100)]
rtph263depay: add some fixmes
Wim Taymans [Tue, 22 Dec 2009 13:35:13 +0000 (14:35 +0100)]
rtph263depay: baseclass handles timestamps for us
Wim Taymans [Tue, 22 Dec 2009 13:27:40 +0000 (14:27 +0100)]
rtph263depay: reset start variable properly
Marco Ballesio [Fri, 29 May 2009 12:49:27 +0000 (15:49 +0300)]
Drop the whole frame if a packet is lost.
Fixes #582575
Wim Taymans [Mon, 21 Dec 2009 19:39:53 +0000 (20:39 +0100)]
rtph264pay: add option to insert PPS/SPS in streams
Add a new spspps-interval property to instruct the payloader to insert
SPS and PPS at periodic intervals in the stream.
Rework the SPS/PPS handling so that bytestream and AVC sample code both use the
same code paths to handle sprop-parameter-sets. This also allows to have the AVC
code to insert SPS/PPS like the bytestream code.
Fixes #604913
Mark Nauwelaerts [Mon, 21 Dec 2009 18:12:22 +0000 (19:12 +0100)]
Automatic update of common submodule
From 47cb23a to 14cec89
Jonathan Conder [Mon, 21 Dec 2009 15:01:53 +0000 (12:01 -0300)]
qtdemux: Adds new tags
Adds some new tags mapping to qtdemux.
Fixes #599759
Wim Taymans [Mon, 21 Dec 2009 14:05:09 +0000 (15:05 +0100)]
rtpbin: add property to remove pads automatically
Add a property called autoremove to automatically remove the pads of sources
that timed out.
Fixes #554839
Wim Taymans [Mon, 21 Dec 2009 13:55:16 +0000 (14:55 +0100)]
ssrcdemux: fix comparison
A NULL means no pad was found.
Edward Hervey [Sun, 8 Nov 2009 10:49:14 +0000 (11:49 +0100)]
v4l2src: Add GstURIHandler interface. Fixes #601143
This allows using v4l2://[<device>]
Michael Smith [Mon, 21 Dec 2009 01:24:47 +0000 (17:24 -0800)]
multiudpsink: pass length parameter to g_convert
Edward Hervey [Fri, 18 Dec 2009 11:44:50 +0000 (12:44 +0100)]
matroska: Fix unitialized variable.
Yes, it's stupid, but macosx compilers are even more stupid.
Sebastian Dröge [Thu, 17 Dec 2009 15:01:25 +0000 (16:01 +0100)]
videomixer: Fix assembly compilation on x86
Fixes bug #604814.
Branko Čibej [Thu, 17 Dec 2009 16:37:03 +0000 (17:37 +0100)]
rganalysis: fix timestamp rounding
Use scaling function to round and avoid overflows.
Fixes #604352
Tiago Katcipis [Thu, 17 Dec 2009 16:27:42 +0000 (17:27 +0100)]
rtp: add G723 payloader
Fixes #597823
Wim Taymans [Thu, 17 Dec 2009 15:22:56 +0000 (16:22 +0100)]
qtdemux: Fix ALAC codec_data parsing
Fixes #604611
Thiago Santos [Wed, 16 Dec 2009 20:28:30 +0000 (17:28 -0300)]
qtdemux: Remove cpp style coments
Removes // comments and replace them with /* */ comments
Mark Nauwelaerts [Wed, 16 Dec 2009 11:48:02 +0000 (12:48 +0100)]
matroskademux: also consider BlockNumber indicated in index when seeking
Mark Nauwelaerts [Wed, 16 Dec 2009 11:43:27 +0000 (12:43 +0100)]
matroskademux: support push based mode
Fixes #598610.
Mark Nauwelaerts [Wed, 16 Dec 2009 11:44:36 +0000 (12:44 +0100)]
matroskademux: fix ebml read cache usage
Sebastian Dröge [Wed, 16 Dec 2009 09:50:32 +0000 (10:50 +0100)]
videomixer: Use movzbl instead of movzxb for moving one byte to a l register
For some reason latest gcc/binutils accept movzxb here while
movzbl would be correct and is the only thing accepted by older
gcc/binutils.
Fixes bug #604679.
Sebastian Dröge [Wed, 16 Dec 2009 05:59:01 +0000 (06:59 +0100)]
videomixer: src/dest are input and output of the AYUV blending MMX assembler
Sebastian Dröge [Tue, 15 Dec 2009 17:18:54 +0000 (18:18 +0100)]
audiowsincband: Use the same upper length limit as audiowsinclimit
Sebastian Dröge [Sat, 12 Dec 2009 16:00:50 +0000 (17:00 +0100)]
audiowsinc{limit,band}: Allow much larger filter lengths now
Sebastian Dröge [Fri, 11 Dec 2009 11:27:32 +0000 (12:27 +0100)]
audiofxbasefirfilter: Fix frequency response calculation
Sebastian Dröge [Tue, 8 Dec 2009 13:57:02 +0000 (14:57 +0100)]
audiofxbasefirfilter: Remove dead assignments
Sebastian Dröge [Sun, 6 Dec 2009 15:58:51 +0000 (16:58 +0100)]
audiofxbasefirfilter: Add special processing functions for Mono/Stereo
This provides another 7% speedup for the time domain convolution and 1.5%
speedup for the FFT convolution on Mono input.
This optimization assumes that the compiler simplifies calculations
and conditions on constant numbers and unrolls loops with a constant
number of repeats.
Sebastian Dröge [Fri, 4 Dec 2009 08:25:49 +0000 (09:25 +0100)]
audiofxbasefirfilter: Add a "low-latency" mode
This will always use time-domain convolution, which lowers the latency.
With FFT convolution it's always a multiple of the kernel length,
with time domain convolution it's only the pre-latency of the filter kernel.
Sebastian Dröge [Fri, 4 Dec 2009 08:00:22 +0000 (09:00 +0100)]
audiofxbasefirfilter: Remove obsolete TODO comments
Sebastian Dröge [Thu, 3 Dec 2009 19:12:01 +0000 (20:12 +0100)]
audiofxbasefirfilter: Use samples everywhere instead of samples*channels sometimes
Sebastian Dröge [Thu, 3 Dec 2009 16:27:13 +0000 (17:27 +0100)]
audiofxbasefirfilter: FFT convolution implementation
This provides a great speedup, especially the relationship between kernel
length and processing size is now logarithmic instead of linear. Below a
kernel size of 32 it's a bit slower, afterwards it's much faster:
17 0.788000 -> 0.950000
33 1.208000 -> 1.146000
65 2.166000 -> 1.146000
...
4097 107.444000 -> 1.508000
For sizes smaller 32 the normal time-domain convolution is chosen,
for larger sizes the FFT convolution is automatically used.
Fixes bug #594381.
Sebastian Dröge [Fri, 27 Nov 2009 19:33:14 +0000 (20:33 +0100)]
audiofxbasefirfilter: Make most code parts independent of the processing functions and used convolution algorithm
Only remaining part is the residue pushing, which will be fixed later.
Sebastian Dröge [Thu, 26 Nov 2009 14:17:27 +0000 (15:17 +0100)]
audiofxbasefirfilter: Optimize time-domain convolution
Remove some redundant calculations, move comparisions out of
inner loops, etc.
This makes the convolution about 3 (!) times faster but
processing time is of course still proportional to the
filter size.
Sebastian Dröge [Thu, 26 Nov 2009 09:45:37 +0000 (10:45 +0100)]
audiofxbasefirfilter: Use _CAST macros in some places and do some calculations only once
Sebastian Dröge [Wed, 25 Nov 2009 17:12:05 +0000 (18:12 +0100)]
audiofxbasefirfilter: Rewrite timestamp tracking
It's much simpler now and doesn't introduce accumulating rounding
errors.
Sebastian Dröge [Wed, 25 Nov 2009 16:39:53 +0000 (17:39 +0100)]
audiofxbasefirfilter: Rename some variables and change comments
Sebastian Dröge [Tue, 24 Nov 2009 19:06:25 +0000 (20:06 +0100)]
audiofxbasefirfilter: Add const qualifier to the source data array
Sebastian Dröge [Mon, 14 Dec 2009 19:08:06 +0000 (20:08 +0100)]
videomixer: Add MMX implementations of the AYUV blending and color filling functions
This provides a 20% speedup for blending and 100% for color filling.
The blending can probably be optimized even more.
Tim-Philipp Müller [Sun, 13 Dec 2009 13:19:43 +0000 (13:19 +0000)]
id3demux: prefer two letter ISO 639-1 code for extended comment
Tim-Philipp Müller [Sun, 13 Dec 2009 13:10:12 +0000 (13:10 +0000)]
qtdemux: fix up language code extraction some more
Quicktime uses ISO 639-2 for language codes, but GST_TAG_LANGUAGE
is supposed to hold a ISO 639-1 code, so convert as needed using
the new API from -base.
See #602126.
Tim-Philipp Müller [Sun, 13 Dec 2009 12:45:22 +0000 (12:45 +0000)]
matroska: fix language code writing and extraction
Matroska uses three-letter ISO 639-2B codes, but GST_TAG_LANGUAGE is
supposed to contain two-letter ISO 639-1 codes, so use new language
code mapping functions in -base to convert between those two as
needed.
Fixes #505823.
Tim-Philipp Müller [Mon, 7 Dec 2009 20:54:07 +0000 (20:54 +0000)]
avidemux: minor debug message changes
Fix up a few debug messages so that it's clearer what they mean.
Thiago Santos [Sat, 12 Dec 2009 20:44:04 +0000 (17:44 -0300)]
Revert "qtdemux: Correctly parse classification tags"
This reverts commit
cd883aa60c1133196a6ae052884d15c295c37dde.
Previous code was correct, 4 is due to table and language code,
not only language code
Thiago Santos [Sat, 12 Dec 2009 19:28:36 +0000 (16:28 -0300)]
qtdemux: Correctly parse classification tags
In clsf atoms, the language code is 2 bytes long, not 4.
Sebastian Dröge [Sat, 12 Dec 2009 15:55:13 +0000 (16:55 +0100)]
videomixer: Dequeue current buffer on FLUSH_STOP and don't unref NULL buffers
... NULL buffers shouldn't really happen anymore when popping the
buffer from GstCollectPads but better check for this and print a warning.
Sebastian Dröge [Fri, 11 Dec 2009 12:11:12 +0000 (13:11 +0100)]
videomixer: Fix stupid mistake in last commit
Sebastian Dröge [Fri, 11 Dec 2009 11:35:59 +0000 (12:35 +0100)]
videomixer: Don't do floating point math in the inner processing loop for I420 blending