platform/upstream/gstreamer.git
9 years agovideo-format: sprinkle some 'restrict' keywords in pack/unpack functions
Tim-Philipp Müller [Thu, 27 Nov 2014 15:04:12 +0000 (15:04 +0000)]
video-format: sprinkle some 'restrict' keywords in pack/unpack functions

In cases where we just call orc directly this is somewhat
superfluous, but let's do it anyway for consistency. In
other cases the compiler can hopefully use this to optimise
memory access a little.

9 years agovideo-format: handle x offset in unpack
Wim Taymans [Thu, 27 Nov 2014 12:01:03 +0000 (13:01 +0100)]
video-format: handle x offset in unpack

Add support for x offset in almost all unpack methods.
Fix naming of source and dest pixels.
Add const to source pixels.

9 years agovideo-format: improve unpack i420
Wim Taymans [Thu, 27 Nov 2014 09:51:58 +0000 (10:51 +0100)]
video-format: improve unpack i420

unpack_i420 does not need extra code to handle odd widths, the orc code
already handles it fine.

9 years agovideoscale: use old property name
Wim Taymans [Thu, 27 Nov 2014 08:45:07 +0000 (09:45 +0100)]
videoscale: use old property name

Unbreak ABI by changing to the old property name again.

https://bugzilla.gnome.org/show_bug.cgi?id=740798

9 years agodecodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'
Thibault Saunier [Tue, 25 Nov 2014 12:39:07 +0000 (13:39 +0100)]
decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'

Before we were setting them to PAUSED and (much) later connecting to
their source pad caps notify signal.

There was a race where that demuxer was pushing a caps and later a buffer
on its source pad when we were not even connected to its source pad caps notify
signal leading to decodebin missing the information and not keeping on
building the pipeline on CAPS event thus the demuxer was posting an ERROR
(not linked) message on the bus. This need to be done for 'simple
demuxers' because those have one ALWAYS source pad, not like usual demuxers
that have several dynamic source pads.

A "simple demuxer" is a demuxer that has one and only one ALWAYS source
pad.

https://bugzilla.gnome.org/show_bug.cgi?id=740693

9 years agodecodebin2: Take STREAM_LOCK before sending sticky events.
Mathieu Duponchelle [Tue, 25 Nov 2014 15:46:50 +0000 (16:46 +0100)]
decodebin2: Take STREAM_LOCK before sending sticky events.

There was a race where:

1) we would put the element to PAUSED
2) It would get data sent to it from upstream
3) It would thus send caps
3) caps_notify_cb would continue autoplugging
4) caps would flow downstream, the last pad would get exposed
5) we were still not done sending the sticky events

Taking the stream lock on the new element's sinkpad and only
releasing it when sticky events have all been sent prevents
the caps from reaching the source pad of the element before
we're all set.

https://bugzilla.gnome.org/show_bug.cgi?id=740694

9 years agotypefindfunctions: detect mp4 common file format variant
Tim-Philipp Müller [Wed, 6 Aug 2014 18:31:25 +0000 (19:31 +0100)]
typefindfunctions: detect mp4 common file format variant

Used e.g. by UltraViolet.

9 years agoalsasrc: debug message fixes
Tim-Philipp Müller [Tue, 25 Nov 2014 22:01:08 +0000 (22:01 +0000)]
alsasrc: debug message fixes

In the same vein as 74e9640a.

9 years agovideo-scale: combine adds when max_taps equals combine size
Wim Taymans [Tue, 25 Nov 2014 16:42:07 +0000 (17:42 +0100)]
video-scale: combine adds when max_taps equals combine size

When the amount of pixels/lines matches the amount we can combine,
combine the adds and multiplies and do the scale as a separate
operation.

9 years agovideo-scaler: combine scaling operations
Wim Taymans [Tue, 25 Nov 2014 16:25:02 +0000 (17:25 +0100)]
video-scaler: combine scaling operations

Combine add and scale of multiple lines/pixels to reduce the amount of
read and writes to temporary memory.

9 years agotimeoverlay: add "time-line" property
Tim-Philipp Müller [Tue, 25 Nov 2014 14:45:23 +0000 (14:45 +0000)]
timeoverlay: add "time-line" property

So we can also show running time or stream time, not just the
buffer time stamps.

