FFmpeg
Functions
hevc_refs.c File Reference
#include "libavutil/avassert.h"
#include "decode.h"
#include "thread.h"
#include "hevc.h"
#include "hevcdec.h"
#include "refstruct.h"
#include "threadframe.h"

Go to the source code of this file.

Functions

void ff_hevc_unref_frame (HEVCFrame *frame, int flags)
 
const RefPicListff_hevc_get_ref_list (const HEVCContext *s, const HEVCFrame *ref, int x0, int y0)
 
void ff_hevc_clear_refs (HEVCContext *s)
 Mark all frames in DPB as unused for reference. More...
 
void ff_hevc_flush_dpb (HEVCContext *s)
 Drop all frames currently in DPB. More...
 
static HEVCFramealloc_frame (HEVCContext *s)
 
int ff_hevc_set_new_ref (HEVCContext *s, AVFrame **frame, int poc)
 
static void unref_missing_refs (HEVCContext *s)
 
int ff_hevc_output_frame (HEVCContext *s, AVFrame *out, int flush)
 Find next frame in output order and put a reference to it in frame. More...
 
void ff_hevc_bump_frame (HEVCContext *s)
 
static int init_slice_rpl (HEVCContext *s)
 
int ff_hevc_slice_rpl (HEVCContext *s)
 Construct the reference picture list(s) for the current slice. More...
 
static HEVCFramefind_ref_idx (HEVCContext *s, int poc, uint8_t use_msb)
 
static void mark_ref (HEVCFrame *frame, int flag)
 
static HEVCFramegenerate_missing_ref (HEVCContext *s, int poc)
 
static int add_candidate_ref (HEVCContext *s, RefPicList *list, int poc, int ref_flag, uint8_t use_msb)
 
int ff_hevc_frame_rps (HEVCContext *s)
 Construct the reference picture sets for the current frame. More...
 
int ff_hevc_frame_nb_refs (const HEVCContext *s)
 Get the number of candidate references for the current frame. More...
 

Function Documentation

◆ ff_hevc_unref_frame()

void ff_hevc_unref_frame ( HEVCFrame frame,
int  flags 
)

◆ ff_hevc_get_ref_list()

const RefPicList* ff_hevc_get_ref_list ( const HEVCContext s,
const HEVCFrame ref,
int  x0,
int  y0 
)

Definition at line 58 of file hevc_refs.c.

Referenced by ff_hevc_deblocking_boundary_strengths().

◆ ff_hevc_clear_refs()

void ff_hevc_clear_refs ( HEVCContext s)

Mark all frames in DPB as unused for reference.

Definition at line 68 of file hevc_refs.c.

Referenced by hls_slice_header().

◆ ff_hevc_flush_dpb()

void ff_hevc_flush_dpb ( HEVCContext s)

Drop all frames currently in DPB.

Definition at line 77 of file hevc_refs.c.

Referenced by hevc_decode_flush().

◆ alloc_frame()

static HEVCFrame* alloc_frame ( HEVCContext s)
static

Definition at line 84 of file hevc_refs.c.

Referenced by ff_hevc_set_new_ref(), and generate_missing_ref().

◆ ff_hevc_set_new_ref()

int ff_hevc_set_new_ref ( HEVCContext s,
AVFrame **  frame,
int  poc 
)

Definition at line 134 of file hevc_refs.c.

Referenced by hevc_frame_start().

◆ unref_missing_refs()

static void unref_missing_refs ( HEVCContext s)
static

Definition at line 174 of file hevc_refs.c.

Referenced by ff_hevc_frame_rps().

◆ ff_hevc_output_frame()

int ff_hevc_output_frame ( HEVCContext s,
AVFrame frame,
int  flush 
)

Find next frame in output order and put a reference to it in frame.

Returns
1 if a frame was output, 0 otherwise

Definition at line 184 of file hevc_refs.c.

Referenced by hevc_decode_frame(), and hevc_frame_start().

◆ ff_hevc_bump_frame()

void ff_hevc_bump_frame ( HEVCContext s)

Definition at line 252 of file hevc_refs.c.

Referenced by hevc_frame_start().

◆ init_slice_rpl()

static int init_slice_rpl ( HEVCContext s)
static

Definition at line 292 of file hevc_refs.c.

Referenced by ff_hevc_slice_rpl().

◆ ff_hevc_slice_rpl()

int ff_hevc_slice_rpl ( HEVCContext s)

Construct the reference picture list(s) for the current slice.

Definition at line 310 of file hevc_refs.c.

Referenced by decode_nal_unit().

◆ find_ref_idx()

static HEVCFrame* find_ref_idx ( HEVCContext s,
int  poc,
uint8_t  use_msb 
)
static

Definition at line 395 of file hevc_refs.c.

Referenced by add_candidate_ref().

◆ mark_ref()

static void mark_ref ( HEVCFrame frame,
int  flag 
)
static

Definition at line 414 of file hevc_refs.c.

Referenced by add_candidate_ref(), and ff_hevc_frame_rps().

◆ generate_missing_ref()

static HEVCFrame* generate_missing_ref ( HEVCContext s,
int  poc 
)
static

Definition at line 420 of file hevc_refs.c.

Referenced by add_candidate_ref().

◆ add_candidate_ref()

static int add_candidate_ref ( HEVCContext s,
RefPicList list,
int  poc,
int  ref_flag,
uint8_t  use_msb 
)
static

Definition at line 455 of file hevc_refs.c.

Referenced by ff_hevc_frame_rps().

◆ ff_hevc_frame_rps()

int ff_hevc_frame_rps ( HEVCContext s)

Construct the reference picture sets for the current frame.

Definition at line 477 of file hevc_refs.c.

Referenced by hevc_frame_start().

◆ ff_hevc_frame_nb_refs()

int ff_hevc_frame_nb_refs ( const HEVCContext s)

Get the number of candidate references for the current frame.

Definition at line 539 of file hevc_refs.c.

Referenced by hls_slice_header(), nvdec_hevc_start_frame(), and vdpau_hevc_start_frame().