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.
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.
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.
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.
Wim Taymans [Wed, 19 Nov 2014 11:04:02 +0000 (12:04 +0100)]
video-color: return FALSE on unparsable colorimetry
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.
Wim Taymans [Wed, 19 Nov 2014 08:39:32 +0000 (09:39 +0100)]
video-scaler: fix interlaced shift
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.
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.
Wim Taymans [Tue, 18 Nov 2014 15:36:08 +0000 (16:36 +0100)]
video: add some more debuging
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.
Wim Taymans [Tue, 18 Nov 2014 11:53:06 +0000 (12:53 +0100)]
video-converter: fix dither method
Wim Taymans [Tue, 18 Nov 2014 11:52:27 +0000 (12:52 +0100)]
video-converter: fix some leaks
And remove some unused fields.
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.
Wim Taymans [Tue, 18 Nov 2014 10:09:40 +0000 (11:09 +0100)]
video-color: add method to get primaries info
Wim Taymans [Tue, 18 Nov 2014 10:08:10 +0000 (11:08 +0100)]
video-color: fix default 601 primaries
Wim Taymans [Tue, 18 Nov 2014 10:06:20 +0000 (11:06 +0100)]
video-scaler: fix interlaced taps setup
Wim Taymans [Fri, 14 Nov 2014 08:15:22 +0000 (09:15 +0100)]
video-color: make sRGB colorimetry the default for RGB
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.
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.
Wim Taymans [Thu, 13 Nov 2014 11:00:05 +0000 (12:00 +0100)]
video-converter: add orc splat functions to draw border
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
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
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.
Tim-Philipp Müller [Sun, 16 Nov 2014 19:28:54 +0000 (19:28 +0000)]
tests: make overlay blending test slightly less boring
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
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.
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
Tim-Philipp Müller [Sun, 16 Nov 2014 01:32:55 +0000 (01:32 +0000)]
tests: fix leak in video unit test
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
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
Tim-Philipp Müller [Sat, 15 Nov 2014 23:15:06 +0000 (23:15 +0000)]
docs: update to git
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
.
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.
Wim Taymans [Wed, 12 Nov 2014 08:57:12 +0000 (09:57 +0100)]
video-converter: add some notes
Wim Taymans [Tue, 11 Nov 2014 15:19:03 +0000 (16:19 +0100)]
defs: update defs and docs
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.
Wim Taymans [Mon, 10 Nov 2014 13:53:13 +0000 (14:53 +0100)]
test: add scaling test
Sort pack and unpack performance measurements
Wim Taymans [Mon, 10 Nov 2014 11:01:48 +0000 (12:01 +0100)]
video-orc: update disted file
and disable one failing function
Wim Taymans [Fri, 24 Oct 2014 15:08:43 +0000 (17:08 +0200)]
videoscale: port to new API
Wim Taymans [Mon, 10 Nov 2014 10:40:11 +0000 (11:40 +0100)]
video-orc: use faster saturating conversions
saturating conversions are generally faster.
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.
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
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
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
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.
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
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
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.
Wim Taymans [Thu, 6 Nov 2014 17:13:12 +0000 (18:13 +0100)]
video-info: use h-cosited chroma for HD video by default
Wim Taymans [Thu, 6 Nov 2014 17:09:04 +0000 (18:09 +0100)]
video-converter: clamp lines
Wim Taymans [Thu, 6 Nov 2014 15:29:16 +0000 (16:29 +0100)]
video-orc: update disted files
Wim Taymans [Thu, 6 Nov 2014 15:18:25 +0000 (16:18 +0100)]
video-converter: ORCify 8<->16 conversion
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.
Wim Taymans [Thu, 6 Nov 2014 14:29:50 +0000 (15:29 +0100)]
video-converter: add more debug
Sebastian Dröge [Thu, 6 Nov 2014 14:01:27 +0000 (15:01 +0100)]
video: Update disted orc files
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
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.
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).
Wim Taymans [Thu, 6 Nov 2014 08:44:14 +0000 (09:44 +0100)]
video-format: update some docs and add a FIXME(2.0)
Wim Taymans [Thu, 6 Nov 2014 08:38:06 +0000 (09:38 +0100)]
video-format: add range extension to BGR_10XE format
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.
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
Wim Taymans [Thu, 6 Nov 2014 08:28:06 +0000 (09:28 +0100)]
video-chroma: do h subsampling after v subsampling
We only need to do the horizontal subsampling on 1 line if we do it
after vertical subsampling and we also avoid doing vertical subsampling
on unused pixels.
Tim-Philipp Müller [Thu, 6 Nov 2014 09:39:08 +0000 (09:39 +0000)]
tests: dist header file needed for ABI checks on powerpc32
Fixes 'make check' on debian powerpc32 buildbot:
libs/libsabi.c:95:26: fatal error: struct_ppc32.h: No such file or directory
Danny Song [Tue, 4 Nov 2014 19:34:44 +0000 (04:34 +0900)]
test : fix leaks in adder unit test
https://bugzilla.gnome.org/show_bug.cgi?id=739640
Wim Taymans [Wed, 5 Nov 2014 10:54:31 +0000 (11:54 +0100)]
video-converter: keep separate lines with border
Make separate with a border around them so that we can avoid a memcpy.
Wim Taymans [Wed, 5 Nov 2014 10:52:21 +0000 (11:52 +0100)]
video-scaler: avoid memcpy when not needed
Wim Taymans [Wed, 5 Nov 2014 10:51:44 +0000 (11:51 +0100)]
video-converter: pass output line correctly
Wim Taymans [Tue, 4 Nov 2014 08:30:45 +0000 (09:30 +0100)]
video-converter: rework the converter to allow more optimizations
Rework the converter, keep track of the conversion steps by chaining the
cache objects together. We can then walk the chain and decide the
optimal allocation pattern.
Remove the free function, we're not going to need this anytime soon.
Keep track of what output line we're constructing so that we can let the
allocator return a line directly into the target image when possible.
Directly read from the source pixels when possible.
Wim Taymans [Tue, 4 Nov 2014 10:03:50 +0000 (11:03 +0100)]
video-scaler: fix temp line allocation
We need to allocate the templine with the amount of pixels we are going
to handle, which we only know for the vertical resampler when we are
asked to resample.
Wim Taymans [Tue, 4 Nov 2014 10:02:49 +0000 (11:02 +0100)]
video-scaler: fix taps in interlaced mode
Wim Taymans [Tue, 4 Nov 2014 10:01:52 +0000 (11:01 +0100)]
video-scaler: fix phases in interlaced mode
Wim Taymans [Tue, 4 Nov 2014 08:29:58 +0000 (09:29 +0100)]
video-orc: fix v_2tap_u16
Wim Taymans [Mon, 3 Nov 2014 15:18:41 +0000 (16:18 +0100)]
video-converter: add extra pixels for the border
We need extra pixels for the border.
Wim Taymans [Mon, 3 Nov 2014 14:36:26 +0000 (15:36 +0100)]
video-scaler: add support for 16bits formats
Add scaler functions for 16 bits formats.
Rename the scaler functions so that 16bits versions don't look too
weird.
Remove old unused h_2tap functions
Fix v_ntap functions, it was using 1 tap too little.
Wim Taymans [Mon, 3 Nov 2014 14:33:24 +0000 (15:33 +0100)]
video-converter: Add support for 16 bits formats
Rework the way we track the current state of the video through the
different conversion phases and use this to make sure we use the right
format and pstride where needed.
William Manley [Wed, 22 Oct 2014 12:37:40 +0000 (13:37 +0100)]
docs: gst_dmabuf_allocator_alloc: Improve documentation
https://bugzilla.gnome.org/show_bug.cgi?id=739545
Wim Taymans [Mon, 3 Nov 2014 09:07:56 +0000 (10:07 +0100)]
video-orc: comment out unused function
A faster version of 4tap horizontal scaling causes segfaults in ORC
presumably because it uses too many registers so disable it to avoid
crashing in the ORC tests.
Andreas Frisch [Sun, 2 Nov 2014 20:45:30 +0000 (21:45 +0100)]
subtitleoverlay: return available factory CAPS instead of ANY on CAPS query
https://bugzilla.gnome.org/show_bug.cgi?id=739536
Sebastian Dröge [Mon, 3 Nov 2014 07:12:44 +0000 (08:12 +0100)]
video-scaler: Fix compiler warning
video-scaler.c:151:58: error: implicit conversion from enumeration type
'GstVideoScalerFlags' to different enumeration type
'GstVideoResamplerFlags' [-Werror,-Wenum-conversion]
gst_video_resampler_init (&scale->resampler, method, flags, out_size,
~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
Luis de Bethencourt [Sat, 1 Nov 2014 20:08:01 +0000 (20:08 +0000)]
rtp: Do not use deprecated gtk-doc 'Rename to' tag
GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to
rename-to annotation.
https://bugzilla.gnome.org/show_bug.cgi?id=739514
Tim-Philipp Müller [Sat, 1 Nov 2014 14:58:13 +0000 (14:58 +0000)]
video: fix some g-i / gtk-doc warnings
Tim-Philipp Müller [Sat, 1 Nov 2014 14:47:26 +0000 (14:47 +0000)]
video: update disted orc backup functions
Fixes build without orc.
Tim-Philipp Müller [Sat, 1 Nov 2014 14:28:55 +0000 (14:28 +0000)]
video: add video blend helper functions to docs
I don't think those were ever meant to be made public,
but they are, so we might as well document them.
Wim Taymans [Sat, 1 Nov 2014 12:14:32 +0000 (13:14 +0100)]
video-scaler: ORCify vertical ntap function
Wim Taymans [Sat, 1 Nov 2014 11:58:01 +0000 (12:58 +0100)]
video-scaler: handle 4tap interlaced
Wim Taymans [Fri, 31 Oct 2014 15:53:06 +0000 (16:53 +0100)]
video-orc: update dist files
Wim Taymans [Fri, 31 Oct 2014 15:49:43 +0000 (16:49 +0100)]
video-scaler: add ORC optimized ntap horizontal scalers
Ravi Kiran K N [Wed, 29 Oct 2014 10:58:28 +0000 (16:28 +0530)]
tests/playback: quit from main loop
Listen for eos and error signal to quit main loop.
https://bugzilla.gnome.org/show_bug.cgi?id=739346
Ravi Kiran K N [Wed, 29 Oct 2014 10:56:07 +0000 (16:26 +0530)]
tests/playback: correct state change checking
Correct the test apps check if result of state change is not failure as the
state change can happen async
https://bugzilla.gnome.org/show_bug.cgi?id=739346
Jan Schmidt [Fri, 31 Oct 2014 11:52:43 +0000 (22:52 +1100)]
video: Update disted orc files for new functions.
Fixes the build when building without ORC
Wim Taymans [Fri, 31 Oct 2014 10:07:06 +0000 (11:07 +0100)]
video-converter: align offsets to subsampling
Only apply an offset that is a multiple of the subsampling. To handle
arbitrary offsets in the future, we need to be able to chroma-resample
part of the borders.
Wim Taymans [Fri, 31 Oct 2014 09:38:15 +0000 (10:38 +0100)]
video-converter: clamp output lines
Wim Taymans [Fri, 31 Oct 2014 09:34:46 +0000 (10:34 +0100)]
video-format: add alignment checks
Some of the ORC functions need specific alignment
Wim Taymans [Fri, 31 Oct 2014 09:33:42 +0000 (10:33 +0100)]
video-scaler: fix offset check
Wim Taymans [Thu, 30 Oct 2014 17:41:01 +0000 (18:41 +0100)]
video-converter: also chroma up/downsample when scaling
Wim Taymans [Thu, 30 Oct 2014 17:40:43 +0000 (18:40 +0100)]
video-converter: clamp input lines correctly
Tim-Philipp Müller [Thu, 30 Oct 2014 23:53:39 +0000 (23:53 +0000)]
video-scaler: fix build without orc
https://bugzilla.gnome.org/show_bug.cgi?id=739433
Wim Taymans [Thu, 30 Oct 2014 16:30:33 +0000 (17:30 +0100)]
video-converter: add border color