9 years agovideoscale: add property to do scaling after gamma-decode
Wim Taymans [Tue, 25 Nov 2014 10:54:51 +0000 (11:54 +0100)]
videoscale: add property to do scaling after gamma-decode

9 years agovideoscale: add more scaling filters
Wim Taymans [Tue, 25 Nov 2014 10:28:42 +0000 (11:28 +0100)]
videoscale: add more scaling filters

Adjust the filter parameters so that they use the same number of taps
and method as the old ones.
Add some new filters

9 years agovideo-resampler: remove print
Wim Taymans [Tue, 25 Nov 2014 09:36:13 +0000 (10:36 +0100)]
video-resampler: remove print

9 years agovideo-resampler: improve variable taps
Wim Taymans [Tue, 25 Nov 2014 09:32:02 +0000 (10:32 +0100)]
video-resampler: improve variable taps

Improve quality of variable taps on all methods by reusing the lanczos
parameters where possible.

9 years agovideo-resampler: Fix lanczos parameters for variable taps
Wim Taymans [Tue, 25 Nov 2014 08:11:31 +0000 (09:11 +0100)]
video-resampler: Fix lanczos parameters for variable taps

when using variable taps and when we are limiting the number of taps,
recalculate the lanczos parameters to match the clamped value.
Set the max number of taps to 128

9 years agoplaysink: Reset mute property of the sink to playsink's value when setting up the...
Andrei Sarakeev [Tue, 25 Nov 2014 08:38:34 +0000 (11:38 +0300)]
playsink: Reset mute property of the sink to playsink's value when setting up the audio chain

Otherwise the following can happen:
1. set mute=true
2. play media1 (Ok)
3. play media without audio (audiochain removed)
4. play media2 (audiochain created, mute=*false*)

https://bugzilla.gnome.org/show_bug.cgi?id=740675

9 years agodiscoverer: fix typo in header file
Andrei Sarakeev [Tue, 25 Nov 2014 08:38:34 +0000 (11:38 +0300)]
discoverer: fix typo in header file

https://bugzilla.gnome.org/show_bug.cgi?id=740675

9 years agopbutils: add description for audio/x-audible
Tim-Philipp Müller [Tue, 25 Nov 2014 09:08:18 +0000 (09:08 +0000)]
pbutils: add description for audio/x-audible

9 years agotypefind: improve 'audible' audio typefinder a little
Tim-Philipp Müller [Tue, 25 Nov 2014 01:02:28 +0000 (01:02 +0000)]
typefind: improve 'audible' audio typefinder a little

Don't return NEARLY_CERTAIN just based on 4 bytes.
Also change media type to audio/x-audible.

https://bugzilla.gnome.org/show_bug.cgi?id=715050

9 years agotypefindfunctions: add audio/audible typefinder
Jonathan Matthew [Sat, 23 Nov 2013 01:36:43 +0000 (11:36 +1000)]
typefindfunctions: add audio/audible typefinder

https://bugzilla.gnome.org/show_bug.cgi?id=715050

9 years agoalsa: Change the log messages in xrun_recovery() from DEBUG to WARNING
Branislav Katreniak [Mon, 16 Jun 2014 09:46:18 +0000 (11:46 +0200)]
alsa: Change the log messages in xrun_recovery() from DEBUG to WARNING

xrun_recovery() runs when there is an error

https://bugzilla.gnome.org/show_bug.cgi?id=740615

9 years agovideo-converter: keep track of required temp lines
Wim Taymans [Mon, 24 Nov 2014 11:47:11 +0000 (12:47 +0100)]
video-converter: keep track of required temp lines

Make a small object to hold a pool of allocated temp lines.
Keep track of how many temp lines each conversion stage needs and use
this to allocate just enough temp lines from the temp lines object. from
the temp lines object.

9 years agovideo-converter: use err line in fastpath
Wim Taymans [Mon, 24 Nov 2014 11:45:02 +0000 (12:45 +0100)]
video-converter: use err line in fastpath

Use the error line for temporary storage in the fastpath so that we
don't have to allocate any other temp lines.

9 years agovideoencoder: don't complain about PTS != DTS on keyframes
Matej Knopp [Sat, 22 Nov 2014 20:51:33 +0000 (21:51 +0100)]
videoencoder: don't complain about PTS != DTS on keyframes

