out_vb->sequence =
                get_q_data(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE)->sequence++;
        in_vb->sequence = q_data->sequence++;
-       out_vb->vb2_buf.timestamp = in_vb->vb2_buf.timestamp;
-
-       if (in_vb->flags & V4L2_BUF_FLAG_TIMECODE)
-               out_vb->timecode = in_vb->timecode;
-       out_vb->field = in_vb->field;
-       out_vb->flags = in_vb->flags &
-               (V4L2_BUF_FLAG_TIMECODE |
-                V4L2_BUF_FLAG_KEYFRAME |
-                V4L2_BUF_FLAG_PFRAME |
-                V4L2_BUF_FLAG_BFRAME |
-                V4L2_BUF_FLAG_TSTAMP_SRC_MASK);
+       v4l2_m2m_buf_copy_data(out_vb, in_vb, true);
 
        switch (ctx->mode) {
        case MEM2MEM_HFLIP | MEM2MEM_VFLIP: