COPY_FROM_PREVIOUS();
COPY_FROM_SECOND_LAST();
static int ipvideo_decode_block_opcode_0x2(void){    unsigned char B;    int x, y;    int motion_offset;    int current_offset = sg_output_plane - sg_current_plane;    /* This is the opcode which claims to copy data from within the same     * frame at a coordinate which has not been rendered yet. Assume that     * it is supposed to be copied from the previous frame. */    /* need 1 more byte for motion */    CHECK_STREAM_PTR(1);    B = *sg_stream_ptr++;    if (B < 56) {        x = 8 + (B % 7);        y = B / 7;    } else {        x = -14 + ((B - 56) % 29);        y =   8 + ((B - 56) / 29);    }    debug_interplay ("    motion byte = %d, (x, y) = (%d, %d)\n", B, x, y);    COPY_FROM_PREVIOUS();    /* report success */    return 0;}