It is valid for streams with b-frames

https://bugzilla.gnome.org/show_bug.cgi?id=740556

9 years agovideo-converter: handle mixed interlaced
Wim Taymans [Fri, 21 Nov 2014 15:06:54 +0000 (16:06 +0100)]
video-converter: handle mixed interlaced

When dealing with mixed interlaced, setup a scaler and chroma-resampler
for both interlaced and progressive frames and switch between them
depending on the interlace mode of the input frame.

9 years agovideo-converter: Cleanup options parsing
Wim Taymans [Fri, 21 Nov 2014 15:04:11 +0000 (16:04 +0100)]
video-converter: Cleanup options parsing

Cleanup option parsing
Add some debug

9 years agovideo-converter: there is no need to apply x offset to temp lines
Wim Taymans [Fri, 21 Nov 2014 14:59:47 +0000 (15:59 +0100)]
video-converter: there is no need to apply x offset to temp lines

9 years agovideo-scaler: ensure both fields have the same number of taps
Wim Taymans [Fri, 21 Nov 2014 14:58:34 +0000 (15:58 +0100)]
video-scaler: ensure both fields have the same number of taps

9 years agovideo-converter: rework the options a little
Wim Taymans [Fri, 21 Nov 2014 10:15:04 +0000 (11:15 +0100)]
video-converter: rework the options a little

Rework the options a little to make it nicer to set defaults.

9 years agovideo-resampler: add option to limits taps
Wim Taymans [Fri, 21 Nov 2014 10:12:50 +0000 (11:12 +0100)]
video-resampler: add option to limits taps

Add an option to limit the number of taps to use in automatic mode. The
problem is that for lanczos, we might use more taps than what we can
handle with the current precision.
Rework the other options a little to make it nicer to set defaults.

9 years agovideo: update orc files
Wim Taymans [Thu, 20 Nov 2014 17:20:00 +0000 (18:20 +0100)]
video: update orc files

9 years agowin32: Update defs file
Edward Hervey [Thu, 20 Nov 2014 14:53:23 +0000 (15:53 +0100)]
win32: Update defs file

9 years agortspconnection: fix warning on param name mismatch
Hyunjun Ko [Wed, 19 Nov 2014 12:18:04 +0000 (21:18 +0900)]
rtspconnection: fix warning on param name mismatch

https://bugzilla.gnome.org/show_bug.cgi?id=740013

9 years agotests: Add reverse playback verification test
Jan Schmidt [Mon, 17 Nov 2014 13:04:59 +0000 (00:04 +1100)]
tests: Add reverse playback verification test

Plays a requested URI forward to EOS, then backward and
checks that the same timestamp range(s) are covered.

9 years agovideorate: Operate in a zero-latency mode if drop-only is set to TRUE
Sebastian Dröge [Wed, 12 Nov 2014 14:23:37 +0000 (15:23 +0100)]
videorate: Operate in a zero-latency mode if drop-only is set to TRUE

There's no reason why we would have to wait for the next buffer to decide
whether to output the current one or not. We just have to check if the
current one is earlier than our expected next time, which is the previous
frame timestamp plus the expected frame duration.

https://bugzilla.gnome.org/show_bug.cgi?id=740018

9 years agovideo-converter: Use correct enum, GstVideoFormat instead of GstFormat
Sebastian Dröge [Wed, 19 Nov 2014 13:38:03 +0000 (14:38 +0100)]
video-converter: Use correct enum, GstVideoFormat instead of GstFormat

9 years agovideo-converter: fix size check
Wim Taymans [Wed, 19 Nov 2014 12:25:13 +0000 (13:25 +0100)]
video-converter: fix size check

Add some debug, fix size check that decides what scaling to do first and
when to do conversion.

9 years agovideo-converter: avoid primaries conversion when asked
Wim Taymans [Wed, 19 Nov 2014 11:53:03 +0000 (12:53 +0100)]
video-converter: avoid primaries conversion when asked

Don't do conversion between primaries when the option is disabled.
Only do some matrix code when needed.

9 years agovideo-info: add a note about subsampled formats
Wim Taymans [Wed, 19 Nov 2014 11:41:21 +0000 (12:41 +0100)]
video-info: add a note about subsampled formats

Add a note about gst_video_info_set_format() and interlaced formats.

