Lines Matching refs:pPce
98 void CProgramConfig_Reset(CProgramConfig *pPce)
100 pPce->elCounter = 0;
103 void CProgramConfig_Init(CProgramConfig *pPce)
105 FDKmemclear(pPce, sizeof(CProgramConfig));
107 pPce->SamplingFrequencyIndex = 0xf;
111 int CProgramConfig_IsValid ( const CProgramConfig *pPce )
113 return ( (pPce->isValid) ? 1 : 0);
125 CProgramConfig *pPce,
138 FDK_ASSERT(pPce != NULL);
147 for (i=0; i < pPce->NumFrontChannelElements; i++)
149 pPce->FrontElementHeightInfo[i] = (UCHAR) FDKreadBits(bs,2);
151 for (i=0; i < pPce->NumSideChannelElements; i++)
153 pPce->SideElementHeightInfo[i] = (UCHAR) FDKreadBits(bs,2);
155 for (i=0; i < pPce->NumBackChannelElements; i++)
157 pPce->BackElementHeightInfo[i] = (UCHAR) FDKreadBits(bs,2);
179 CProgramConfig *pPce,
187 pPce->NumEffectiveChannels = 0;
188 pPce->NumChannels = 0;
189 pPce->ElementInstanceTag = (UCHAR) FDKreadBits(bs,4);
190 pPce->Profile = (UCHAR) FDKreadBits(bs,2);
191 pPce->SamplingFrequencyIndex = (UCHAR) FDKreadBits(bs,4);
192 pPce->NumFrontChannelElements = (UCHAR) FDKreadBits(bs,4);
193 pPce->NumSideChannelElements = (UCHAR) FDKreadBits(bs,4);
194 pPce->NumBackChannelElements = (UCHAR) FDKreadBits(bs,4);
195 pPce->NumLfeChannelElements = (UCHAR) FDKreadBits(bs,2);
196 pPce->NumAssocDataElements = (UCHAR) FDKreadBits(bs,3);
197 pPce->NumValidCcElements = (UCHAR) FDKreadBits(bs,4);
199 if ((pPce->MonoMixdownPresent = (UCHAR) FDKreadBits(bs,1)) != 0)
201 pPce->MonoMixdownElementNumber = (UCHAR) FDKreadBits(bs,4);
204 if ((pPce->StereoMixdownPresent = (UCHAR) FDKreadBits(bs,1)) != 0)
206 pPce->StereoMixdownElementNumber = (UCHAR) FDKreadBits(bs,4);
209 if ((pPce->MatrixMixdownIndexPresent = (UCHAR) FDKreadBits(bs,1)) != 0)
211 pPce->MatrixMixdownIndex = (UCHAR) FDKreadBits(bs,2);
212 pPce->PseudoSurroundEnable = (UCHAR) FDKreadBits(bs,1);
215 for (i=0; i < pPce->NumFrontChannelElements; i++)
217 pPce->FrontElementIsCpe[i] = (UCHAR) FDKreadBits(bs,1);
218 pPce->FrontElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
219 pPce->NumChannels += pPce->FrontElementIsCpe[i] ? 2 : 1;
222 for (i=0; i < pPce->NumSideChannelElements; i++)
224 pPce->SideElementIsCpe[i] = (UCHAR) FDKreadBits(bs,1);
225 pPce->SideElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
226 pPce->NumChannels += pPce->SideElementIsCpe[i] ? 2 : 1;
229 for (i=0; i < pPce->NumBackChannelElements; i++)
231 pPce->BackElementIsCpe[i] = (UCHAR) FDKreadBits(bs,1);
232 pPce->BackElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
233 pPce->NumChannels += pPce->BackElementIsCpe[i] ? 2 : 1;
236 pPce->NumEffectiveChannels = pPce->NumChannels;
238 for (i=0; i < pPce->NumLfeChannelElements; i++)
240 pPce->LfeElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
241 pPce->NumChannels += 1;
244 for (i=0; i < pPce->NumAssocDataElements; i++)
246 pPce->AssocDataElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
249 for (i=0; i < pPce->NumValidCcElements; i++)
251 pPce->CcElementIsIndSw[i] = (UCHAR) FDKreadBits(bs,1);
252 pPce->ValidCcElementTagSelect[i] = (UCHAR) FDKreadBits(bs,4);
257 pPce->CommentFieldBytes = (UCHAR) FDKreadBits(bs,8);
258 commentBytes = pPce->CommentFieldBytes;
261 err = CProgramConfig_ReadHeightExt( pPce, bs, &commentBytes, alignmentAnchor );
271 pPce->Comment[i] = text;
275 pPce->isValid = (err) ? 0 : 1;
363 void CProgramConfig_GetDefault( CProgramConfig *pPce,
366 FDK_ASSERT(pPce != NULL);
369 CProgramConfig_Init(pPce);
370 pPce->Profile = 1; /* Set AAC LC because it is the only supported object type. */
375 pPce->NumFrontChannelElements = 2;
376 pPce->FrontElementIsCpe[0] = 0;
377 pPce->FrontElementIsCpe[1] = 1;
378 pPce->NumSideChannelElements = 1;
379 pPce->SideElementIsCpe[0] = 1;
380 pPce->NumBackChannelElements = 1;
381 pPce->BackElementIsCpe[0] = 1;
382 pPce->NumLfeChannelElements = 1;
383 pPce->NumChannels = 8;
384 pPce->NumEffectiveChannels = 7;
385 pPce->isValid = 1;
389 pPce->BackElementIsCpe[1] = 1;
390 pPce->NumChannels += 1;
391 pPce->NumEffectiveChannels += 1;
393 pPce->NumFrontChannelElements += 2;
394 pPce->FrontElementIsCpe[0] = 0;
395 pPce->FrontElementIsCpe[1] = 1;
396 pPce->NumBackChannelElements += 2;
397 pPce->BackElementIsCpe[0] = 1;
398 pPce->BackElementIsCpe[1] += 0;
399 pPce->NumLfeChannelElements += 1;
400 pPce->NumChannels += 7;
401 pPce->NumEffectiveChannels += 6;
402 pPce->isValid = 1;
406 pPce->FrontElementHeightInfo[2] = 1; /* Top speaker */
408 pPce->NumFrontChannelElements += 1;
409 pPce->FrontElementIsCpe[2] = 1;
410 pPce->NumChannels += 2;
411 pPce->NumEffectiveChannels += 2;
413 pPce->NumLfeChannelElements += 1;
414 pPce->NumChannels += 1;
417 pPce->NumBackChannelElements += 1;
418 pPce->BackElementIsCpe[0] = (channelConfig>4) ? 1 : 0;
419 pPce->NumChannels += (channelConfig>4) ? 2 : 1;
420 pPce->NumEffectiveChannels += (channelConfig>4) ? 2 : 1;
422 pPce->NumFrontChannelElements += 1;
423 pPce->FrontElementIsCpe[1] = 1;
424 pPce->NumChannels += 2;
425 pPce->NumEffectiveChannels += 2;
427 pPce->NumFrontChannelElements += 1;
428 pPce->FrontElementIsCpe[0] = 0;
429 pPce->NumChannels += 1;
430 pPce->NumEffectiveChannels += 1;
431 pPce->isValid = 1;
435 pPce->NumFrontChannelElements = 1;
436 pPce->FrontElementIsCpe[0] = 1;
437 pPce->NumChannels += 2;
438 pPce->NumEffectiveChannels += 2;
439 pPce->isValid = 1;
443 pPce->isValid = 0; /* To be explicit! */
447 if (pPce->isValid) {
451 for (el = 0; el < pPce->NumFrontChannelElements; el += 1) {
452 pPce->FrontElementTagSelect[el] = (pPce->FrontElementIsCpe) ? elTagCpe++ : elTagSce++;
454 for (el = 0; el < pPce->NumSideChannelElements; el += 1) {
455 pPce->SideElementTagSelect[el] = (pPce->SideElementIsCpe) ? elTagCpe++ : elTagSce++;
457 for (el = 0; el < pPce->NumBackChannelElements; el += 1) {
458 pPce->BackElementTagSelect[el] = (pPce->BackElementIsCpe) ? elTagCpe++ : elTagSce++;
461 for (el = 0; el < pPce->NumLfeChannelElements; el += 1) {
462 pPce->LfeElementTagSelect[el] = elTagSce++;
564 CProgramConfig *pPce,
584 *elMapping = pPce->elCounter;
585 if (elList[pPce->elCounter] != elType) {
601 pPce->elCounter++;
609 if (!pPce->isValid)
618 elList[pPce->elCounter] = elType;
619 *elMapping = pPce->elCounter++;
651 for (i = 0; i < pPce->NumFrontChannelElements; i++) {
652 int heightLayer = pPce->FrontElementHeightInfo[i];
653 if (isCpe == pPce->FrontElementIsCpe[i] && pPce->FrontElementTagSelect[i] == tag) {
659 for (el = 0; el < pPce->NumFrontChannelElements; el+=1) {
660 if (pPce->FrontElementHeightInfo[el] == h) {
662 chIdx += (pPce->FrontElementIsCpe[el]) ? 2 : 1;
666 for (el = 0; el < pPce->NumSideChannelElements; el+=1) {
667 if (pPce->SideElementHeightInfo[el] == h) {
669 chIdx += (pPce->SideElementIsCpe[el]) ? 2 : 1;
673 for (el = 0; el < pPce->NumBackChannelElements; el+=1) {
674 if (pPce->BackElementHeightInfo[el] == h) {
676 chIdx += (pPce->BackElementIsCpe[el]) ? 2 : 1;
680 elIdx += pPce->NumLfeChannelElements;
681 chIdx += pPce->NumLfeChannelElements;
696 if (pPce->FrontElementIsCpe[i]) {
705 for (i = 0; i < pPce->NumSideChannelElements; i++) {
706 int heightLayer = pPce->SideElementHeightInfo[i];
707 if (isCpe == pPce->SideElementIsCpe[i] && pPce->SideElementTagSelect[i] == tag) {
713 for (el = 0; el < pPce->NumFrontChannelElements; el+=1) {
714 if (pPce->FrontElementHeightInfo[el] == h) {
716 chIdx += (pPce->FrontElementIsCpe[el]) ? 2 : 1;
720 for (el = 0; el < pPce->NumSideChannelElements; el+=1) {
721 if (pPce->SideElementHeightInfo[el] == h) {
723 chIdx += (pPce->SideElementIsCpe[el]) ? 2 : 1;
727 for (el = 0; el < pPce->NumBackChannelElements; el+=1) {
728 if (pPce->BackElementHeightInfo[el] == h) {
730 chIdx += (pPce->BackElementIsCpe[el]) ? 2 : 1;
734 elIdx += pPce->NumLfeChannelElements;
735 chIdx += pPce->NumLfeChannelElements;
750 if (pPce->SideElementIsCpe[i]) {
759 for (i = 0; i < pPce->NumBackChannelElements; i++) {
760 int heightLayer = pPce->BackElementHeightInfo[i];
761 if (isCpe == pPce->BackElementIsCpe[i] && pPce->BackElementTagSelect[i] == tag) {
767 for (el = 0; el < pPce->NumFrontChannelElements; el+=1) {
768 if (pPce->FrontElementHeightInfo[el] == h) {
770 chIdx += (pPce->FrontElementIsCpe[el]) ? 2 : 1;
774 for (el = 0; el < pPce->NumSideChannelElements; el+=1) {
775 if (pPce->SideElementHeightInfo[el] == h) {
777 chIdx += (pPce->SideElementIsCpe[el]) ? 2 : 1;
781 for (el = 0; el < pPce->NumBackChannelElements; el+=1) {
782 if (pPce->BackElementHeightInfo[el] == h) {
784 chIdx += (pPce->BackElementIsCpe[el]) ? 2 : 1;
788 elIdx += pPce->NumLfeChannelElements;
789 chIdx += pPce->NumLfeChannelElements;
804 if (pPce->BackElementIsCpe[i]) {
818 for (i = 0; i < pPce->NumFrontChannelElements; i+=1) {
819 int heightLayer = pPce->FrontElementHeightInfo[i];
821 cc[heightLayer] += (pPce->FrontElementIsCpe[i]) ? 2 : 1;
824 for (i = 0; i < pPce->NumSideChannelElements; i+=1) {
825 int heightLayer = pPce->SideElementHeightInfo[i];
827 cc[heightLayer] += (pPce->SideElementIsCpe[i]) ? 2 : 1;
830 for (i = 0; i < pPce->NumBackChannelElements; i+=1) {
831 int heightLayer = pPce->BackElementHeightInfo[i];
833 cc[heightLayer] += (pPce->BackElementIsCpe[i]) ? 2 : 1;
837 for (i = 0; i < pPce->NumLfeChannelElements; i++) {
840 if ( pPce->LfeElementTagSelect[i] == tag ) {
856 for (i = 0; i < pPce->NumValidCcElements; i++) {
857 if (pPce->ValidCcElementTagSelect[i] == tag) {
864 for (i = 0; i < pPce->NumAssocDataElements; i++) {
865 if (pPce->AssocDataElementTagSelect[i] == tag) {
883 const CProgramConfig *pPce,
897 < pPce->NumFrontChannelElements + pPce->NumSideChannelElements + pPce->NumBackChannelElements + pPce->NumLfeChannelElements
903 for (i=0; i < pPce->NumFrontChannelElements; i++)
905 elList[el++] = (pPce->FrontElementIsCpe[i]) ? ID_CPE : ID_SCE;
908 for (i=0; i < pPce->NumSideChannelElements; i++)
910 elList[el++] = (pPce->SideElementIsCpe[i]) ? ID_CPE : ID_SCE;
913 for (i=0; i < pPce->NumBackChannelElements; i++)
915 elList[el++] = (pPce->BackElementIsCpe[i]) ? ID_CPE : ID_SCE;
918 for (i=0; i < pPce->NumLfeChannelElements; i++)
925 switch (pPce->NumChannels) {
929 *pChMapIdx = pPce->NumChannels;
937 *pChMapIdx = (!(CProgramConfig_Compare(pPce, tmpPce)&0xE)) ? 11 : 0;
950 if (!(CProgramConfig_Compare(pPce, tmpPce)&0xE)) {