printk(KERN_ERR "%s() error, ret = 0x%x\n", __func__, ret);
 
        /* Establish video bitrates */
-       vb.ucVideoBitRateMode = 0;
+       if (port->encoder_params.bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CBR)
+               vb.ucVideoBitRateMode = EU_VIDEO_BIT_RATE_MODE_CONSTANT;
+       else
+               vb.ucVideoBitRateMode = EU_VIDEO_BIT_RATE_MODE_VARIABLE_PEAK;
        vb.dwVideoBitRate = port->encoder_params.bitrate;
        vb.dwVideoBitRatePeak = vb.dwVideoBitRate;
        ret = saa7164_cmd_send(port->dev, port->hwcfg.sourceid, SET_CUR,
 
        V4L2_CID_MPEG_VIDEO_ASPECT,
        V4L2_CID_MPEG_STREAM_TYPE,
        V4L2_CID_MPEG_AUDIO_MUTE,
+       V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
        V4L2_CID_MPEG_VIDEO_BITRATE,
        0
 };
        case V4L2_CID_MPEG_VIDEO_ASPECT:
                ctrl->value = params->ctl_aspect;
                break;
+       case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
+               ctrl->value = params->bitrate_mode;
+               break;
        default:
                return -EINVAL;
        }
                        (ctrl->value <= 255))
                        ret = 0;
                break;
+       case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
+               if ((ctrl->value == V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) ||
+                       (ctrl->value == V4L2_MPEG_VIDEO_BITRATE_MODE_CBR))
+                       ret = 0;
+               break;
        default:
                ret = -EINVAL;
        }
                        ret = -EIO;
                }
                break;
+       case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
+               params->bitrate_mode = ctrl->value;
+               break;
        default:
                return -EINVAL;
        }
                        1, V4L2_MPEG_VIDEO_ASPECT_4x3);
        case V4L2_CID_MPEG_VIDEO_GOP_SIZE:
                return v4l2_ctrl_query_fill(c, 1, 255, 1, 15);
+       case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
+               return v4l2_ctrl_query_fill(c,
+                       V4L2_MPEG_VIDEO_BITRATE_MODE_VBR, V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,
+                       1, V4L2_MPEG_VIDEO_BITRATE_MODE_VBR);
        default:
                return -EINVAL;
        }
        port->ctl_saturation = 62;
        port->ctl_sharpness = 8;
        port->encoder_params.bitrate = ENCODER_DEF_BITRATE;
+       port->encoder_params.bitrate_mode = V4L2_MPEG_VIDEO_BITRATE_MODE_VBR;
        port->encoder_params.stream_type = V4L2_MPEG_STREAM_TYPE_MPEG2_PS;
        port->encoder_params.ctl_mute = 0;
        port->encoder_params.ctl_aspect = V4L2_MPEG_VIDEO_ASPECT_4x3;