9 years agovideo-info: handle interlaced size correctly
Wim Taymans [Wed, 19 Nov 2014 11:05:02 +0000 (12:05 +0100)]
video-info: handle interlaced size correctly

Refactor GstVideoInfo init, make function to set default colorimetry.
Call fill_planes after we configure the GstVideoInfo with parameters
from the caps.
The size of the chroma planes for interlaced vertically subsampled
formats needs to be rounded up to 2, we have 2 fields with each
the same anount of chroma lines.

9 years agovideo-color: return FALSE on unparsable colorimetry
Wim Taymans [Wed, 19 Nov 2014 11:04:02 +0000 (12:04 +0100)]
video-color: return FALSE on unparsable colorimetry

9 years agovideo-format: handle unpack interlaced subsampled formats
Wim Taymans [Wed, 19 Nov 2014 08:40:05 +0000 (09:40 +0100)]
video-format: handle unpack interlaced subsampled formats

For interlaced vertically subsampled formats the check for even lines
needs to take into account the two fields.

9 years agovideo-scaler: fix interlaced shift
Wim Taymans [Wed, 19 Nov 2014 08:39:32 +0000 (09:39 +0100)]
video-scaler: fix interlaced shift

9 years agovideo-converter: keep a small backlog of lines
Wim Taymans [Wed, 19 Nov 2014 08:30:14 +0000 (09:30 +0100)]
video-converter: keep a small backlog of lines

Allow lines to jump backwards slightly, usefull for interlaced content.

9 years agovideo-chroma: Fix interlaced chroma resampling
Wim Taymans [Wed, 19 Nov 2014 08:28:52 +0000 (09:28 +0100)]
video-chroma: Fix interlaced chroma resampling

Use the interlaced flag to select the right resampler.

9 years agovideo: add some more debuging
Wim Taymans [Tue, 18 Nov 2014 15:36:08 +0000 (16:36 +0100)]
video: add some more debuging

9 years agovideo-scaler: fix interlacing some more
Wim Taymans [Tue, 18 Nov 2014 15:35:13 +0000 (16:35 +0100)]
video-scaler: fix interlacing some more

Use the right phase.
Take the right lines from interlaced content.

9 years agovideo-converter: fix dither method
Wim Taymans [Tue, 18 Nov 2014 11:53:06 +0000 (12:53 +0100)]
video-converter: fix dither method

9 years agovideo-converter: fix some leaks
Wim Taymans [Tue, 18 Nov 2014 11:52:27 +0000 (12:52 +0100)]
video-converter: fix some leaks

And remove some unused fields.

9 years agovideo-converter: add support for gamma and primaries
Wim Taymans [Tue, 18 Nov 2014 11:20:26 +0000 (12:20 +0100)]
video-converter: add support for gamma and primaries

Keep only 1 structure with all matrix information.
Add structure to hold gamma information.
Add more options to control gamma, primaries and color matrix handling.
Add functions to compute transformations to and from XYZ and use this
to convert between primaries.
Merge gamma into the convert to and from RGB stage.
Fix border val.
Simplify the fastpath table, remove unused fields, add some more checks.

9 years agovideo-color: add method to get primaries info
Wim Taymans [Tue, 18 Nov 2014 10:09:40 +0000 (11:09 +0100)]
video-color: add method to get primaries info

9 years agovideo-color: fix default 601 primaries
Wim Taymans [Tue, 18 Nov 2014 10:08:10 +0000 (11:08 +0100)]
video-color: fix default 601 primaries

9 years agovideo-scaler: fix interlaced taps setup
Wim Taymans [Tue, 18 Nov 2014 10:06:20 +0000 (11:06 +0100)]
video-scaler: fix interlaced taps setup

9 years agovideo-color: make sRGB colorimetry the default for RGB
Wim Taymans [Fri, 14 Nov 2014 08:15:22 +0000 (09:15 +0100)]
video-color: make sRGB colorimetry the default for RGB

9 years agovideo-converter: split YUV to and from RGB conversions
Wim Taymans [Thu, 13 Nov 2014 11:03:26 +0000 (12:03 +0100)]
video-converter: split YUV to and from RGB conversions

Prepare for doing full gamma corrected conversion and scaling by first
splitting the conversions from and to RGB into separate steps.
split scaling in downscaling and upscaling steps to be performed before
and after conversion respectively.

