Commit graph

3059 commits

Author SHA1 Message Date
Thiago Santos
69151f6850 jifmux: Make it more colorspace smart
This makes it able to recombine rgb images, making it possible
to add tags to rgb jpegs as well.

Uses a simple strategy to check what are the possible colorspaces
and avoid adding jfif to ones that aren't YUV/Gray.
2010-09-07 14:45:12 -03:00
Robert Swain
141f728169 interlace: Fix element details 2010-09-07 13:32:26 +02:00
Mark Nauwelaerts
a5eaa99297 baseparse: non-TIME seek event is simply not handled 2010-09-06 15:20:10 +02:00
Youness Alaoui
9823b9358e dtmfsrc: Make the dtmfsrc accept events sent with gst_element_send_event
The doc says to use gst_element_send_event on the pipeline, but if
we are to call it on the element itself, it's a noop. This should make it
handle the event properly before delegating it to basesrc.
2010-09-06 13:45:44 +03:00
David Schleef
aa3fa6a542 interlace: Add documentation 2010-09-06 03:25:15 -07:00
Sebastian Dröge
6bc160a0dc fpsdisplay: Use G_GUINT64_FORMAT instead of %llu
Fixes compiler warnings on 64 bit architectures.
2010-09-06 10:29:21 +02:00
Stefan Kost
bbfff812bf inputselector: sync with copy in -base
Use _get_caps_reffed to avoid copies.
2010-09-06 11:03:07 +03:00
Stefan Kost
eca2e20945 outputselector: move the debug init to the boilerplate macro 2010-09-06 10:24:07 +03:00
Stefan Kost
b142b7a8c5 inputselector: use GST_BOILERPLATE macro 2010-09-06 10:24:07 +03:00
Stefan Kost
10776e474d fpsdisplaysink: don't add a g_mainloop dependency
Just update the fps-message from the probe handler.
2010-09-06 10:24:06 +03:00
Stefan Kost
9a03a43696 fpsdisplaysink: small cleanup
Add one one example and lower the fon't size for the overlay.
2010-09-06 10:24:06 +03:00
Rob Clark
60c963f0ac fpsdisplaysink: measure fps in terms of wall clock time
Measure fps in terms of system clock, rather than pipeline clock, to get
an accurate meaure of fps.
2010-09-06 10:24:06 +03:00
David Schleef
813a2235b5 checksumsink: Add new element 2010-09-05 22:50:06 -07:00
David Schleef
d759c92bb3 ssim: Add I420 support 2010-09-05 22:50:06 -07:00
David Schleef
5db2beeb49 interlace: Add more formats 2010-09-05 22:50:06 -07:00
Thiago Santos
9ae921f888 camerabin: Use jifmux instead of metadatamux
Use jifmux element to write exif/xmp tags instead of metadatamux
2010-09-05 09:15:56 -03:00
Thiago Santos
bcc59439bc camerabin: Use new tags from -base
Replace private tags from metadata plugin with the new generic tags
from -base.
2010-09-05 09:15:56 -03:00
Thiago Santos
27333b0ef2 jifmux: Do not limit the size of the image on 16bits
Use guint instead of guint16 to represent the size of the encoded image,
this would make some recombined images lose most of their data and
show like a big black image with a small line of content on top.

Also adds a minor log message.
2010-09-05 09:15:55 -03:00
Thiago Santos
f664fd9c04 jifmux: Set output pad caps
Set output pad caps to guarantee caps on the buffers being
pushed downstream.
2010-09-05 09:15:55 -03:00
Thiago Santos
d49acb5588 jifmux: Detect EOI correctly
EOI are not always at the last 4 bytes. We need to search
the last 5 bytes to find the 0xFFD9 sequence as jpegenc seems
to round the buffer size to the next 4 multiple.
2010-09-05 09:15:55 -03:00
Thiago Santos
ba15ad9387 jifmux: Put APP0 first always
Fixes the order of the APP0/APP1 markers. APP0 should
be first.
2010-09-05 09:15:55 -03:00
David Schleef
7ce0ca6c89 interlace: new element 2010-09-04 11:22:26 -07:00
Andoni Morales Alastruey
4668330bdc mpegtsmux: Initialize PES packet before getting the header size.
The PES header length is calculated before setting the dynamic flags, returning
a wrong value. Small frames that should be sent in a single TS packet are
spawned to a new packet because of that error. For audio streams where a single
frame can cope in one TS packet it introduces a huge overhead.

For a 100B packet, we prepare a TS packet with a payload of(100+9)B. Then, we
write the TS header using this value in tsmux_write_ts_header, and call
tsmux_stream_get_data(). The dynamic flags where not set yet and now
tsmux_stream_pes_header_length() returns 14B instead of 9B. The payload of the
TS packet is 114B, 5B more than what was calculated. 109B are sent in a first
packet and the remaining 5B are sent in another one.

