diff --git a/camera/drivers/video4linux2.c b/camera/drivers/video4linux2.c index 164cb93957..06f514e6a6 100644 --- a/camera/drivers/video4linux2.c +++ b/camera/drivers/video4linux2.c @@ -348,11 +348,11 @@ static void *v4l_init(const char *device, uint64_t caps, goto error; } - v4l->scaler.in_width = v4l->scaler.out_width = v4l->width; - v4l->scaler.in_height = v4l->scaler.out_height = v4l->height; - v4l->scaler.in_fmt = SCALER_FMT_YUYV; - v4l->scaler.out_fmt = SCALER_FMT_ARGB8888; - v4l->scaler.in_stride = v4l->pitch; + v4l->scaler.in_width = v4l->scaler.out_width = v4l->width; + v4l->scaler.in_height = v4l->scaler.out_height = v4l->height; + v4l->scaler.in_fmt = SCALER_FMT_YUYV; + v4l->scaler.out_fmt = SCALER_FMT_ARGB8888; + v4l->scaler.in_stride = v4l->pitch; v4l->scaler.out_stride = v4l->width * 4; if (!scaler_ctx_gen_filter(&v4l->scaler)) diff --git a/libretro-sdk/gfx/scaler/scaler.c b/libretro-sdk/gfx/scaler/scaler.c index 5a63e2c2c6..1bd6fdc407 100644 --- a/libretro-sdk/gfx/scaler/scaler.c +++ b/libretro-sdk/gfx/scaler/scaler.c @@ -315,8 +315,10 @@ void scaler_ctx_scale(struct scaler_ctx *ctx, else { /* Take generic filter path. */ - ctx->scaler_horiz(ctx, input_frame, input_stride); - ctx->scaler_vert (ctx, output, output_stride); + if (ctx->scaler_horiz) + ctx->scaler_horiz(ctx, input_frame, input_stride); + if (ctx->scaler_vert) + ctx->scaler_vert (ctx, output, output_stride); } if (ctx->out_fmt != SCALER_FMT_ARGB8888) @@ -324,4 +326,3 @@ void scaler_ctx_scale(struct scaler_ctx *ctx, ctx->out_width, ctx->out_height, ctx->out_stride, ctx->output.stride); } -