Last line would not be converted correctly if height was an odd number.
Fixed by accounting for data type (8bit vs. 16bit) differences between
respective packing and unpacking functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
FConvertTask **tasks_p;
gint n_threads;
gint lines_per_thread;
+ guint8 *tmpline_8;
/* I420 has half as many chroma lines, as such we have to
* always merge two into one. For non-interlaced these are
if (h2 != height) {
for (i = h2; i < height; i++) {
UNPACK_FRAME (src, convert->tmpline[0], i, convert->in_x, width);
+
+ tmpline_8 = (guint8 *) convert->tmpline[0];
+ for (int j = 0; j < width * 4; j++) {
+ tmpline_8[j] = convert->tmpline[0][j] >> 8;
+ }
+
PACK_FRAME (dest, convert->tmpline[0], i, width);
}
}