9 years agovideo-converter: don't convert too much
Wim Taymans [Thu, 13 Nov 2014 11:02:07 +0000 (12:02 +0100)]
video-converter: don't convert too much

because we do conversion after downscaling we only need to convert the
smallest width.

9 years agovideo-converter: add orc splat functions to draw border
Wim Taymans [Thu, 13 Nov 2014 11:00:05 +0000 (12:00 +0100)]
video-converter: add orc splat functions to draw border

9 years agoRevert "basetextoverlay: Fix segfault when overlay outside the frame"
Tim-Philipp Müller [Wed, 5 Nov 2014 21:52:44 +0000 (21:52 +0000)]
Revert "basetextoverlay: Fix segfault when overlay outside the frame"

This is not correct. overlay->silent is a property and we
should not just flip the property forever because one text
we render is outside of the frame. The next one might not
be, the positioning properties can be changed after all.

The lower layers should handle clipping, and now do.

This reverts commit 1cc311156cc3908d1d9888fbcda67305fc647337.

https://bugzilla.gnome.org/show_bug.cgi?id=738984
https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agoRevert "basetextoverlay: segfault when xpos >= video size"
Tim-Philipp Müller [Wed, 5 Nov 2014 21:46:47 +0000 (21:46 +0000)]
Revert "basetextoverlay: segfault when xpos >= video size"

This is not right, even if it might avoid a crash. We don't
want to just set xpos/ypos to 0 in those cases. Clipping
should be done properly, see bug #739281 for that.

This reverts commit 900d0267d511e9553eec44d948d7e33ead7dc903.

https://bugzilla.gnome.org/show_bug.cgi?id=738984
https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agovideo-blend: minor optimisation
Tim-Philipp Müller [Sun, 16 Nov 2014 23:26:45 +0000 (23:26 +0000)]
video-blend: minor optimisation

Only need to run matrix on those pixels which
will actually be used.

9 years agotests: make overlay blending test slightly less boring
Tim-Philipp Müller [Sun, 16 Nov 2014 19:28:54 +0000 (19:28 +0000)]
tests: make overlay blending test slightly less boring

9 years agovideo-blend: fix clipping of overlay images on the left
Tim-Philipp Müller [Sun, 16 Nov 2014 16:34:31 +0000 (16:34 +0000)]
video-blend: fix clipping of overlay images on the left

Fix clipping of images that are partially left of the video
surface, they would get clipped on the right side instead of
the left side, because the video unpack functions currently
ignore the x offset parameter. Work around that until that
is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agovideo-blend: fix allocation of temp src line for wide sources
Tim-Philipp Müller [Sun, 16 Nov 2014 16:31:45 +0000 (16:31 +0000)]
video-blend: fix allocation of temp src line for wide sources

Fix allocation of temporary source line buffers for source
images that are wider than the video overlay surface.

9 years agotests: add visual overlay composition blending test
Tim-Philipp Müller [Sun, 16 Nov 2014 01:34:09 +0000 (01:34 +0000)]
tests: add visual overlay composition blending test

Shows visual result of blending a logo on top of
a video surface, esp. when the logo is partially
outside of the video surface and needs to be
clipped.

https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agotests: fix leak in video unit test
Tim-Philipp Müller [Sun, 16 Nov 2014 01:32:55 +0000 (01:32 +0000)]
tests: fix leak in video unit test

9 years agovideo-blend: fix blending of rectangles partially or fully outside of the video
Vineeth T M [Mon, 10 Nov 2014 11:06:35 +0000 (16:36 +0530)]
video-blend: fix blending of rectangles partially or fully outside of the video

In case of overlay being completely or partially outside
the video frame, the offset calculations are not right,
which resulted in the overlay not being displayed as
expected, or crashes due to invalid memory access.

When the overlay rectangle is completely outside,
we need not render the overlay at all.

For partial display of overlay rectangles, src_yoff
was not being calculated, hence it was always clipping
the bottom half of the overlay, By calculating the
src_yoff, now the overlay is clipped properly.

https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agotests: video: add video blend test
Vineeth T M [Mon, 10 Nov 2014 06:42:42 +0000 (12:12 +0530)]
tests: video: add video blend test

