static void copy_bits(PutBitContext *pb, UINT8 *src, int length)

{

#if 1

    int bytes= length>>4;

    int bits= length&15;

    int i;



    for(i=0; i<bytes; i++) put_bits(pb, 16, be2me_16(((uint16_t*)src)[i]));

    put_bits(pb, bits, be2me_16(((uint16_t*)src)[i])>>(16-bits));

#else

    int bytes= length>>3;

    int bits= length&7;

    int i;



    for(i=0; i<bytes; i++) put_bits(pb, 8, src[i]);

    put_bits(pb, bits, src[i]>>(8-bits));

#endif

}

static void copy_bits(PutBitContext *pb, UINT8 *src, int length)

{

#if 1

    int bytes= length>>4;

    int bits= length&15;

    int i;



    for(i=0; i<bytes; i++) put_bits(pb, 16, be2me_16(((uint16_t*)src)[i]));

    put_bits(pb, bits, be2me_16(((uint16_t*)src)[i])>>(16-bits));

#else

    int bytes= length>>3;

    int bits= length&7;

    int i;



    for(i=0; i<bytes; i++) put_bits(pb, 8, src[i]);

    put_bits(pb, bits, src[i]>>(8-bits));

#endif

}

static void FUNC_0(PutBitContext *VAR_0, UINT8 *VAR_1, int VAR_2)

{

#if 1

    int VAR_3= VAR_2>>4;

    int VAR_4= VAR_2&15;

    int VAR_5;



    for(VAR_5=0; VAR_5<VAR_3; VAR_5++) put_bits(VAR_0, 16, be2me_16(((uint16_t*)VAR_1)[VAR_5]));

    put_bits(VAR_0, VAR_4, be2me_16(((uint16_t*)VAR_1)[VAR_5])>>(16-VAR_4));

#else

    int VAR_3= VAR_2>>3;

    int VAR_4= VAR_2&7;

    int VAR_5;



    for(VAR_5=0; VAR_5<VAR_3; VAR_5++) put_bits(VAR_0, 8, VAR_1[VAR_5]);

    put_bits(VAR_0, VAR_4, VAR_1[VAR_5]>>(8-VAR_4));

#endif

}

static void FUNC_0(PutBitContext *VAR_0, UINT8 *VAR_1, int VAR_2)
{ #if 1
int VAR_3= VAR_2>>4; int VAR_4= VAR_2&15; int VAR_5; for(VAR_5=0; VAR_5<VAR_3; VAR_5++) put_bits(VAR_0, 16, be2me_16(((uint16_t*)VAR_1)[VAR_5])); put_bits(VAR_0, VAR_4, be2me_16(((uint16_t*)VAR_1)[VAR_5])>>(16-VAR_4)); #else
int VAR_3= VAR_2>>3; int VAR_4= VAR_2&7; int VAR_5; for(VAR_5=0; VAR_5<VAR_3; VAR_5++) put_bits(VAR_0, 8, VAR_1[VAR_5]); put_bits(VAR_0, VAR_4, VAR_1[VAR_5]>>(8-VAR_4)); #endif
}