//Init the encoder state
for(i=0; i<avctx->channels; i++){
c->status[i].step_index = av_clip(c->status[i].step_index, 0, 63); // clip step so it fits 6 bits
- put_bits(&pb, 16, samples[i] & 0xFFFF);
+ put_sbits(&pb, 16, samples[i]);
put_bits(&pb, 6, c->status[i].step_index);
c->status[i].prev_sample = (signed short)samples[i];
}
default:
break;
}
+ avctx->sample_fmt = SAMPLE_FMT_S16;
return 0;
}
adpcm_encode_frame, \
adpcm_encode_close, \
NULL, \
+ .sample_fmts = (enum SampleFormat[]){SAMPLE_FMT_S16,SAMPLE_FMT_NONE}, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
};
#else