Tim-Philipp Müller
7892e1e22f
videoscale: fix 4-tap scaling for 64-bpp formats
...
Fix invalid memory access caused by broken pointer arithmetic.
If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
2012-08-04 22:05:21 +01:00
Tim-Philipp Müller
4c6ea69464
videoscale: make 4tap scanline funcs static
2012-08-04 22:05:20 +01:00
David Schleef
4db89c82bb
convert M_PI to G_PI, for msvc
2011-06-10 23:56:34 -07:00
David Schleef
ce9406f4d6
videoscale: protect 4tap from out-of-bounds reads
...
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
e1149f52c1
videoscale: Add 16-bit-channel support
2011-02-20 12:04:02 -08:00
Tim-Philipp Müller
a86613a487
videoscale: use math-compat.h here as well
...
Hopefully the powers that be don't mind the gst/glib include here
too much.
2010-10-05 19:15:47 +01:00
David Schleef
dbfd5a5af8
videoscale: convert from liboil to orc
2010-06-07 23:58:54 -07:00
Sebastian Dröge
bbdc60fbcb
videoscale: Use correct boundary checks for YUY2/UYVY
...
Fixes bug #613093 .
2010-03-17 16:47:31 +01:00
David Schleef
ab0c93976d
Build fix for MSVC
2009-12-03 00:20:34 -08:00
Sebastian Dröge
2e5c946501
videoscale: Add support for 16 bit grayscale in native endianness
2009-05-26 15:26:30 +02:00
Sebastian Dröge
22f99da35c
videoscale: Don't read over line ends when taking the last Cr or Cb
2009-04-02 11:10:12 +02:00
Sebastian Dröge
db1236505e
videoscale: Don't write to few pixels and don't mix Cr and Cb
...
Fixes bug #577054 .
2009-04-02 10:53:10 +02:00
Sebastian Dröge
954b1713e1
videoscale: Fix 4tap scaling of YUYV and friends
2009-03-29 11:53:40 +02:00
Sebastian Dröge
96b9ec4da0
videoscale: Take the next luma value instead of every second next when scaling UYVY and friends
2009-03-27 19:12:49 +01:00
Sebastian Dröge
92eb02c71f
videoscale: Add my copyright to the 4tap scalers
2009-03-27 13:15:11 +01:00
Sebastian Dröge
77795ac240
videoscale: Implement 4-tap scaling for RGB565 and RGB555
2009-03-27 13:14:00 +01:00
Sebastian Dröge
c1653fc5b0
videoscale: Implement 4-tap scaling for UYVY
2009-03-27 10:47:39 +01:00
Sebastian Dröge
435e9f8b38
videoscale: Implement 4-tap scaling for YUY2 and YVYU
2009-03-27 09:33:58 +01:00
Sebastian Dröge
2045a89350
videoscale: Implement 4-tap scaling for RGB and BGR
2009-03-26 22:14:53 +01:00
Sebastian Dröge
c2d31eb2d1
videoscale: Implement 4-tap scaling for RGBA and other 4 byte formats
2009-03-26 22:08:26 +01:00
Sebastian Dröge
abbce230e2
gst/videoscale/: Support 1x1 images as input and output as for example the BBC HQ new streams have 1x1 GIFs in the pl...
...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
* gst/videoscale/vs_image.c: (vs_image_scale_nearest_RGBA),
(vs_image_scale_linear_RGBA), (vs_image_scale_nearest_RGB),
(vs_image_scale_linear_RGB), (vs_image_scale_nearest_YUYV),
(vs_image_scale_linear_YUYV), (vs_image_scale_nearest_UYVY),
(vs_image_scale_linear_UYVY), (vs_image_scale_nearest_Y),
(vs_image_scale_linear_Y), (vs_image_scale_nearest_RGB565),
(vs_image_scale_linear_RGB565), (vs_image_scale_nearest_RGB555),
(vs_image_scale_linear_RGB555):
Support 1x1 images as input and output as for example the BBC HQ new
streams have 1x1 GIFs in the playlists for some reason.
2008-05-02 10:02:05 +00:00
Sebastian Dröge
ec7afb6f84
Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
David Schleef
5aad3658f8
gst/videoscale/vs_4tap.c: Fix valgrind error on 4tap scaling method.
...
Original commit message from CVS:
* gst/videoscale/vs_4tap.c:
Fix valgrind error on 4tap scaling method.
2008-01-14 01:19:34 +00:00
Michael Smith
6077bc0124
gst/videoscale/vs_4tap.c: Update tmpbuf for all neccesary rows, not just one, as is required when downscaling.
...
Original commit message from CVS:
* gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
Update tmpbuf for all neccesary rows, not just one, as is required
when downscaling.
Fixes #402076 .
2007-06-15 15:23:36 +00:00
Sergey Scobich
748960f9ee
Fix compilation on win32 under VS8
...
Original commit message from CVS:
* gst/videoscale/vs_4tap.c:
* win32/MANIFEST:
* win32/common/config.h:
* win32/vs8/libgstvideoscale.vcproj:
Fix compilation on win32 under VS8
Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
Partially fixes #381175
2006-12-01 10:27:54 +00:00
David Schleef
25d874ec9b
gst/videoscale/: Add a 4-tap image scaler. Theoretically looks much prettier.
...
Original commit message from CVS:
* gst/videoscale/Makefile.am:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/gstvideoscale.h:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* gst/videoscale/vs_image.c:
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.c:
* gst/videoscale/vs_scanline.h:
Add a 4-tap image scaler. Theoretically looks much prettier.
The tap calculation could use some improvement.
2006-11-14 23:08:38 +00:00