FFmpeg  4.0
Functions
hevc_refs.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/pixdesc.h"
#include "internal.h"
#include "thread.h"
#include "hevc.h"
#include "hevcdec.h"

Go to the source code of this file.

Functions

void ff_hevc_unref_frame (HEVCContext *s, HEVCFrame *frame, int flags)
 
RefPicListff_hevc_get_ref_list (HEVCContext *s, 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)
 
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)
 
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)
 
int ff_hevc_frame_rps (HEVCContext *s)
 Construct the reference picture sets for the current frame. More...
 
int ff_hevc_frame_nb_refs (HEVCContext *s)
 Get the number of candidate references for the current frame. More...
 

Function Documentation

◆ ff_hevc_unref_frame()

void ff_hevc_unref_frame ( HEVCContext s,
HEVCFrame frame,
int  flags 
)

◆ ff_hevc_get_ref_list()

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

Definition at line 57 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 66 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 75 of file hevc_refs.c.

Referenced by hevc_decode_flush().

◆ alloc_frame()

static HEVCFrame* alloc_frame ( HEVCContext s)
static

Definition at line 82 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 135 of file hevc_refs.c.

Referenced by hevc_frame_start().

◆ 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 174 of file hevc_refs.c.

Referenced by ff_hevc_nal_is_nonref(), hevc_decode_frame(), and hevc_frame_start().

◆ ff_hevc_bump_frame()

void ff_hevc_bump_frame ( HEVCContext s)

Definition at line 236 of file hevc_refs.c.

Referenced by ff_hevc_nal_is_nonref(), and hevc_frame_start().

◆ init_slice_rpl()

static int init_slice_rpl ( HEVCContext s)
static

Definition at line 276 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 294 of file hevc_refs.c.

Referenced by decode_nal_unit().

◆ find_ref_idx()

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

Definition at line 364 of file hevc_refs.c.

Referenced by add_candidate_ref().

◆ mark_ref()

static void mark_ref ( HEVCFrame frame,
int  flag 
)
static

Definition at line 391 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 397 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 
)
static

Definition at line 432 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 454 of file hevc_refs.c.

Referenced by hevc_frame_start().

◆ ff_hevc_frame_nb_refs()

int ff_hevc_frame_nb_refs ( HEVCContext s)

Get the number of candidate references for the current frame.

Definition at line 514 of file hevc_refs.c.

Referenced by hls_slice_header(), and vdpau_hevc_start_frame().