FFmpeg
|
#include "libavutil/mem.h"
#include "libavutil/stereo3d.h"
#include "container_fifo.h"
#include "decode.h"
#include "hevc.h"
#include "hevcdec.h"
#include "progressframe.h"
#include "refstruct.h"
Go to the source code of this file.
Functions | |
void | ff_hevc_unref_frame (HEVCFrame *frame, int flags) |
const RefPicList * | ff_hevc_get_ref_list (const HEVCFrame *ref, int x0, int y0) |
void | ff_hevc_clear_refs (HEVCLayerContext *l) |
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 HEVCFrame * | alloc_frame (HEVCContext *s, HEVCLayerContext *l) |
int | ff_hevc_set_new_ref (HEVCContext *s, HEVCLayerContext *l, int poc) |
static void | unref_missing_refs (HEVCLayerContext *l) |
int | ff_hevc_output_frames (HEVCContext *s, unsigned layers_active_decode, unsigned layers_active_output, unsigned max_output, unsigned max_dpb, int discard) |
Find frames in the DPB that are ready for output and either write them to the output FIFO or drop their output flag, depending on the value of discard. More... | |
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 HEVCFrame * | find_ref_idx (HEVCContext *s, HEVCLayerContext *l, int poc, uint8_t use_msb) |
static void | mark_ref (HEVCFrame *frame, int flag) |
static HEVCFrame * | generate_missing_ref (HEVCContext *s, HEVCLayerContext *l, int poc) |
static int | add_candidate_ref (HEVCContext *s, HEVCLayerContext *l, RefPicList *list, int poc, int ref_flag, uint8_t use_msb) |
int | ff_hevc_frame_rps (HEVCContext *s, HEVCLayerContext *l) |
Construct the reference picture sets for the current frame. More... | |
int | ff_hevc_frame_nb_refs (const SliceHeader *sh, const HEVCPPS *pps, unsigned layer_idx) |
Get the number of candidate references for the current frame. More... | |
void ff_hevc_unref_frame | ( | HEVCFrame * | frame, |
int | flags | ||
) |
Definition at line 34 of file refs.c.
Referenced by alloc_frame(), ff_hevc_clear_refs(), ff_hevc_flush_dpb(), ff_hevc_frame_rps(), ff_hevc_output_frames(), hevc_decode_free(), hevc_frame_start(), hevc_ref_frame(), and unref_missing_refs().
const RefPicList* ff_hevc_get_ref_list | ( | const HEVCFrame * | ref, |
int | x0, | ||
int | y0 | ||
) |
Definition at line 54 of file refs.c.
Referenced by ff_hevc_deblocking_boundary_strengths().
void ff_hevc_clear_refs | ( | HEVCLayerContext * | l | ) |
Mark all frames in DPB as unused for reference.
Definition at line 64 of file refs.c.
Referenced by hevc_frame_start().
void ff_hevc_flush_dpb | ( | HEVCContext * | s | ) |
Drop all frames currently in DPB.
Definition at line 73 of file refs.c.
Referenced by hevc_decode_flush().
|
static |
Definition at line 82 of file refs.c.
Referenced by ff_hevc_set_new_ref(), and generate_missing_ref().
int ff_hevc_set_new_ref | ( | HEVCContext * | s, |
HEVCLayerContext * | l, | ||
int | poc | ||
) |
Definition at line 175 of file refs.c.
Referenced by hevc_frame_start().
|
static |
Definition at line 216 of file refs.c.
Referenced by ff_hevc_frame_rps().
int ff_hevc_output_frames | ( | HEVCContext * | s, |
unsigned | layers_active_decode, | ||
unsigned | layers_active_output, | ||
unsigned | max_output, | ||
unsigned | max_dpb, | ||
int | discard | ||
) |
Find frames in the DPB that are ready for output and either write them to the output FIFO or drop their output flag, depending on the value of discard.
max_output | maximum number of AUs with an output-pending frame in at least one layer that can be present in the DPB before output is triggered |
max_dpb | maximum number of any frames that can be present in the DPB for any layer before output is triggered |
Definition at line 226 of file refs.c.
Referenced by hevc_frame_start(), and hevc_receive_frame().
|
static |
Definition at line 284 of file refs.c.
Referenced by ff_hevc_slice_rpl().
int ff_hevc_slice_rpl | ( | HEVCContext * | s | ) |
Construct the reference picture list(s) for the current slice.
Definition at line 302 of file refs.c.
Referenced by decode_slice_data().
|
static |
Definition at line 396 of file refs.c.
Referenced by add_candidate_ref().
|
static |
Definition at line 416 of file refs.c.
Referenced by add_candidate_ref(), and ff_hevc_frame_rps().
|
static |
Definition at line 422 of file refs.c.
Referenced by add_candidate_ref().
|
static |
Definition at line 456 of file refs.c.
Referenced by ff_hevc_frame_rps().
int ff_hevc_frame_rps | ( | HEVCContext * | s, |
HEVCLayerContext * | l | ||
) |
Construct the reference picture sets for the current frame.
Definition at line 479 of file refs.c.
Referenced by hevc_frame_start().
int ff_hevc_frame_nb_refs | ( | const SliceHeader * | sh, |
const HEVCPPS * | pps, | ||
unsigned | layer_idx | ||
) |
Get the number of candidate references for the current frame.
Definition at line 559 of file refs.c.
Referenced by hls_slice_header(), nvdec_hevc_start_frame(), and vdpau_hevc_start_frame().