예제 #1
0
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);

}
예제 #2
0
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;
}