Lines Matching refs:bitstream

55 static int32_t	EncodeStereo (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * input, uint32_t stride, uint32_t channelIndex, uint32_t numSamples) ;
56 static int32_t EncodeStereoFast (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * input, uint32_t stride, uint32_t channelIndex, uint32_t numSamples) ;
57 static int32_t EncodeStereoEscape (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * input, uint32_t stride, uint32_t numSamples) ;
58 static int32_t EncodeMono (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * input, uint32_t stride, uint32_t channelIndex, uint32_t numSamples) ;
144 ---Then comes the AG-compressor bitstream---
170 bitstream. Note that doing this also allows us to use matrixing on 32-bit inputs after one or more
222 EncodeStereo (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * inputBuffer, uint32_t stride, uint32_t channelIndex, uint32_t numSamples)
225 BitBuffer startBits = *bitstream ; // squirrel away copy of current state in case we need to go back and do an escape packet
403 // write bitstream header and coefs
404 BitBufferWrite (bitstream, 0, 12) ;
405 BitBufferWrite (bitstream, (partialFrame << 3) | (bytesShifted << 1), 4) ;
407 BitBufferWrite (bitstream, numSamples, 32) ;
408 BitBufferWrite (bitstream, mixBits, 8) ;
409 BitBufferWrite (bitstream, mixRes, 8) ;
415 BitBufferWrite (bitstream, (mode << 4) | DENSHIFT_DEFAULT, 8) ;
416 BitBufferWrite (bitstream, (pbFactor << 5) | numU, 8) ;
418 BitBufferWrite (bitstream, coefsU [numU - 1][indx], 16) ;
420 BitBufferWrite (bitstream, (mode << 4) | DENSHIFT_DEFAULT, 8) ;
421 BitBufferWrite (bitstream, (pbFactor << 5) | numV, 8) ;
423 BitBufferWrite (bitstream, coefsV [numV - 1][indx], 16) ;
437 BitBufferWrite (bitstream, shiftedVal, bitShift * 2) ;
455 status = dyn_comp (&agParams, p->mPredictorU, bitstream, numSamples, chanBits, &bits1) ;
470 status = dyn_comp (&agParams, p->mPredictorV, bitstream, numSamples, chanBits, &bits2) ;
476 minBits = BitBufferGetPosition (bitstream) - BitBufferGetPosition (&startBits) ;
479 *bitstream = startBits ; // reset bitstream state
488 status = EncodeStereoEscape (p, bitstream, inputBuffer, stride, numSamples) ;
504 EncodeStereoFast (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * inputBuffer, uint32_t stride, uint32_t channelIndex, uint32_t numSamples)
506 BitBuffer startBits = *bitstream ; // squirrel away current bit position in case we decide to use escape hatch
580 /* speculatively write the bitstream assuming the compressed version will be smaller */
582 // write bitstream header and coefs
583 BitBufferWrite (bitstream, 0, 12) ;
584 BitBufferWrite (bitstream, (partialFrame << 3) | (bytesShifted << 1), 4) ;
586 BitBufferWrite (bitstream, numSamples, 32) ;
587 BitBufferWrite (bitstream, mixBits, 8) ;
588 BitBufferWrite (bitstream, mixRes, 8) ;
594 BitBufferWrite (bitstream, (mode << 4) | DENSHIFT_DEFAULT, 8) ;
595 BitBufferWrite (bitstream, (pbFactor << 5) | numU, 8) ;
597 BitBufferWrite (bitstream, coefsU [numU - 1][indx], 16) ;
599 BitBufferWrite (bitstream, (mode << 4) | DENSHIFT_DEFAULT, 8) ;
600 BitBufferWrite (bitstream, (pbFactor << 5) | numV, 8) ;
602 BitBufferWrite (bitstream, coefsV [numV - 1][indx], 16) ;
616 BitBufferWrite (bitstream, shiftedVal, bitShift * 2) ;
625 status = dyn_comp (&agParams, p->mPredictorU, bitstream, numSamples, chanBits, &bits1) ;
632 status = dyn_comp (&agParams, p->mPredictorV, bitstream, numSamples, chanBits, &bits2) ;
653 minBits = BitBufferGetPosition (bitstream) - BitBufferGetPosition (&startBits) ;
666 // reset bitstream position since we speculatively wrote the compressed version
667 *bitstream = startBits ;
670 status = EncodeStereoEscape (p, bitstream, inputBuffer, stride, numSamples) ;
686 EncodeStereoEscape (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * inputBuffer, uint32_t stride, uint32_t numSamples)
694 // write bitstream header
695 BitBufferWrite (bitstream, 0, 12) ;
696 BitBufferWrite (bitstream, (partialFrame << 3) | 1, 4) ; // LSB = 1 means "frame not compressed"
698 BitBufferWrite (bitstream, numSamples, 32) ;
706 BitBufferWrite (bitstream, inputBuffer [indx + 0] >> 16, 16) ;
707 BitBufferWrite (bitstream, inputBuffer [indx + 1] >> 16, 16) ;
713 BitBufferWrite (bitstream, inputBuffer [indx + 0] >> 12, 16) ;
714 BitBufferWrite (bitstream, inputBuffer [indx + 1] >> 12, 16) ;
722 BitBufferWrite (bitstream, p->mMixBufferU [indx] >> 8, 24) ;
723 BitBufferWrite (bitstream, p->mMixBufferV [indx] >> 8, 24) ;
729 BitBufferWrite (bitstream, inputBuffer [indx + 0], 32) ;
730 BitBufferWrite (bitstream, inputBuffer [indx + 1], 32) ;
743 EncodeMono (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * inputBuffer, uint32_t stride, uint32_t channelIndex, uint32_t numSamples)
745 BitBuffer startBits = *bitstream ; // squirrel away copy of current state in case we need to go back and do an escape packet
868 // write bitstream header
869 BitBufferWrite (bitstream, 0, 12) ;
870 BitBufferWrite (bitstream, (partialFrame << 3) | (bytesShifted << 1), 4) ;
872 BitBufferWrite (bitstream, numSamples, 32) ;
873 BitBufferWrite (bitstream, 0, 16) ; // mixBits = mixRes = 0
877 BitBufferWrite (bitstream, (0 << 4) | DENSHIFT_DEFAULT, 8) ; // modeU = 0
878 BitBufferWrite (bitstream, (pbFactor << 5) | numU, 8) ;
880 BitBufferWrite (bitstream, coefsU [numU-1][indx], 16) ;
886 BitBufferWrite (bitstream, p->mShiftBufferUV [indx], shift) ;
894 status = dyn_comp (&agParams, p->mPredictorU, bitstream, numSamples, chanBits, &bits1) ;
901 minBits = BitBufferGetPosition (bitstream) - BitBufferGetPosition (&startBits) ;
904 *bitstream = startBits ; // reset bitstream state
912 // write bitstream header and coefs
913 BitBufferWrite (bitstream, 0, 12) ;
914 BitBufferWrite (bitstream, (partialFrame << 3) | 1, 4) ; // LSB = 1 means "frame not compressed"
916 BitBufferWrite (bitstream, numSamples, 32) ;
923 BitBufferWrite (bitstream, inputBuffer [indx] >> 16, 16) ;
928 BitBufferWrite (bitstream, inputBuffer [indx] >> 12, 20) ;
935 BitBufferWrite (bitstream, p->mMixBufferU [indx], 24) ;
940 BitBufferWrite (bitstream, inputBuffer [indx], 32) ;
965 BitBuffer bitstream ;
973 BitBufferInit (&bitstream, theWriteBuffer, p->mMaxOutputBytes) ;
978 BitBufferWrite (&bitstream, ID_CPE, 3) ;
979 BitBufferWrite (&bitstream, 0, 4) ;
983 status = EncodeStereo (p, &bitstream, theReadBuffer, 2, 0, numSamples) ;
985 status = EncodeStereoFast (p, &bitstream, theReadBuffer, 2, 0, numSamples) ;
991 BitBufferWrite (&bitstream, ID_SCE, 3) ;
992 BitBufferWrite (&bitstream, 0, 4) ;
995 status = EncodeMono (p, &bitstream, theReadBuffer, 1, 0, numSamples) ;
1017 BitBufferWrite (&bitstream, tag, 3) ;
1022 BitBufferWrite (&bitstream, monoElementTag, 4) ;
1024 status = EncodeMono (p, &bitstream, inputBuffer, numChannels, channelIndex, numSamples) ;
1033 BitBufferWrite (&bitstream, stereoElementTag, 4) ;
1035 status = EncodeStereo (p, &bitstream, inputBuffer, numChannels, channelIndex, numSamples) ;
1044 BitBufferWrite (&bitstream, lfeElementTag, 4) ;
1046 status = EncodeMono (p, &bitstream, inputBuffer, numChannels, channelIndex, numSamples) ;
1069 bitsLeft = BitBufferGetPosition (&bitstream) - 3 ; // - 3 for ID_END tag
1070 bytesLeft = bitstream.byteSize - ((bitsLeft + 7) / 8) ;
1073 AddFiller (&bitstream, bytesLeft) ;
1078 BitBufferWrite (&bitstream, ID_END, 3) ;
1081 BitBufferByteAlign (&bitstream, true) ;
1083 outputSize = BitBufferGetPosition (&bitstream) / 8 ;
1266 - add fill and data stream elements to the bitstream to test the decoder