Add test to check rendering of overlays of different sizes
that are completely or partially outside the video surface.
Once the overlay is blended to the video, verify if the
position of the blended overlay is as expected, by comparing
the pixels of the blended video with the expected values.

https://bugzilla.gnome.org/show_bug.cgi?id=739281

9 years agodocs: update to git
Tim-Philipp Müller [Sat, 15 Nov 2014 23:15:06 +0000 (23:15 +0000)]
docs: update to git

9 years agodocs: fix some gtk-doc warnings
Tim-Philipp Müller [Sat, 15 Nov 2014 23:13:42 +0000 (23:13 +0000)]
docs: fix some gtk-doc warnings

Deprecated entities found in documentation for xyz:Long_description
.

9 years agovideo-converter: take offset into account when unpacking
Wim Taymans [Wed, 12 Nov 2014 08:57:38 +0000 (09:57 +0100)]
video-converter: take offset into account when unpacking

When we can directly take the input line from the source frame when
unpacking, also take into account the x offset.

9 years agovideo-converter: add some notes
Wim Taymans [Wed, 12 Nov 2014 08:57:12 +0000 (09:57 +0100)]
video-converter: add some notes

9 years agodefs: update defs and docs
Wim Taymans [Tue, 11 Nov 2014 15:19:03 +0000 (16:19 +0100)]
defs: update defs and docs

9 years agovideo-color: add gamma encode/decode functions
Wim Taymans [Tue, 11 Nov 2014 15:11:15 +0000 (16:11 +0100)]
video-color: add gamma encode/decode functions

Add functions to encode and decode gamma.
Add unit test to check that encode and decode are eachothers inverse
and that the limits are respected.

9 years agotest: add scaling test
Wim Taymans [Mon, 10 Nov 2014 13:53:13 +0000 (14:53 +0100)]
test: add scaling test

Sort pack and unpack performance measurements

9 years agovideo-orc: update disted file
Wim Taymans [Mon, 10 Nov 2014 11:01:48 +0000 (12:01 +0100)]
video-orc: update disted file

and disable one failing function

9 years agovideoscale: port to new API
Wim Taymans [Fri, 24 Oct 2014 15:08:43 +0000 (17:08 +0200)]
videoscale: port to new API

9 years agovideo-orc: use faster saturating conversions
Wim Taymans [Mon, 10 Nov 2014 10:40:11 +0000 (11:40 +0100)]
video-orc: use faster saturating conversions

saturating conversions are generally faster.

9 years agovideo-chroma: add ORC version of UP_H2_CS
Wim Taymans [Fri, 7 Nov 2014 14:45:04 +0000 (15:45 +0100)]
video-chroma: add ORC version of UP_H2_CS

It is however slower than the C version and thus disabled.

9 years agopbutils: add description for Apple Core Audio Format
Tim-Philipp Müller [Sun, 9 Nov 2014 14:44:36 +0000 (14:44 +0000)]
pbutils: add description for Apple Core Audio Format

https://bugzilla.gnome.org/show_bug.cgi?id=739840

9 years agotypefind: recognize Apple Core Audio Format
Peter G. Baum [Sun, 9 Nov 2014 11:53:32 +0000 (12:53 +0100)]
typefind: recognize Apple Core Audio Format

(CAF) Specification 1.0

https://bugzilla.gnome.org/show_bug.cgi?id=739840

9 years agocapsfilter-renegotiation: Use assertions from libcheck for more information on failures
Sebastian Dröge [Sun, 9 Nov 2014 09:47:14 +0000 (10:47 +0100)]
capsfilter-renegotiation: Use assertions from libcheck for more information on failures

9 years agovideo-chroma: ORCify 2x vertical upsampling
Wim Taymans [Fri, 7 Nov 2014 11:06:10 +0000 (12:06 +0100)]
video-chroma: ORCify 2x vertical upsampling

Make an ORC version of the 2x vertical upsampling code.
Improve unit tests, test chroma up and down sampling.
memset buffer in conversion to make valgrind happy.

9 years agotcpserversink: Don't leak a `GSocket` and a `GInetSocketAddress`
William Manley [Thu, 6 Nov 2014 14:14:22 +0000 (14:14 +0000)]
tcpserversink: Don't leak a `GSocket` and a `GInetSocketAddress`

when accepting a connection.

Discovered by `make check-valgrind` with the new `socketintegrationtest`.

