Lines Matching refs:pps
69 static u32 CheckPps(picParamSet_t *pps, seqParamSet_t *sps);
196 Store picture parameter set into the storage. If active PPS is
230 if (pStorage->pps[id] == NULL)
232 ALLOCATE(pStorage->pps[id], 1, picParamSet_t);
233 if (pStorage->pps[id] == NULL)
236 /* picture parameter set with id equal to id of active pps */
247 FREE(pStorage->pps[id]->runLength);
248 FREE(pStorage->pps[id]->topLeft);
249 FREE(pStorage->pps[id]->bottomRight);
250 FREE(pStorage->pps[id]->sliceGroupId);
256 FREE(pStorage->pps[id]->runLength);
257 FREE(pStorage->pps[id]->topLeft);
258 FREE(pStorage->pps[id]->bottomRight);
259 FREE(pStorage->pps[id]->sliceGroupId);
262 *pStorage->pps[id] = *pPicParamSet;
273 Activate certain SPS/PPS combination. This function shall be
285 ppsId identifies the PPS to be activated, SPS id obtained
286 from the PPS
313 /* check that pps and corresponding sps exist */
314 if ( (pStorage->pps[ppsId] == NULL) ||
315 (pStorage->sps[pStorage->pps[ppsId]->seqParameterSetId] == NULL) )
320 /* check that pps parameters do not violate picture size constraints */
321 tmp = CheckPps(pStorage->pps[ppsId],
322 pStorage->sps[pStorage->pps[ppsId]->seqParameterSetId]);
330 pStorage->activePps = pStorage->pps[ppsId];
402 if (pStorage->pps[ppsId]->seqParameterSetId != pStorage->activeSpsId)
408 pStorage->activePps = pStorage->pps[ppsId];
430 pStorage->activePps = pStorage->pps[ppsId];
616 -NAL unit types 6-11, 13-18 (e.g. SPS, PPS)
655 picParamSet_t *pps;
663 ASSERT(storage->pps);
692 /* store sps and pps in separate pointers just to make names shorter */
693 pps = storage->pps[ppsId];
694 if ( pps == NULL || storage->sps[pps->seqParameterSetId] == NULL ||
696 pps->seqParameterSetId != storage->activeSpsId &&
699 sps = storage->sps[pps->seqParameterSetId];
748 if (pps->picOrderPresentFlag)
767 pps->picOrderPresentFlag, deltaPicOrderCnt);
777 if (pps->picOrderPresentFlag)
801 pps pointer to picture paramter set
812 u32 CheckPps(picParamSet_t *pps, seqParamSet_t *sps)
821 if (pps->numSliceGroups > 1)
823 if (pps->sliceGroupMapType == 0)
825 ASSERT(pps->runLength);
826 for (i = 0; i < pps->numSliceGroups; i++)
828 if (pps->runLength[i] > picSize)
832 else if (pps->sliceGroupMapType == 2)
834 ASSERT(pps->topLeft);
835 ASSERT(pps->bottomRight);
836 for (i = 0; i < pps->numSliceGroups-1; i++)
838 if (pps->topLeft[i] > pps->bottomRight[i] ||
839 pps->bottomRight[i] >= picSize)
842 if ( (pps->topLeft[i] % sps->picWidthInMbs) >
843 (pps->bottomRight[i] % sps->picWidthInMbs) )
847 else if (pps->sliceGroupMapType > 2 && pps->sliceGroupMapType < 6)
849 if (pps->sliceGroupChangeRate > picSize)
852 else if (pps->sliceGroupMapType == 6 &&
853 pps->picSizeInMapUnits < picSize)
865 Check if any valid SPS/PPS combination exists in the storage.
866 Function tries each PPS in the buffer and checks if corresponding
867 SPS exists and calls CheckPps to determine if the PPS conforms
893 if ( pStorage->pps[i] &&
894 pStorage->sps[pStorage->pps[i]->seqParameterSetId] &&
895 CheckPps(pStorage->pps[i],
896 pStorage->sps[pStorage->pps[i]->seqParameterSetId]) ==