+ case AV_CODEC_ID_ADPCM_IMA_WS:
+ {
+ PutBitContext pb;
+ init_put_bits(&pb, dst, pkt_size);
+
+ av_assert0(avctx->trellis == 0);
+ for (n = frame->nb_samples / 2; n > 0; n--) {
+ /* stereo: 1 byte (2 samples) for left, 1 byte for right */
+ for (ch = 0; ch < avctx->channels; ch++) {
+ int t1, t2;
+ t1 = adpcm_ima_compress_sample(&c->status[ch], *samples++);
+ t2 = adpcm_ima_compress_sample(&c->status[ch], samples[st]);
+ put_bits(&pb, 4, t2);
+ put_bits(&pb, 4, t1);
+ }
+ samples += avctx->channels;
+ }
+ flush_put_bits(&pb);
+ break;
+ }