Wim Taymans
7888b4f9fa
video-converter: keep separate lines with border
...
Make separate with a border around them so that we can avoid a memcpy.
2014-11-05 11:55:22 +01:00
Wim Taymans
cf970376df
video-scaler: avoid memcpy when not needed
2014-11-05 11:55:22 +01:00
Wim Taymans
0980dfcb99
video-converter: pass output line correctly
2014-11-05 11:55:21 +01:00
Wim Taymans
3dd059baf3
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.
2014-11-04 17:38:11 +01:00
Wim Taymans
3286320297
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.
2014-11-04 17:38:11 +01:00
Wim Taymans
67a4702b19
video-scaler: fix taps in interlaced mode
2014-11-04 17:38:11 +01:00
Wim Taymans
562416bb94
video-scaler: fix phases in interlaced mode
2014-11-04 17:38:11 +01:00
Wim Taymans
9cc353ce7c
video-orc: fix v_2tap_u16
2014-11-04 17:36:49 +01:00
Wim Taymans
7a56ec1186
video-converter: add extra pixels for the border
...
We need extra pixels for the border.
2014-11-03 16:19:25 +01:00
Wim Taymans
bd6d2b40d1
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.
2014-11-03 15:41:02 +01:00
Wim Taymans
e72a01e949
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.
2014-11-03 15:41:02 +01:00
William Manley
c97f10d7d8
docs: gst_dmabuf_allocator_alloc: Improve documentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=739545
2014-11-03 09:02:46 -05:00
Wim Taymans
2f38f83c08
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.
2014-11-03 10:07:56 +01:00
Sebastian Dröge
b4ee10f616
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,
~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
2014-11-03 08:12:44 +01:00
Luis de Bethencourt
7ca8e6e71d
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
2014-11-02 15:14:13 +00:00
Tim-Philipp Müller
c409d134de
video: fix some g-i / gtk-doc warnings
2014-11-01 14:58:13 +00:00
Tim-Philipp Müller
d2e364ff7a
video: update disted orc backup functions
...
Fixes build without orc.
2014-11-01 14:47:26 +00:00
Tim-Philipp Müller
f04a9589d4
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.
2014-11-01 14:30:07 +00:00
Wim Taymans
ceee8d5d40
video-scaler: ORCify vertical ntap function
2014-11-01 13:15:29 +01:00
Wim Taymans
45462d2ea4
video-scaler: handle 4tap interlaced
2014-11-01 13:15:29 +01:00
Wim Taymans
cfa1f73f45
video-orc: update dist files
2014-10-31 16:53:06 +01:00
Wim Taymans
524d30a168
video-scaler: add ORC optimized ntap horizontal scalers
2014-10-31 16:50:49 +01:00
Jan Schmidt
691f020c57
video: Update disted orc files for new functions.
...
Fixes the build when building without ORC
2014-10-31 22:52:43 +11:00
Wim Taymans
b3ff9c030f
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.
2014-10-31 11:23:21 +01:00
Wim Taymans
308d21c71f
video-converter: clamp output lines
2014-10-31 11:23:21 +01:00
Wim Taymans
b2eb5f02fc
video-format: add alignment checks
...
Some of the ORC functions need specific alignment
2014-10-31 11:23:21 +01:00
Wim Taymans
19cd171035
video-scaler: fix offset check
2014-10-31 11:23:21 +01:00
Wim Taymans
5c3c42b95d
video-converter: also chroma up/downsample when scaling
2014-10-31 11:23:21 +01:00
Wim Taymans
6a529cb1dd
video-converter: clamp input lines correctly
2014-10-31 11:23:21 +01:00
Tim-Philipp Müller
ef98393b0d
video-scaler: fix build without orc
...
https://bugzilla.gnome.org/show_bug.cgi?id=739433
2014-10-30 23:53:39 +00:00
Wim Taymans
5cf4aa358d
video-converter: add border color
2014-10-30 17:34:48 +01:00
Wim Taymans
ce2d4d40a1
video-converter: add support for src/dest regions
...
Add support for cropping the source and placing the converted image
into a rectangle in the destination frame.
Add an option to add a border and border color.
2014-10-30 17:34:48 +01:00
Vincent Penquerc'h
20344f6dc9
rtpbuffer: add a const where appropriate
2014-10-30 11:42:02 +00:00
Wim Taymans
49d909dabf
video-scaler: add more ORC functions
...
Add the old ORC functions for nearest and linear. Label them as Low
quality because they are not as accurate but ORC lacks opcodes to
express this for now.
2014-10-30 11:48:00 +01:00
Wim Taymans
ca2bd1cc6b
video-scaler: rename resampler to video-resampler
...
Prefix the resampler with video-. It we would like to reuse the
resampler for audio later, we can copy/move it and deprecate this
one.
2014-10-30 11:48:00 +01:00
Wim Taymans
daf20d5e09
video-scaler: remove color range argument
...
We just need to clip to the format limits, if there is extra headroom in
the range we can use that without problems.
2014-10-29 17:38:33 +01:00
Wim Taymans
21ba193dd6
video-scaler: add ORC optimized versions
...
Add ORC optimized versions of 2 and 4tap vertical scaling. Provide
a high quality 12 bits and a low quality 6 bits version.
2014-10-29 16:26:19 +01:00
Wim Taymans
84176843c1
video-scaler: add precision to make_s16_taps
2014-10-29 16:26:19 +01:00
Wim Taymans
72b30ac5ed
video-converter: copy config fields
...
When setting a new config, copy all the fields into our own config and
not only the ones we know about.
2014-10-29 16:26:19 +01:00
Wim Taymans
28e5ed00de
resampler: make offset/phase/n_taps uint32
...
Make various resizer fields uint32 so that we can use them in ORC
functions later.
2014-10-29 16:26:19 +01:00
Wim Taymans
9591e22fee
video-converter: don't convert too much
...
Always convert the smallest width.
2014-10-29 16:26:10 +01:00
Wim Taymans
fcc7fbd460
resampler: make shift easier to use
2014-10-29 16:26:10 +01:00
Wim Taymans
716b91d86e
resampler: add parameters to cubic filter
...
Improve cubic filter and add parameters. Switch to mitchell filter
by default.
2014-10-29 16:26:10 +01:00
Wim Taymans
32047eaac0
video-scaler: add extra options
2014-10-29 16:26:10 +01:00
Wim Taymans
c409a45d13
video-converter: define some options
2014-10-29 16:26:10 +01:00
Wim Taymans
ad0e0006b2
resampler: add some options
2014-10-29 16:26:10 +01:00
Wim Taymans
b4a5001e3c
resampler: limit max number of taps
...
Don't use more taps than the input size.
2014-10-29 16:26:10 +01:00
Wim Taymans
a81d450b7e
video-converter: add scaling support
...
Add scaling support for the video-converter object
2014-10-29 16:26:10 +01:00
Wim Taymans
199fab4b06
video-scaler: add video scaler helper object
...
Add a video scaler object build on top of the resampler. It has
implementation to deal with interlaced video as well as horizontal and
vertical scaling functions.
2014-10-29 16:26:10 +01:00
Wim Taymans
c9c9e8158d
video: add generic resampler
...
Add an object that can generate a set of resample filter coefficients.
2014-10-29 16:26:10 +01:00