static int ipvideo_decode_block_opcode_0x4(IpvideoContext *s)

{

    int x, y;

    unsigned char B, BL, BH;



    /* copy a block from the previous frame; need 1 more byte */

    CHECK_STREAM_PTR(1);



    B = *s->stream_ptr++;

    BL = B & 0x0F;

    BH = (B >> 4) & 0x0F;

    x = -8 + BL;

    y = -8 + BH;



    debug_interplay ("    motion byte = %d, (x, y) = (%d, %d)\n", B, x, y);

    return copy_from(s, &s->last_frame, x, y);

}

static int ipvideo_decode_block_opcode_0x4(IpvideoContext *s)

{

    int x, y;

    unsigned char B, BL, BH;



    

    CHECK_STREAM_PTR(1);



    B = *s->stream_ptr++;

    BL = B & 0x0F;

    BH = (B >> 4) & 0x0F;

    x = -8 + BL;

    y = -8 + BH;



    debug_interplay ("    motion byte = %d, (x, y) = (%d, %d)\n", B, x, y);

    return copy_from(s, &s->last_frame, x, y);

}

static int FUNC_0(IpvideoContext *VAR_0)

{

    int VAR_1, VAR_2;

    unsigned char VAR_3, VAR_4, VAR_5;



    

    CHECK_STREAM_PTR(1);



    VAR_3 = *VAR_0->stream_ptr++;

    VAR_4 = VAR_3 & 0x0F;

    VAR_5 = (VAR_3 >> 4) & 0x0F;

    VAR_1 = -8 + VAR_4;

    VAR_2 = -8 + VAR_5;



    debug_interplay ("    motion byte = %d, (VAR_1, VAR_2) = (%d, %d)\n", VAR_3, VAR_1, VAR_2);

    return copy_from(VAR_0, &VAR_0->last_frame, VAR_1, VAR_2);

}

static int FUNC_0(IpvideoContext *VAR_0)
{ int VAR_1, VAR_2; unsigned char VAR_3, VAR_4, VAR_5; CHECK_STREAM_PTR(1); VAR_3 = *VAR_0->stream_ptr++; VAR_4 = VAR_3 & 0x0F; VAR_5 = (VAR_3 >> 4) & 0x0F; VAR_1 = -8 + VAR_4; VAR_2 = -8 + VAR_5; debug_interplay ("    motion byte = %d, (VAR_1, VAR_2) = (%d, %d)\n", VAR_3, VAR_1, VAR_2); return copy_from(VAR_0, &VAR_0->last_frame, VAR_1, VAR_2); }