GNOME Bugzilla – Bug 752051
GstVideoScaler: Initialised scaling functions to get rid of compiler messages
Last modified: 2015-08-16 13:41:32 UTC
Created attachment 306980 [details] [review] patch GstVideoScaler: Initialised scaling functions to get rid of compiler messages E.g. video-scaler.c: In function 'gst_video_scaler_horizontal': video-scaler.c:1332:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized] func (scale, src, dest, dest_offset, width, n_elems); ^ video-scaler.c: In function 'gst_video_scaler_vertical': video-scaler.c:1373:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized] func (scale, src_lines, dest, dest_offset, width, n_elems); ^ GCC's analyses seem to be correct, for the simple fact that if you pass get_functions a known format, but no hscale or vscale, it'll return True without having done anything. Some callers check for the scale values to be not NULL, but then hscale->resampler.max_taps could return 0. A different approach to the one presented in this patch is to check for those max_taps, too, before calling get_functions.
Comment on attachment 306980 [details] [review] patch As discussed on IRC, this breaks copying
commit 190c7f19288bc28a6a0428367ae108bebddaf43d Author: Tobias Mueller <muelli@cryptobitch.de> Date: Thu Jul 2 07:36:12 2015 +0200 GstVideoScaler: Initialised scaling functions to get rid of compiler messages E.g. video-scaler.c: In function 'gst_video_scaler_horizontal': video-scaler.c:1332:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized] func (scale, src, dest, dest_offset, width, n_elems); ^ video-scaler.c: In function 'gst_video_scaler_vertical': video-scaler.c:1373:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized] func (scale, src_lines, dest, dest_offset, width, n_elems); ^ GCC's analyses seem to be correct, for the simple fact that if you pass get_functions a known format, but no hscale or vscale, it'll return True without having done anything. Some callers check for the scale values to be not NULL, but then hscale->resampler.max_taps could return 0. A different approach to the one presented in this patch is to check for those max_taps, too, before calling get_functions. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752051