XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
h264bsd_dpb.c File Reference
#include "h264bsd_cfg.h"
#include "h264bsd_dpb.h"
#include "h264bsd_slice_header.h"
#include "h264bsd_image.h"
#include "h264bsd_util.h"
#include "basetype.h"
Include dependency graph for h264bsd_dpb.c:

Macros

#define IS_REFERENCE(a)   ((a).status)
 
#define IS_EXISTING(a)   ((a).status > NON_EXISTING)
 
#define IS_SHORT_TERM(a)    ((a).status == NON_EXISTING || (a).status == SHORT_TERM)
 
#define IS_LONG_TERM(a)   ((a).status == LONG_TERM)
 
#define SET_UNUSED(a)   (a).status = UNUSED;
 
#define MAX_NUM_REF_IDX_L0_ACTIVE   16
 

Functions

u32 h264bsdReorderRefPicList (dpbStorage_t *dpb, refPicListReordering_t *order, u32 currFrameNum, u32 numRefIdxActive)
 
u32 h264bsdMarkDecRefPic (dpbStorage_t *dpb, decRefPicMarking_t *mark, image_t *image, u32 frameNum, i32 picOrderCnt, u32 isIdr, u32 currentPicId, u32 numErrMbs)
 
u8 * h264bsdGetRefPicData (dpbStorage_t *dpb, u32 index)
 
u8 * h264bsdAllocateDpbImage (dpbStorage_t *dpb)
 
u32 h264bsdInitDpb (dpbStorage_t *dpb, u32 picSizeInMbs, u32 dpbSize, u32 maxRefFrames, u32 maxFrameNum, u32 noReordering)
 
u32 h264bsdResetDpb (dpbStorage_t *dpb, u32 picSizeInMbs, u32 dpbSize, u32 maxRefFrames, u32 maxFrameNum, u32 noReordering)
 
void h264bsdInitRefPicList (dpbStorage_t *dpb)
 
u32 h264bsdCheckGapsInFrameNum (dpbStorage_t *dpb, u32 frameNum, u32 isRefPic, u32 gapsAllowed)
 
dpbOutPicture_t * h264bsdDpbOutputPicture (dpbStorage_t *dpb)
 
void h264bsdFlushDpb (dpbStorage_t *dpb)
 
void h264bsdFreeDpb (dpbStorage_t *dpb)
 

Macro Definition Documentation

◆ IS_EXISTING

#define IS_EXISTING (   a)    ((a).status > NON_EXISTING)

◆ IS_LONG_TERM

#define IS_LONG_TERM (   a)    ((a).status == LONG_TERM)

◆ IS_REFERENCE

#define IS_REFERENCE (   a)    ((a).status)

◆ IS_SHORT_TERM

#define IS_SHORT_TERM (   a)     ((a).status == NON_EXISTING || (a).status == SHORT_TERM)

◆ MAX_NUM_REF_IDX_L0_ACTIVE

#define MAX_NUM_REF_IDX_L0_ACTIVE   16

◆ SET_UNUSED

#define SET_UNUSED (   a)    (a).status = UNUSED;

Function Documentation

◆ h264bsdAllocateDpbImage()

u8 * h264bsdAllocateDpbImage ( dpbStorage_t *  dpb)

◆ h264bsdCheckGapsInFrameNum()

u32 h264bsdCheckGapsInFrameNum ( dpbStorage_t *  dpb,
u32  frameNum,
u32  isRefPic,
u32  gapsAllowed 
)

◆ h264bsdDpbOutputPicture()

dpbOutPicture_t * h264bsdDpbOutputPicture ( dpbStorage_t *  dpb)

◆ h264bsdFlushDpb()

void h264bsdFlushDpb ( dpbStorage_t *  dpb)

◆ h264bsdFreeDpb()

void h264bsdFreeDpb ( dpbStorage_t *  dpb)

◆ h264bsdGetRefPicData()

u8 * h264bsdGetRefPicData ( dpbStorage_t *  dpb,
u32  index 
)

◆ h264bsdInitDpb()

u32 h264bsdInitDpb ( dpbStorage_t *  dpb,
u32  picSizeInMbs,
u32  dpbSize,
u32  maxRefFrames,
u32  maxFrameNum,
u32  noReordering 
)

◆ h264bsdInitRefPicList()

void h264bsdInitRefPicList ( dpbStorage_t *  dpb)

◆ h264bsdMarkDecRefPic()

u32 h264bsdMarkDecRefPic ( dpbStorage_t *  dpb,
decRefPicMarking_t *  mark,
image_t *  image,
u32  frameNum,
i32  picOrderCnt,
u32  isIdr,
u32  currentPicId,
u32  numErrMbs 
)

◆ h264bsdReorderRefPicList()

u32 h264bsdReorderRefPicList ( dpbStorage_t *  dpb,
refPicListReordering_t *  order,
u32  currFrameNum,
u32  numRefIdxActive 
)

◆ h264bsdResetDpb()

u32 h264bsdResetDpb ( dpbStorage_t *  dpb,
u32  picSizeInMbs,
u32  dpbSize,
u32  maxRefFrames,
u32  maxFrameNum,
u32  noReordering 
)