Commit graph

14128 commits

Author SHA1 Message Date
Edward Hervey
f3bf40e2b0 mpegtspacketizer: Speed up descriptor parsing/packing
descriptors are stored as a GValueArray of GString. The downside is
that there is no way to "pass" ownership of a GValue to a GValueArray
which previously resulted in expensive copy/free of the (already expensive)
GString.

Here we estimate first the size of the GValueArray, then create it,
then directly use the GValue of that array.

Speeds up total SI parsing by ~30%
2013-06-05 12:49:09 +02:00
Edward Hervey
e6f0986b9e mpegtspacketizer: Use gst_value_list_append_and_take_value
Avoids doing the expensive copy of structures/arrays/...

Speeds up parsing SI by about 50%
2013-06-05 12:48:05 +02:00
Edward Hervey
b378b7e9d6 mpegtspacketizer: Avoid copying GValueArray
Just give the GValueArray to the container GValue.
2013-06-05 11:27:05 +02:00
Sebastian Dröge
1ac128ca3c cruft: Add signalprocessor directory 2013-05-29 09:25:23 +02:00
Branko Subasic
015123f6b4 docs: removed signalprocessor from docs/libs/Makefile.am 2013-05-29 09:25:01 +02:00
Sebastian Dröge
b8cb2b4d79 midiparse: In pull mode drop SEGMENT, CAPS and STREAM_START events
We create and send our own later from another thread.
2013-05-28 15:55:25 +02:00
Sebastian Dröge
357779d3c6 midiparse: Push stream-start event before anything else 2013-05-28 15:55:25 +02:00
Stefan Sauer
668dcf0c09 signalprocessor: ladspa is not using this anymore
When we port lv2, we'll go the same route as the new ladspa plugin.
2013-05-28 10:27:17 +02:00
Stefan Sauer
3d72bc2bd9 ladspa: fix typos in launch examples 2013-05-28 10:27:17 +02:00
Stefan Sauer
f65bdac49b ladspa: use the registry cache for plugin details
Split the introspection and registration part. This way we only need to open all
plugins when updating the registry. When reading the registry we can register
the elements entierly from the cache.
2013-05-28 10:27:17 +02:00
Miguel Casas-Sanchez
407f3e1856 opencv: Add colour image enhancement element based on Retinex algorithm
Add colour image enhancement element based on Retinex algorithm. Two types
exist, namely basic and multiscale; both are described in this article:

Rahman, Zia-ur, Daniel J. Jobson, and Glenn A. Woodell. "Multi-scale retinex
for color image enhancement." Image Processing, 1996. Proceedings.,
International Conference on. Vol. 3. IEEE, 1996

Visually speaking the result looks a bit funny, but is pretty invariable to
lightning changes, which is good for some applications, like image
segmentation.

https://bugzilla.gnome.org/show_bug.cgi?id=700977
2013-05-27 11:27:20 +02:00
Stefan Sauer
116f7c0a77 audiochannelmix: fill in the author template
The copyright header still contained the author template.
2013-05-26 14:29:54 +02:00
Michael Rubinstein
e6c8224609 mpegtsdemux: Free memory behind GString if we don't use it
https://bugzilla.gnome.org/show_bug.cgi?id=700903
2013-05-25 15:49:21 +02:00
Patricia Muscalu
8303561bd9 curlsmtpsink: terminate transfer thread properly
If no EOS has been sent, the curl readfunc callback will
return ABORT. The media file in that case will not be properly
finalized.

