static void h261_encode_motion(H261Context * h, int val){

    MpegEncContext * const s = &h->s;

    int sign, code;

    if(val==0){

        code = 0;

        put_bits(&s->pb,h261_mv_tab[code][1],h261_mv_tab[code][0]);

    } 

    else{

        if(val > 16)

            val -=32;

        if(val < -16)

            val+=32;

        sign = val < 0;

        code = sign ? -val : val; 

        put_bits(&s->pb,h261_mv_tab[code][1],h261_mv_tab[code][0]);

        put_bits(&s->pb,1,sign);

    }

}

static void h261_encode_motion(H261Context * h, int val){

    MpegEncContext * const s = &h->s;

    int sign, code;

    if(val==0){

        code = 0;

        put_bits(&s->pb,h261_mv_tab[code][1],h261_mv_tab[code][0]);

    } 

    else{

        if(val > 16)

            val -=32;

        if(val < -16)

            val+=32;

        sign = val < 0;

        code = sign ? -val : val; 

        put_bits(&s->pb,h261_mv_tab[code][1],h261_mv_tab[code][0]);

        put_bits(&s->pb,1,sign);

    }

}

static void FUNC_0(H261Context * VAR_0, int VAR_1){

    MpegEncContext * const s = &VAR_0->s;

    int VAR_2, VAR_3;

    if(VAR_1==0){

        VAR_3 = 0;

        put_bits(&s->pb,h261_mv_tab[VAR_3][1],h261_mv_tab[VAR_3][0]);

    } 

    else{

        if(VAR_1 > 16)

            VAR_1 -=32;

        if(VAR_1 < -16)

            VAR_1+=32;

        VAR_2 = VAR_1 < 0;

        VAR_3 = VAR_2 ? -VAR_1 : VAR_1; 

        put_bits(&s->pb,h261_mv_tab[VAR_3][1],h261_mv_tab[VAR_3][0]);

        put_bits(&s->pb,1,VAR_2);

    }

}

static void FUNC_0(H261Context * VAR_0, int VAR_1){ MpegEncContext * const s = &VAR_0->s; int VAR_2, VAR_3; if(VAR_1==0){ VAR_3 = 0; put_bits(&s->pb,h261_mv_tab[VAR_3][1],h261_mv_tab[VAR_3][0]); } else{ if(VAR_1 > 16)
VAR_1 -=32; if(VAR_1 < -16)
VAR_1+=32; VAR_2 = VAR_1 < 0; VAR_3 = VAR_2 ? -VAR_1 : VAR_1; put_bits(&s->pb,h261_mv_tab[VAR_3][1],h261_mv_tab[VAR_3][0]); put_bits(&s->pb,1,VAR_2); } }