Fixes bug #628548.
2010-09-04 15:01:30 +02:00
Thibault Saunier
98e6f113f6 videoanalyse: Use correct element classification
This is no effect but an analyzer. Fixes bug #628527.
2010-09-04 15:01:30 +02:00
Youness Alaoui
5cc57a82f0 rtpmux: Unlock the right mutex
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991
2010-08-30 15:15:50 +02:00
Mark Nauwelaerts
0ee6ce901d qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.
2010-08-21 21:15:21 +02:00
Thiago Santos
407f615887 jifmux: Avoid recombining RGB jpegs
JFIF only allows YUV as colorspace, when we receive an RGB jpeg,
we should just push it forward without adding the JFIF marker.

Fixes #627413
2010-08-21 21:08:13 +02:00
Olivier Crête
db44c62acb gaudieffects: Mark inline functions as static inline
Otherwise it fails to correctly link them in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=626670
2010-08-12 09:14:10 +01:00
Sebastian Dröge
5ad7ff9482 legacyresample: Link against $(LIBM) for rint() and friends 2010-08-11 11:52:44 +02:00
Sebastian Dröge
e71baf7f9d invtelecine: Link against $(LIBM) for sqrt() and friends 2010-08-11 11:50:05 +02:00
Filippo Argiolas
fd4a629825 geometrictransform: add a "zoom" parameter to square filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
4cec7d10cd geometrictransform: make square "width" and "height" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
2a9b456dab geometrictransform: add a "mode" property to mirror filter
Add a "mode" enum property to mirror that defines how to split the frame
and with side reflect.

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
a72b2f5849 geometrictransform: add a "zoom" parameter to bulge filter
Rework bulge mapping function to give more predictable results.
Now the bulge is done dividing by a scale factor that smoothsteps from
"zoom" at the center to 1.0 at "radius".

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
58b76ac56c geometrictransform: add an "intensity" parameter to stretch filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
7be30c3daf geometrictransform: make tunnel "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
1652a3ef57 geometrictransform: make bulge "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
27134c6e38 geometrictransform: make stretch "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Sebastian Dröge
6050642add frei0r: Only check the plugin filenames, not the directory names 2010-08-08 12:01:31 +02:00
Sebastian Dröge
1e3ec9e3bd frei0r: Don't try to register/load the same frei0r plugin at different locations twice
This could happen because for example /usr/lib is linked
to /usr/lib64 and both are loaded. The frei0r specification
says that the plugin init function must only be called once
and for some plugin weird things (including crashes) are
happening.

Fixes bug #623710.
2010-08-08 11:56:42 +02:00
Olivier Crête
3579c1164b frei0r: Load plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
Loads the plugins in more paths where they could be installed by
multilib distributions.

Fixes #623710
2010-08-06 03:19:16 +02:00
Filippo Argiolas
c921067208 geometrictransform: make ciclegt "radius" property relative
Make the "radius" property of CircleGeometricTransform relative.
This is more coherent with the way [x,y]-center properties are handled
and allow to set a radius without knowing the video size.
Radius is defined with respect to the circle circumscribed about the
video rectangle so that a point in the center has radius 0.0 and one in
a vertex has radius 1.0.
Note that this is not a regression from the previous absolute way of
defining the radius as a user who knows the video size can easily
calculate the relative radius and set that.

https://bugzilla.gnome.org/show_bug.cgi?id=625959
2010-08-04 20:09:09 -03:00
Tim-Philipp Müller
770194a8fc id3mux: minor code clean-up
Add helper function to write text frames with just one string.
2010-08-04 23:56:04 +01:00
Jonathan Matthew
76311f2ef0 id3mux: add support for beats-per-minute tag
Write beats per minute into the TBPM frame, and add unit
test for id3mux, based on id3v2mux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=621523
2010-08-04 23:56:04 +01:00
Sebastian Dröge
09507edb8c coloreffects: Minor cleanup 2010-08-04 10:11:11 +02:00
Sebastian Dröge
43db67f705 coloreffects: Improve property description a bit 2010-08-04 10:09:53 +02:00
Sebastian Dröge
3878dce20d coloreffects: Don't use the fixed_caps func on the pads
coloreffects can renegotiate during playback without any problems.
2010-08-04 10:08:24 +02:00
Filippo Argiolas
74de641ca4 coloreffects: add ayuv support
Currently implemented switching from yuv to rgb, looking up rgb from the
table in the usual way, getting back to yuv. With luma lookup presets
(sepia, heat, xray) a color space conversion is saved directly looking
up rgb for a given Y and converting to yuv.
Probably this latter step can even be made faster precalculating a luma
to yuv table in an outer loop.

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:05:35 +02:00
Filippo Argiolas
79c343bade coloreffects: new plugin for lookup table color mapping
Implements a color lookup table filter with 4 presets:
 - heat: fake heat camera effect
 - sepia: sepia toning
 - xray: invert + shade to blue
 - xpro: cross process

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:04:20 +02:00
Filippo Argiolas
0c0adffce7 geometrictransform: new filter "fisheye"
Ports gleffects "fisheye" filter to geometrictransform.
Fake fisheye lens filter. Somewhat empiric implementation because I
didn't find any good algorithm that does it with nice results.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:16:37 +02:00