https://bugzilla.gnome.org/show_bug.cgi?id=700886
2013-05-24 23:47:50 +01:00
Andoni Morales Alastruey
a666843005 directdrawsink: update window width/height when it's not done in WndProc 2013-05-24 09:39:10 +02:00
Andoni Morales Alastruey
578b58e490 directdrwasink: call previous WndProc if any 2013-05-24 09:39:10 +02:00
Andoni Morales Alastruey
f4f4a8a0f3 directdrawsink: respect PAR with coordinates 2013-05-24 09:39:10 +02:00
Andoni Morales Alastruey
3eaa4128cc applemedia-nonpublic: fix symbols redefinition for objc files 2013-05-24 09:39:10 +02:00
Andoni Morales Alastruey
0690238c59 applemedia: fix duplicated symbols with applemedia 2013-05-24 09:39:10 +02:00
Edward Hervey
ce441cbff7 mpegtsbase: Post an error message when EOS'ing without source pads
This ensures we don't "hang" when files can't be decoded, or contain
no valid streams.
2013-05-23 14:59:34 +02:00
Edward Hervey
7837cab44e tsdemux: Demote a warning to debug level
We will get it for virtually every first packets.
2013-05-23 14:59:34 +02:00
Edward Hervey
f7893fb63e codecparsers: Actually store mpeg video bitrate value
And use the extension also (higher 12 bits)
2013-05-23 14:59:33 +02:00
Miguel Casas-Sanchez
ac4efd2914 opencv: Add skin color detection element
https://bugzilla.gnome.org/show_bug.cgi?id=700654
2013-05-23 11:05:28 +02:00
Andoni Morales Alastruey
5f4ac8c58f vtdec: simplify caps setting 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
2f36ffb7d0 applemedia: fix H264 streams with b-frames
The decoder output frames in DTS order, even with the flag
kVTDecodeFrame_EnableTemporalProcessing. We store a internal
queue of the decoded frames and push them PTS order.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
3b249f6761 applemedia: fix segfault with dropped frames 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
d9db0c2d4a applemedia: improve usage of the VT API
Add timing information to CV samples and pass the GstBuffer
as extra data in the decode function
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
db49a77682 applemedia: add support for MPEG-1 too 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
9645d1df2d applemedia: add support for MPEG-2 decoding 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
5e09d61638 applemedia: use the best colorformat on each platform
This saves a colorspace conversion before the sink in OS X
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
c69f41d299 applemedia: replace private function with its public variant
FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom
is an un-documented private function which might change its signature
as it already did in the past. Replace it with
CMVideoFormatDescriptionCreate and the also un-documented Extensions
dictionary.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
9b168e6b4d applemedia: remove the unneeded buffer factory 2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
97bb1edf6c applemedia: don't use the dynamic API for public frameworks
Public frameworks don't need to build the API dynamically, we instead
use the framework directly.
The exception is for VideoToolbox which went public in the 10.8 SDK,
but it's still private in older version of the SDK and iOS. This allow
building the plugin against SDK's where it's not a public framework.
2013-05-20 13:31:02 +02:00
Andoni Morales Alastruey
57b97beb6d applemedia: move plugins using private frameworks to applemedia-nonpublic 2013-05-20 13:31:02 +02:00
Sebastian Dröge
e66f097f37 androidmedia: Fix indention 2013-05-20 13:24:07 +02:00
Chen Jie
0a90994b99 androidmedia: fix a minor error in COLOR_FormatYUV420Planar converting
https://bugzilla.gnome.org/show_bug.cgi?id=700521
2013-05-20 13:23:52 +02:00
David Schleef
15f4154b6a element-maker: Add transform functions to audiofilter 2013-05-18 14:02:18 -07:00
David Schleef
35018ae632 audiofx: Add plugin, add audiochannelmix 2013-05-18 14:02:18 -07:00
David Schleef
127fcf05a7 flitetestsrc: audio format is "S16" not "s16" 2013-05-18 14:02:18 -07:00
Tim-Philipp Müller
a204ddd225 videosignal: fix CFLAGS order 2013-05-18 12:21:59 +01:00
Thiago Santos
d434f36245 dashdemux: send stream start event
Removes warnings about strict sticky events ordering
2013-05-17 21:23:55 -03:00
Thiago Santos
750137c4be mssdemux: fix wma pro caps creation
WmaPro is actually wmaversion 3, and can also be found by the
WMAP fourcc.

Some manifests also contain the block_align field as "PacketSize"
in the audio track description, the libav decoders require it
to be present in caps.

Fixes #699921
2013-05-17 12:08:10 -03:00
Thiago Santos
504142ea93 mssdemux: fix assertions when a stream caps can't be created
Fixes two assertions related to cleanup for a pad that couldn't
be exposed because the caps couldn't be identified from the
Manifest

Fixes #699921
2013-05-17 11:37:30 -03:00
Thiago Santos
ef66e39d03 eagl: fix handling of surface dimension changes
Detect when the eagl surface changed its dimension (when the user rotates
the device for example) and adapt the egl internals to draw to that,
preventing that ios resizes the image again when drawing.

This is particularly harmful when eagl would scale down a image
to draw and the ios screen would scale it back up because the
surface is now bigger than when the element was configured.
2013-05-16 15:16:30 -03:00
Thiago Santos
27d726fbfa mssdemux: parse block_align, channels and rate from waveformatex if possible
wma v2 expects block_align, channels and rate fields set to its caps.
This isn't present direclty on the manifests, so mssdemux should parse
it from the waveformatex structure

https://bugzilla.gnome.org/show_bug.cgi?id=699924
2013-05-16 15:00:39 -03:00
Thiago Santos
f74f9cd3ab mssdemux: add bitrate info to audio streams
bitrate info is always present on the QualityLevel xml node as part
of the adaptive selection processing, put it into caps as some
decoders require it (avdec_wmav2 for example)

https://bugzilla.gnome.org/show_bug.cgi?id=699924
2013-05-16 15:00:39 -03:00
Thiago Santos
62860f4fa9 mssdemux: send stream id and newsegment before pushing data
Fixes sticky events ordering warnings when data is pushed

https://bugzilla.gnome.org/show_bug.cgi?id=699924
2013-05-16 15:00:39 -03:00
Olivier Crête
220f075423 dashdemux: Announce correct mpegts caps 2013-05-15 22:24:29 -04:00
Olivier Crête
d0524c0579 insertbin: Annotate callback scopes 2013-05-15 20:03:30 -04:00
Nicolas Dufresne
4c4fc14afc mimic: Ensure segment is sent before caps and buffer
https://bugzilla.gnome.org/show_bug.cgi?id=700420
2013-05-15 19:30:40 -04:00