if (y == 1 || s->first_slice_line) {
if (y == 1 || s->first_slice_line || s->first_gob_line) {
INT16 *h263_pred_motion(MpegEncContext * s, int block,                         int *px, int *py){    int x, y, wrap;    INT16 *A, *B, *C, *mot_val;    x = 2 * s->mb_x + 1 + (block & 1);    y = 2 * s->mb_y + 1 + ((block >> 1) & 1);    wrap = 2 * s->mb_width + 2;    mot_val = s->motion_val[(x) + (y) * wrap];    /* special case for first line */    if (y == 1 || s->first_slice_line) {        A = s->motion_val[(x-1) + (y) * wrap];        *px = A[0];        *py = A[1];    } else {        switch(block) {        default:        case 0:            A = s->motion_val[(x-1) + (y) * wrap];            B = s->motion_val[(x) + (y-1) * wrap];            C = s->motion_val[(x+2) + (y-1) * wrap];            break;        case 1:        case 2:            A = s->motion_val[(x-1) + (y) * wrap];            B = s->motion_val[(x) + (y-1) * wrap];            C = s->motion_val[(x+1) + (y-1) * wrap];            break;        case 3:            A = s->motion_val[(x-1) + (y) * wrap];            B = s->motion_val[(x-1) + (y-1) * wrap];            C = s->motion_val[(x) + (y-1) * wrap];            break;        }        *px = mid_pred(A[0], B[0], C[0]);        *py = mid_pred(A[1], B[1], C[1]);    }    return mot_val;}