u8* h264bsdNextOutputPicture(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs) { /* Variables */ dpbOutPicture_t *pOut; /* Code */ ASSERT(pStorage); pOut = h264bsdDpbOutputPicture(pStorage->dpb); if (pOut != NULL) { *picId = pOut->picId; *isIdrPic = pOut->isIdr; *numErrMbs = pOut->numErrMbs; return (pOut->data); } else return(NULL); }
const dpbOutPicture_t *h264bsdNextOutputPicture(storage_t * pStorage) { /* Variables */ const dpbOutPicture_t *pOut; /* Code */ ASSERT(pStorage); pOut = h264bsdDpbOutputPicture(pStorage->dpb); /* store pointer to alternate chroma output if needed */ if (pStorage->enable2ndChroma && pOut && (!pStorage->activeSps || !pStorage->activeSps->monoChrome)) { pStorage->pCh2 = (u32 *)((u8*)pOut->data->virtualAddress + pStorage->dpb->ch2Offset); pStorage->bCh2 = pOut->data->busAddress + pStorage->dpb->ch2Offset; } else { pStorage->pCh2 = NULL; pStorage->bCh2 = 0; } return pOut; }