FFmpeg
|
#include "config_components.h"
#include "libavutil/avassert.h"
#include "libavutil/emms.h"
#include "libavutil/imgutils.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/thread.h"
#include "libavutil/video_enc_params.h"
Go to the source code of this file.
Macros | |
#define | UNCHECKED_BITSTREAM_READER 1 |
Functions | |
int | avpriv_h264_has_num_reorder_frames (AVCodecContext *avctx) |
static void | h264_er_decode_mb (void *opaque, int ref, int mv_dir, int mv_type, int(*mv)[2][4][2], int mb_x, int mb_y, int mb_intra, int mb_skipped) |
void | ff_h264_draw_horiz_band (const H264Context *h, H264SliceContext *sl, int y, int height) |
void | ff_h264_free_tables (H264Context *h) |
int | ff_h264_alloc_tables (H264Context *h) |
Allocate tables. More... | |
void | ff_h264_slice_context_init (H264Context *h, H264SliceContext *sl) |
Init slice context. More... | |
static int | h264_init_pic (H264Picture *pic) |
static int | h264_init_context (AVCodecContext *avctx, H264Context *h) |
static void | h264_free_pic (H264Context *h, H264Picture *pic) |
static av_cold int | h264_decode_end (AVCodecContext *avctx) |
static av_cold int | h264_decode_init (AVCodecContext *avctx) |
static void | idr (H264Context *h) |
instantaneous decoder refresh. More... | |
void | ff_h264_flush_change (H264Context *h) |
static void | h264_decode_flush (AVCodecContext *avctx) |
static int | get_last_needed_nal (H264Context *h) |
static void | debug_green_metadata (const H264SEIGreenMetaData *gm, void *logctx) |
static int | decode_nal_units (H264Context *h, const uint8_t *buf, int buf_size) |
static int | get_consumed_bytes (int pos, int buf_size) |
Return the number of bytes consumed for building the current frame. More... | |
static int | h264_export_enc_params (AVFrame *f, const H264Picture *p) |
static int | output_frame (H264Context *h, AVFrame *dst, H264Picture *srcp) |
static int | is_avcc_extradata (const uint8_t *buf, int buf_size) |
static int | finalize_frame (H264Context *h, AVFrame *dst, H264Picture *out, int *got_frame) |
static int | send_next_delayed_frame (H264Context *h, AVFrame *dst_frame, int *got_frame, int buf_index) |
static int | h264_decode_frame (AVCodecContext *avctx, AVFrame *pict, int *got_frame, AVPacket *avpkt) |
Variables | |
const uint16_t | ff_h264_mb_sizes [4] = { 256, 384, 512, 768 } |
static AVOnce | h264_vlc_init = AV_ONCE_INIT |
static const AVOption | h264_options [] |
static const AVClass | h264_class |
const FFCodec | ff_h264_decoder |
H.264 / AVC / MPEG-4 part10 codec.
Definition in file h264dec.c.
int avpriv_h264_has_num_reorder_frames | ( | AVCodecContext * | avctx | ) |
Definition at line 61 of file h264dec.c.
Referenced by has_decode_delay_been_guessed().
|
static |
Definition at line 67 of file h264dec.c.
Referenced by ff_h264_alloc_tables().
void ff_h264_draw_horiz_band | ( | const H264Context * | h, |
H264SliceContext * | sl, | ||
int | y, | ||
int | height | ||
) |
Definition at line 103 of file h264dec.c.
Referenced by d3d12va_h264_end_frame(), decode_finish_row(), dxva2_h264_end_frame(), vaapi_h264_end_frame(), and vdpau_h264_end_frame().
void ff_h264_free_tables | ( | H264Context * | h | ) |
Definition at line 141 of file h264dec.c.
Referenced by h264_decode_end(), h264_decode_flush(), and h264_slice_header_init().
int ff_h264_alloc_tables | ( | H264Context * | h | ) |
Allocate tables.
needs width/height
Definition at line 186 of file h264dec.c.
Referenced by h264_slice_header_init().
void ff_h264_slice_context_init | ( | H264Context * | h, |
H264SliceContext * | sl | ||
) |
Init slice context.
Definition at line 265 of file h264dec.c.
Referenced by h264_slice_header_init().
|
static |
Definition at line 277 of file h264dec.c.
Referenced by h264_init_context().
|
static |
Definition at line 290 of file h264dec.c.
Referenced by h264_decode_init().
|
static |
Definition at line 345 of file h264dec.c.
Referenced by h264_decode_end().
|
static |
|
static |
|
static |
instantaneous decoder refresh.
Definition at line 445 of file h264dec.c.
Referenced by decode_nal_units(), ff_h264_flush_change(), and h264_probe().
void ff_h264_flush_change | ( | H264Context * | h | ) |
Definition at line 458 of file h264dec.c.
Referenced by h264_decode_flush(), h264_decode_init(), and h264_init_ps().
|
static |
|
static |
Definition at line 508 of file h264dec.c.
Referenced by decode_nal_units().
|
static |
Definition at line 562 of file h264dec.c.
Referenced by decode_nal_units().
|
static |
< number of NALs that need decoding before the next frame thread starts
Definition at line 590 of file h264dec.c.
Referenced by h264_decode_frame().
|
static |
Return the number of bytes consumed for building the current frame.
Definition at line 831 of file h264dec.c.
Referenced by h264_decode_frame().
|
static |
Definition at line 841 of file h264dec.c.
Referenced by output_frame().
|
static |
Definition at line 875 of file h264dec.c.
Referenced by deint_vaapi_filter_frame(), drawbox_vaapi_filter_frame(), ff_vaapi_vpp_init_params(), ff_vaapi_vpp_render_picture(), ff_vaapi_vpp_render_pictures(), filter_frame(), finalize_frame(), load_encode_and_write(), misc_vaapi_filter_frame(), pad_vaapi_filter_frame(), procamp_vaapi_filter_frame(), sbc_synthesize_audio(), sbc_synthesize_eight(), sbc_synthesize_four(), scale_vaapi_filter_frame(), tonemap_vaapi_filter_frame(), tonemap_vaapi_update_sidedata(), transpose_vaapi_filter_frame(), and vaapi_vpp_colour_properties().
|
static |
Definition at line 914 of file h264dec.c.
Referenced by h264_decode_frame().
|
static |
Definition at line 938 of file h264dec.c.
Referenced by h264_decode_frame(), and send_next_delayed_frame().
|
static |
Definition at line 993 of file h264dec.c.
Referenced by h264_decode_frame().
|
static |
const uint16_t ff_h264_mb_sizes[4] = { 256, 384, 512, 768 } |
Definition at line 59 of file h264dec.c.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and hl_decode_mb().
|
static |
Definition at line 383 of file h264dec.c.
Referenced by h264_decode_init().
|
static |
|
static |