screenshooter: correct output ordering of screencast recording when Y-flip is off
The screenshooter encoder wrote the output from either top-to-bottom or bottom-to-top, depending on the Y-flip setting, but wcap-decode only decodes from bottom-to-top. Make the encoder always output from bottom-to-top, to match the decoder, and flip the input (source) according to the Y-flip setting. Signed-off-by: Tomohito Esaki <etom@igel.co.jp> Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
This commit is contained in:
parent
a6714fa0fa
commit
9054e4c8c4
@ -417,14 +417,14 @@ weston_recorder_frame_notify(struct wl_listener *listener, void *data)
|
||||
compositor->read_format, recorder->rect,
|
||||
r[i].x1, y_orig, width, height);
|
||||
|
||||
s = recorder->rect;
|
||||
p = outbuf;
|
||||
run = prev = 0; /* quiet gcc */
|
||||
for (j = 0; j < height; j++) {
|
||||
if (do_yflip)
|
||||
y_orig = r[i].y2 - j - 1;
|
||||
s = recorder->rect + width * j;
|
||||
else
|
||||
y_orig = r[i].y1 + j;
|
||||
s = recorder->rect + width * (height - j - 1);
|
||||
y_orig = r[i].y2 - j - 1;
|
||||
d = recorder->frame + stride * y_orig + r[i].x1;
|
||||
|
||||
for (k = 0; k < width; k++) {
|
||||
|
Loading…
Reference in New Issue
Block a user