[media] coda: disable rotator if not needed
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 29 Sep 2014 12:53:45 +0000 (09:53 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 28 Oct 2014 16:29:23 +0000 (14:29 -0200)
This will still do a 1:1 copy into the internal buffers, but stop
producing visual artifacts in chroma interleaved (NV12) mode.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/coda/coda-bit.c

index f01393c..747b544 100644 (file)
@@ -1037,6 +1037,7 @@ static int coda_prepare_encode(struct coda_ctx *ctx)
        int force_ipicture;
        int quant_param = 0;
        u32 pic_stream_buffer_addr, pic_stream_buffer_size;
+       u32 rot_mode = 0;
        u32 dst_fourcc;
        u32 reg;
 
@@ -1124,8 +1125,9 @@ static int coda_prepare_encode(struct coda_ctx *ctx)
        }
 
        /* submit */
-       coda_write(dev, CODA_ROT_MIR_ENABLE | ctx->params.rot_mode,
-                  CODA_CMD_ENC_PIC_ROT_MODE);
+       if (ctx->params.rot_mode)
+               rot_mode = CODA_ROT_MIR_ENABLE | ctx->params.rot_mode;
+       coda_write(dev, rot_mode, CODA_CMD_ENC_PIC_ROT_MODE);
        coda_write(dev, quant_param, CODA_CMD_ENC_PIC_QS);