static void decode_cdlms(WmallDecodeCtx *s)

{

    int c, i;

    int cdlms_send_coef = get_bits1(&s->gb);



    for(c = 0; c < s->num_channels; c++) {

	s->cdlms_ttl[c] = get_bits(&s->gb, 3) + 1;

	for(i = 0; i < s->cdlms_ttl[c]; i++) {

	    s->cdlms[c][i].order = (get_bits(&s->gb, 7) + 1) * 8;

	}



	for(i = 0; i < s->cdlms_ttl[c]; i++) {

	    s->cdlms[c][i].scaling = get_bits(&s->gb, 4);

	}



	if(cdlms_send_coef) {

	    for(i = 0; i < s->cdlms_ttl[c]; i++) {

		int cbits, shift_l, shift_r, j;

		cbits = av_log2(s->cdlms[c][i].order);

		if(1 << cbits < s->cdlms[c][i].order)

		    cbits++;

		s->cdlms[c][i].coefsend = get_bits(&s->gb, cbits) + 1;



		cbits = av_log2(s->cdlms[c][i].scaling + 1);

		if(1 << cbits < s->cdlms[c][i].scaling + 1)

		    cbits++;



		s->cdlms[c][i].bitsend = get_bits(&s->gb, cbits) + 2;

		shift_l = 32 - s->cdlms[c][i].bitsend;

		shift_r = 32 - 2 - s->cdlms[c][i].scaling;

		for(j = 0; j < s->cdlms[c][i].coefsend; j++) {

		    s->cdlms[c][i].coefs[j] =

			(get_bits(&s->gb, s->cdlms[c][i].bitsend) << shift_l) >> shift_r;

		}

	    }

	}

    }

}

static void decode_cdlms(WmallDecodeCtx *s)

