Commit graph

27 commits

Author SHA1 Message Date
Wim Taymans
74e63fa660 video-scaler: combine scaling operations
Combine add and scale of multiple lines/pixels to reduce the amount of
read and writes to temporary memory.
2014-11-25 17:27:07 +01:00
Wim Taymans
1a3e8395bb video-scaler: ensure both fields have the same number of taps 2014-11-21 15:58:34 +01:00
Wim Taymans
588fdeb834 video-scaler: fix interlaced shift 2014-11-19 12:55:02 +01:00
Wim Taymans
d6ed383c6f video: add some more debuging 2014-11-19 12:55:02 +01:00
Wim Taymans
7d0cef3bcb video-scaler: fix interlacing some more
Use the right phase.
Take the right lines from interlaced content.
2014-11-19 12:55:02 +01:00
Wim Taymans
d03bad7761 video-scaler: fix interlaced taps setup 2014-11-19 12:55:02 +01:00
Wim Taymans
cf970376df video-scaler: avoid memcpy when not needed 2014-11-05 11:55:22 +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
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
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
Tim-Philipp Müller
c409d134de video: fix some g-i / gtk-doc warnings 2014-11-01 14:58:13 +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
524d30a168 video-scaler: add ORC optimized ntap horizontal scalers 2014-10-31 16:50:49 +01:00
Wim Taymans
19cd171035 video-scaler: fix offset check 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
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
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
fcc7fbd460 resampler: make shift easier to use 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
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