i = (!rice_order || partition) ? 0 : pred_order;
av_log(s->avctx, AV_LOG_DEBUG, "fixed len partition\n"); tmp = get_bits(&s->gb, 5);
static int decode_residuals(FLACContext *s, int channel, int pred_order){    int i, tmp, partition, method_type, rice_order;    int sample = 0, samples;    method_type = get_bits(&s->gb, 2);    if (method_type != 0)        return -1;        rice_order = get_bits(&s->gb, 4);    samples = (rice_order > 0) ?        (s->blocksize >> rice_order) : (s->blocksize - pred_order);    for (partition = 0; partition < (1 << rice_order); partition++)    {        tmp = get_bits(&s->gb, 4);        if (tmp == 0)        {            i = (!rice_order || partition) ? 0 : pred_order;            for (; i < samples; i++, sample++)                s->residual[channel][sample] = get_sr_golomb_flac(&s->gb, tmp, 0, 0);            printf("zero k\n");        }        else if (tmp == 15)        {            printf("fixed len partition\n");            tmp = get_bits(&s->gb, 5);            i = (!rice_order || partition) ? 0 : pred_order;            for (; i < samples; i++, sample++)                s->residual[channel][sample] = get_bits(&s->gb, tmp);        }        else        {//            printf("rice coded partition\n");#if 1            i = (!rice_order || partition) ? 0 : pred_order;            for (; i < samples; i++, sample++)                s->residual[channel][sample] = get_sr_golomb_flac(&s->gb, tmp, 0, 0);#else            i = ((!rice_order || partition) ? samples : samples - pred_order) + sample;            for (; sample < i; sample++)                s->residual[channel][sample] = get_ur_golomb(&s->gb, tmp, 0, 0);//                s->residual[channel][sample] = get_se_golomb(&s->gb);#endif        }    }    printf("partitions: %d, samples: %d\n", 1 << rice_order, sample);    return 0;}    