{

    int c, i;

    int cdlms_send_coef = get_bits1(&s->gb);



    for(c = 0; c < s->num_channels; c++) {

	s->cdlms_ttl[c] = get_bits(&s->gb, 3) + 1;

	for(i = 0; i < s->cdlms_ttl[c]; i++) {

	    s->cdlms[c][i].order = (get_bits(&s->gb, 7) + 1) * 8;

	}



	for(i = 0; i < s->cdlms_ttl[c]; i++) {

	    s->cdlms[c][i].scaling = get_bits(&s->gb, 4);

	}



	if(cdlms_send_coef) {

	    for(i = 0; i < s->cdlms_ttl[c]; i++) {

		int cbits, shift_l, shift_r, j;

		cbits = av_log2(s->cdlms[c][i].order);

		if(1 << cbits < s->cdlms[c][i].order)

		    cbits++;

		s->cdlms[c][i].coefsend = get_bits(&s->gb, cbits) + 1;



		cbits = av_log2(s->cdlms[c][i].scaling + 1);

		if(1 << cbits < s->cdlms[c][i].scaling + 1)

		    cbits++;



		s->cdlms[c][i].bitsend = get_bits(&s->gb, cbits) + 2;

		shift_l = 32 - s->cdlms[c][i].bitsend;

		shift_r = 32 - 2 - s->cdlms[c][i].scaling;

		for(j = 0; j < s->cdlms[c][i].coefsend; j++) {

		    s->cdlms[c][i].coefs[j] =

			(get_bits(&s->gb, s->cdlms[c][i].bitsend) << shift_l) >> shift_r;

		}

	    }

	}

    }

}

	s->cdlms_ttl[c] = get_bits(&s->gb, 3) + 1; 	for(i = 0; i < s->cdlms_ttl[c]; i++) { 	    s->cdlms[c][i].order = (get_bits(&s->gb, 7) + 1) * 8; 	for(i = 0; i < s->cdlms_ttl[c]; i++) { 	    s->cdlms[c][i].scaling = get_bits(&s->gb, 4); 	if(cdlms_send_coef) { 	    for(i = 0; i < s->cdlms_ttl[c]; i++) { 		int cbits, shift_l, shift_r, j; 		cbits = av_log2(s->cdlms[c][i].order); 		if(1 << cbits < s->cdlms[c][i].order) 		    cbits++; 		s->cdlms[c][i].coefsend = get_bits(&s->gb, cbits) + 1; 		cbits = av_log2(s->cdlms[c][i].scaling + 1); 		if(1 << cbits < s->cdlms[c][i].scaling + 1) 		    cbits++; 		s->cdlms[c][i].bitsend = get_bits(&s->gb, cbits) + 2; 		shift_l = 32 - s->cdlms[c][i].bitsend; 		shift_r = 32 - 2 - s->cdlms[c][i].scaling; 		for(j = 0; j < s->cdlms[c][i].coefsend; j++) { 		    s->cdlms[c][i].coefs[j] = 			(get_bits(&s->gb, s->cdlms[c][i].bitsend) << shift_l) >> shift_r;
static void FUNC_0(WmallDecodeCtx *VAR_0)

{

    int VAR_1, VAR_2;

    int VAR_3 = get_bits1(&VAR_0->gb);



    for(VAR_1 = 0; VAR_1 < VAR_0->num_channels; VAR_1++) {

	VAR_0->cdlms_ttl[VAR_1] = get_bits(&VAR_0->gb, 3) + 1;

	for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) {

	    VAR_0->cdlms[VAR_1][VAR_2].order = (get_bits(&VAR_0->gb, 7) + 1) * 8;

	}



	for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) {

	    VAR_0->cdlms[VAR_1][VAR_2].scaling = get_bits(&VAR_0->gb, 4);

	}



	if(VAR_3) {

	    for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) {

		int cbits, shift_l, shift_r, j;

		cbits = av_log2(VAR_0->cdlms[VAR_1][VAR_2].order);

		if(1 << cbits < VAR_0->cdlms[VAR_1][VAR_2].order)

		    cbits++;

		VAR_0->cdlms[VAR_1][VAR_2].coefsend = get_bits(&VAR_0->gb, cbits) + 1;



		cbits = av_log2(VAR_0->cdlms[VAR_1][VAR_2].scaling + 1);

		if(1 << cbits < VAR_0->cdlms[VAR_1][VAR_2].scaling + 1)

		    cbits++;



		VAR_0->cdlms[VAR_1][VAR_2].bitsend = get_bits(&VAR_0->gb, cbits) + 2;

		shift_l = 32 - VAR_0->cdlms[VAR_1][VAR_2].bitsend;

		shift_r = 32 - 2 - VAR_0->cdlms[VAR_1][VAR_2].scaling;

		for(j = 0; j < VAR_0->cdlms[VAR_1][VAR_2].coefsend; j++) {

		    VAR_0->cdlms[VAR_1][VAR_2].coefs[j] =

			(get_bits(&VAR_0->gb, VAR_0->cdlms[VAR_1][VAR_2].bitsend) << shift_l) >> shift_r;

		}

	    }

	}

    }

}

static void FUNC_0(WmallDecodeCtx *VAR_0)
{ int VAR_1, VAR_2; int VAR_3 = get_bits1(&VAR_0->gb); for(VAR_1 = 0; VAR_1 < VAR_0->num_channels; VAR_1++) { VAR_0->cdlms_ttl[VAR_1] = get_bits(&VAR_0->gb, 3) + 1; for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) { VAR_0->cdlms[VAR_1][VAR_2].order = (get_bits(&VAR_0->gb, 7) + 1) * 8; } for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) { VAR_0->cdlms[VAR_1][VAR_2].scaling = get_bits(&VAR_0->gb, 4); } if(VAR_3) { for(VAR_2 = 0; VAR_2 < VAR_0->cdlms_ttl[VAR_1]; VAR_2++) { int cbits, shift_l, shift_r, j; cbits = av_log2(VAR_0->cdlms[VAR_1][VAR_2].order); if(1 << cbits < VAR_0->cdlms[VAR_1][VAR_2].order)
cbits++; VAR_0->cdlms[VAR_1][VAR_2].coefsend = get_bits(&VAR_0->gb, cbits) + 1; cbits = av_log2(VAR_0->cdlms[VAR_1][VAR_2].scaling + 1); if(1 << cbits < VAR_0->cdlms[VAR_1][VAR_2].scaling + 1)
cbits++; VAR_0->cdlms[VAR_1][VAR_2].bitsend = get_bits(&VAR_0->gb, cbits) + 2; shift_l = 32 - VAR_0->cdlms[VAR_1][VAR_2].bitsend; shift_r = 32 - 2 - VAR_0->cdlms[VAR_1][VAR_2].scaling; for(j = 0; j < VAR_0->cdlms[VAR_1][VAR_2].coefsend; j++) { VAR_0->cdlms[VAR_1][VAR_2].coefs[j] =
(get_bits(&VAR_0->gb, VAR_0->cdlms[VAR_1][VAR_2].bitsend) << shift_l) >> shift_r; } } } } }