#define TW5864_INDIR_IN_PIC_HEIGHT(channel) (0x201 + 4 * channel)
 #define TW5864_INDIR_OUT_PIC_WIDTH(channel) (0x202 + 4 * channel)
 #define TW5864_INDIR_OUT_PIC_HEIGHT(channel) (0x203 + 4 * channel)
+
+/* Some registers skipped */
+
+#define TW5864_INDIR_CROP_ETC 0x260
+/* Define controls in register TW5864_INDIR_CROP_ETC */
+/* Enable cropping from 720 to 704 */
+#define TW5864_INDIR_CROP_ETC_CROP_EN 0x4
+
 /*
  * Interrupt status register from the front-end. Write "1" to each bit to clear
  * the interrupt
 
        tw_indir_writeb(TW5864_INDIR_OUT_PIC_WIDTH(nr), input->width / 4);
        tw_indir_writeb(TW5864_INDIR_OUT_PIC_HEIGHT(nr), input->height / 4);
 
+       /*
+        * Crop width from 720 to 704.
+        * Above register settings need value 720 involved.
+        */
+       input->width = 704;
+       tw_indir_writeb(TW5864_INDIR_CROP_ETC,
+                       tw_indir_readb(TW5864_INDIR_CROP_ETC) |
+                       TW5864_INDIR_CROP_ETC_CROP_EN);
+
        tw_writel(TW5864_DSP_PIC_MAX_MB,
                  ((input->width / 16) << 8) | (input->height / 16));
 
 {
        struct tw5864_input *input = video_drvdata(file);
 
-       f->fmt.pix.width = 720;
+       f->fmt.pix.width = 704;
        switch (input->std) {
        default:
                WARN_ON_ONCE(1);
                return -EINVAL;
 
        fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE;
-       fsize->discrete.width = 720;
+       fsize->discrete.width = 704;
        fsize->discrete.height = input->std == STD_NTSC ? 480 : 576;
 
        return 0;