* Copy channel-interleaved input samples into separate subframes */
| 404 | * Copy channel-interleaved input samples into separate subframes |
| 405 | */ |
| 406 | static void copy_samples(FlacEncodeContext *s, int16_t *samples) |
| 407 | { |
| 408 | int i, j, ch; |
| 409 | FlacFrame *frame; |
| 410 | |
| 411 | frame = &s->frame; |
| 412 | for(i=0,j=0; i<frame->blocksize; i++) { |
| 413 | for(ch=0; ch<s->channels; ch++,j++) { |
| 414 | frame->subframes[ch].samples[i] = samples[j]; |
| 415 | } |
| 416 | } |
| 417 | } |
| 418 | |
| 419 | |
| 420 | #define rice_encode_count(sum, n, k) (((n)*((k)+1))+((sum-(n>>1))>>(k))) |