struct v4l2_format *f)
 {
        struct coda_ctx *ctx = fh_to_ctx(priv);
-       const struct coda_codec *codec;
+       const struct coda_codec *codec = NULL;
 
        /* Determine codec by encoded format, returns NULL if raw or invalid */
-       codec = coda_find_codec(ctx->dev, f->fmt.pix.pixelformat,
-                               V4L2_PIX_FMT_YUV420);
-       if (!codec && ctx->inst_type == CODA_INST_DECODER) {
-               codec = coda_find_codec(ctx->dev, V4L2_PIX_FMT_H264,
+       if (ctx->inst_type == CODA_INST_DECODER) {
+               codec = coda_find_codec(ctx->dev, f->fmt.pix.pixelformat,
                                        V4L2_PIX_FMT_YUV420);
+               if (!codec)
+                       codec = coda_find_codec(ctx->dev, V4L2_PIX_FMT_H264,
+                                               V4L2_PIX_FMT_YUV420);
                if (!codec)
                        return -EINVAL;
        }