static void copy_bits(PutBitContext *pb,

                      const uint8_t *data, int size,

                      GetBitContext *gb, int nbits)

{

    int rmn_bytes, rmn_bits;



    rmn_bits = rmn_bytes = get_bits_left(gb);

    if (rmn_bits < nbits)




    rmn_bits &= 7; rmn_bytes >>= 3;

    if ((rmn_bits = FFMIN(rmn_bits, nbits)) > 0)

        put_bits(pb, rmn_bits, get_bits(gb, rmn_bits));

    ff_copy_bits(pb, data + size - rmn_bytes,

                 FFMIN(nbits - rmn_bits, rmn_bytes << 3));

}
static void copy_bits(PutBitContext *pb,

                      const uint8_t *data, int size,

                      GetBitContext *gb, int nbits)

{

    int rmn_bytes, rmn_bits;



    rmn_bits = rmn_bytes = get_bits_left(gb);

    if (rmn_bits < nbits)




    rmn_bits &= 7; rmn_bytes >>= 3;

    if ((rmn_bits = FFMIN(rmn_bits, nbits)) > 0)

        put_bits(pb, rmn_bits, get_bits(gb, rmn_bits));

    ff_copy_bits(pb, data + size - rmn_bytes,

                 FFMIN(nbits - rmn_bits, rmn_bytes << 3));

}
static void FUNC_0(PutBitContext *VAR_0,

                      const uint8_t *VAR_1, int VAR_2,

                      GetBitContext *VAR_3, int VAR_4)

{

    int VAR_5, VAR_6;



    VAR_6 = VAR_5 = get_bits_left(VAR_3);

    if (VAR_6 < VAR_4)




    VAR_6 &= 7; VAR_5 >>= 3;

    if ((VAR_6 = FFMIN(VAR_6, VAR_4)) > 0)

        put_bits(VAR_0, VAR_6, get_bits(VAR_3, VAR_6));

    ff_copy_bits(VAR_0, VAR_1 + VAR_2 - VAR_5,

                 FFMIN(VAR_4 - VAR_6, VAR_5 << 3));

}
static void FUNC_0(PutBitContext *VAR_0,
const uint8_t *VAR_1, int VAR_2,
GetBitContext *VAR_3, int VAR_4)
{ int VAR_5, VAR_6; VAR_6 = VAR_5 = get_bits_left(VAR_3); if (VAR_6 < VAR_4)
VAR_6 &= 7; VAR_5 >>= 3; if ((VAR_6 = FFMIN(VAR_6, VAR_4)) > 0)
put_bits(VAR_0, VAR_6, get_bits(VAR_3, VAR_6)); ff_copy_bits(VAR_0, VAR_1 + VAR_2 - VAR_5,
FFMIN(VAR_4 - VAR_6, VAR_5 << 3)); }