https://bugzilla.gnome.org/show_bug.cgi?id=739544

9 years agotests: Add TCP pipelines test
William Manley [Mon, 3 Nov 2014 01:08:27 +0000 (01:08 +0000)]
tests: Add TCP pipelines test

There don't seem to be any unit tests for the socket handling elements.  As
I am about to attempt some refactorings I've added some basic tests which
exercise some of the happy-paths in tcpclientsrc, tcpserversrc,
tcpserversink and tcpclientsink.  They should let me know if I've caused
serious breakage.

They are far from exhaustive but are sufficient for me to have caught a few
memory-leaks in the existing code.

https://bugzilla.gnome.org/show_bug.cgi?id=739544

9 years agotests: add video conversion test
Wim Taymans [Thu, 6 Nov 2014 17:18:50 +0000 (18:18 +0100)]
tests: add video conversion test

Go through all conversions and make a list of performance.

9 years agovideo-info: use h-cosited chroma for HD video by default
Wim Taymans [Thu, 6 Nov 2014 17:13:12 +0000 (18:13 +0100)]
video-info: use h-cosited chroma for HD video by default

9 years agovideo-converter: clamp lines
Wim Taymans [Thu, 6 Nov 2014 17:09:04 +0000 (18:09 +0100)]
video-converter: clamp lines

9 years agovideo-orc: update disted files
Wim Taymans [Thu, 6 Nov 2014 15:29:16 +0000 (16:29 +0100)]
video-orc: update disted files

9 years agovideo-converter: ORCify 8<->16 conversion
Wim Taymans [Thu, 6 Nov 2014 15:18:25 +0000 (16:18 +0100)]
video-converter: ORCify 8<->16 conversion

9 years agovideo-converter: unpack into the destination when needed
Wim Taymans [Thu, 6 Nov 2014 14:30:02 +0000 (15:30 +0100)]
video-converter: unpack into the destination when needed

Make sure we write into the destination line when we can propose the
dest allocator.

9 years agovideo-converter: add more debug
Wim Taymans [Thu, 6 Nov 2014 14:29:50 +0000 (15:29 +0100)]
video-converter: add more debug

9 years agovideo: Update disted orc files
Sebastian Dröge [Thu, 6 Nov 2014 14:01:27 +0000 (15:01 +0100)]
video: Update disted orc files

9 years agovideo-chroma: optimize chroma subsampling a little
Wim Taymans [Thu, 6 Nov 2014 12:08:42 +0000 (13:08 +0100)]
video-chroma: optimize chroma subsampling a little

Combine multiplies in 4x filters.
Rename conversion functions to make them nicer in orc.
Add ORC versions for various downsampling algorithms
Add unit test chroma resampler

9 years agotests: make pack/unpack test
Wim Taymans [Thu, 6 Nov 2014 09:43:11 +0000 (10:43 +0100)]
tests: make pack/unpack test

Make a more complete pack/unpack test, check if the image after
pack/unpack has the same color and precision, and has correctly
duplicated subsampled pixels.

9 years agotests: get the correct number of video formats
Wim Taymans [Thu, 6 Nov 2014 09:42:09 +0000 (10:42 +0100)]
tests: get the correct number of video formats

Make a method to get the number of formats (including the last one).

9 years agovideo-format: update some docs and add a FIXME(2.0)
Wim Taymans [Thu, 6 Nov 2014 08:44:14 +0000 (09:44 +0100)]
video-format: update some docs and add a FIXME(2.0)

9 years agovideo-format: add range extension to BGR_10XE format
Wim Taymans [Thu, 6 Nov 2014 08:38:06 +0000 (09:38 +0100)]
video-format: add range extension to BGR_10XE format

9 years agovideo-format: fix pack of 4:2:0 formats
Wim Taymans [Thu, 6 Nov 2014 08:34:59 +0000 (09:34 +0100)]
video-format: fix pack of 4:2:0 formats

When packing 4:2:0 formats, we need to take the chroma from the even
lines, for the odd lines we only take luminance.

9 years agovideo-format: fix range extension of UYVP
Wim Taymans [Thu, 6 Nov 2014 08:32:21 +0000 (09:32 +0100)]
video-format: fix range extension of UYVP

We need to shift the top 6 bits to the lower 6 bits