FFmpeg
|
#include "config_components.h"
#include "libavutil/avassert.h"
#include "libavutil/pixdesc.h"
#include "libavutil/timecode.h"
#include "decode.h"
#include "cabac.h"
#include "cabac_functions.h"
#include "error_resilience.h"
#include "avcodec.h"
#include "h264.h"
#include "h264dec.h"
#include "h264data.h"
#include "h264chroma.h"
#include "h264_ps.h"
#include "golomb.h"
#include "mathops.h"
#include "mpegutils.h"
#include "rectangle.h"
#include "thread.h"
#include "threadframe.h"
Go to the source code of this file.
Macros | |
#define | IN_RANGE(a, b, size) (((void*)(a) >= (void*)(b)) && ((void*)(a) < (void*)((b) + (size)))) |
#define | REBASE_PICTURE(pic, new_ctx, old_ctx) |
#define | TRANSPOSE(x) ((x) >> 2) | (((x) << 2) & 0xF) |
#define | TRANSPOSE(x) ((x) >> 3) | (((x) & 7) << 3) |
#define | HWACCEL_MAX |
Variables | |
static const uint8_t | field_scan [16+1] |
static const uint8_t | field_scan8x8 [64+1] |
static const uint8_t | field_scan8x8_cavlc [64+1] |
static const uint8_t | zigzag_scan8x8_cavlc [64+1] |
H.264 / AVC / MPEG-4 part10 codec.
Definition in file h264_slice.c.
#define IN_RANGE | ( | a, | |
b, | |||
size | |||
) | (((void*)(a) >= (void*)(b)) && ((void*)(a) < (void*)((b) + (size)))) |
Definition at line 284 of file h264_slice.c.
#define REBASE_PICTURE | ( | pic, | |
new_ctx, | |||
old_ctx | |||
) |
Definition at line 286 of file h264_slice.c.
#define TRANSPOSE | ( | x | ) | ((x) >> 2) | (((x) << 2) & 0xF) |
#define TRANSPOSE | ( | x | ) | ((x) >> 3) | (((x) & 7) << 3) |
#define HWACCEL_MAX |
|
static |
Definition at line 115 of file h264_slice.c.
Referenced by h264_field_start(), and h264_frame_start().
|
static |
Definition at line 128 of file h264_slice.c.
Referenced by decode_slice().
|
static |
Definition at line 160 of file h264_slice.c.
Referenced by alloc_picture().
|
static |
Definition at line 187 of file h264_slice.c.
Referenced by h264_frame_start().
|
static |
Definition at line 272 of file h264_slice.c.
Referenced by h264_frame_start().
|
static |
Definition at line 291 of file h264_slice.c.
Referenced by ff_h264_update_thread_context().
Definition at line 305 of file h264_slice.c.
Referenced by h264_field_start().
|
static |
Definition at line 976 of file h264_slice.c.
Referenced by ff_h264_update_thread_context(), and h264_init_ps().
int ff_h264_update_thread_context | ( | AVCodecContext * | dst, |
const AVCodecContext * | src | ||
) |
Definition at line 335 of file h264_slice.c.
int ff_h264_update_thread_context_for_user | ( | AVCodecContext * | dst, |
const AVCodecContext * | src | ||
) |
Definition at line 487 of file h264_slice.c.
|
static |
Definition at line 499 of file h264_slice.c.
Referenced by h264_field_start().
|
static |
Definition at line 605 of file h264_slice.c.
Referenced by loop_filter().
|
static |
Initialize implicit_weight table.
field | 0/1 initialize the weight for interlaced MBAFF -1 initializes the rest |
Definition at line 707 of file h264_slice.c.
Referenced by h264_slice_init().
|
static |
initialize scan tables
Definition at line 771 of file h264_slice.c.
Referenced by h264_slice_header_init().
|
static |
Definition at line 805 of file h264_slice.c.
Referenced by h264_init_ps().
|
static |
Definition at line 936 of file h264_slice.c.
Referenced by h264_init_ps().
|
static |
Definition at line 1058 of file h264_slice.c.
Referenced by h264_init_ps().
|
static |
Definition at line 1069 of file h264_slice.c.
Referenced by h264_field_start().
|
static |
Definition at line 1188 of file h264_slice.c.
Referenced by h264_field_start().
|
static |
Definition at line 1311 of file h264_slice.c.
Referenced by h264_field_start().
|
static |
Definition at line 1414 of file h264_slice.c.
Referenced by ff_h264_queue_decode_slice().
|
static |
Definition at line 1706 of file h264_slice.c.
Referenced by ff_h264_queue_decode_slice().
|
static |
Definition at line 1925 of file h264_slice.c.
Referenced by ff_h264_queue_decode_slice().
int ff_h264_queue_decode_slice | ( | H264Context * | h, |
const H2645NAL * | nal | ||
) |
Submit a slice for decoding.
Parse the slice header, starting a new field/frame if necessary. If any slices are queued for the previous field, they are decoded.
Definition at line 2061 of file h264_slice.c.
Referenced by decode_nal_units().
int ff_h264_get_slice_type | ( | const H264SliceContext * | sl | ) |
Reconstruct bitstream slice_type.
Definition at line 2186 of file h264_slice.c.
Referenced by fill_slice_long(), and vaapi_h264_decode_slice().
|
static |
Definition at line 2204 of file h264_slice.c.
Referenced by fill_filter_caches().
|
static |
Definition at line 2288 of file h264_slice.c.
Referenced by loop_filter().
|
static |
Definition at line 2430 of file h264_slice.c.
Referenced by decode_slice(), ff_h264_execute_decode_slices(), and xmv_read_extradata().
|
static |
Definition at line 2500 of file h264_slice.c.
Referenced by decode_slice().
|
static |
Draw edges and report progress for the last MB row.
Definition at line 2513 of file h264_slice.c.
Referenced by decode_slice().
|
static |
Definition at line 2544 of file h264_slice.c.
Referenced by decode_slice().
|
static |
Definition at line 2556 of file h264_slice.c.
Referenced by ff_h264_execute_decode_slices().
int ff_h264_execute_decode_slices | ( | H264Context * | h | ) |
Call decode_slice() for each context.
h | h264 master context |
Definition at line 2768 of file h264_slice.c.
Referenced by decode_nal_units(), and ff_h264_queue_decode_slice().
|
static |
Definition at line 50 of file h264_slice.c.
Referenced by init_scan_tables().
|
static |
Definition at line 57 of file h264_slice.c.
Referenced by init_scan_tables().
|
static |
Definition at line 76 of file h264_slice.c.
Referenced by init_scan_tables().
|
static |
Definition at line 96 of file h264_slice.c.
Referenced by init_scan_tables().