FFmpeg
|
H.264 / AVC / MPEG4 part10 macroblock decoding. More...
#include <stdint.h>
#include "config.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "h264.h"
#include "qpeldsp.h"
#include "svq3.h"
#include "thread.h"
#include "h264_mb_template.c"
Go to the source code of this file.
Macros | |
#define | XCHG(a, b, xchg) |
#define | BITS 8 |
#define | SIMPLE 1 |
#define | BITS 16 |
#define | SIMPLE 0 |
Functions | |
static int | get_lowest_part_list_y (H264Context *h, H264Picture *pic, int n, int height, int y_offset, int list) |
static void | get_lowest_part_y (H264Context *h, int16_t refs[2][48], int n, int height, int y_offset, int list0, int list1, int *nrefs) |
static void | await_references (H264Context *h) |
Wait until all reference frames are available for MC operations. | |
static av_always_inline void | mc_dir_part (H264Context *h, H264Picture *pic, int n, int square, int height, int delta, int list, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int src_x_offset, int src_y_offset, qpel_mc_func *qpix_op, h264_chroma_mc_func chroma_op, int pixel_shift, int chroma_idc) |
static av_always_inline void | mc_part_std (H264Context *h, int n, int square, int height, int delta, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int x_offset, int y_offset, qpel_mc_func *qpix_put, h264_chroma_mc_func chroma_put, qpel_mc_func *qpix_avg, h264_chroma_mc_func chroma_avg, int list0, int list1, int pixel_shift, int chroma_idc) |
static av_always_inline void | mc_part_weighted (H264Context *h, int n, int square, int height, int delta, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int x_offset, int y_offset, qpel_mc_func *qpix_put, h264_chroma_mc_func chroma_put, h264_weight_func luma_weight_op, h264_weight_func chroma_weight_op, h264_biweight_func luma_weight_avg, h264_biweight_func chroma_weight_avg, int list0, int list1, int pixel_shift, int chroma_idc) |
static av_always_inline void | prefetch_motion (H264Context *h, int list, int pixel_shift, int chroma_idc) |
static av_always_inline void | xchg_mb_border (H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int xchg, int chroma444, int simple, int pixel_shift) |
static av_always_inline int | dctcoef_get (int16_t *mb, int high_bit_depth, int index) |
static av_always_inline void | dctcoef_set (int16_t *mb, int high_bit_depth, int index, int value) |
static av_always_inline void | hl_decode_mb_predict_luma (H264Context *h, int mb_type, int is_h264, int simple, int transform_bypass, int pixel_shift, int *block_offset, int linesize, uint8_t *dest_y, int p) |
static av_always_inline void | hl_decode_mb_idct_luma (H264Context *h, int mb_type, int is_h264, int simple, int transform_bypass, int pixel_shift, int *block_offset, int linesize, uint8_t *dest_y, int p) |
void | ff_h264_hl_decode_mb (H264Context *h) |
H.264 / AVC / MPEG4 part10 macroblock decoding.
Definition in file h264_mb.c.
#define SIMPLE 1 |
Definition at line 806 of file h264_mb.c.
Referenced by hl_decode_mb(), and hl_decode_mb_444().
|
inlinestatic |
Definition at line 39 of file h264_mb.c.
Referenced by get_lowest_part_y().
|
inlinestatic |
Definition at line 52 of file h264_mb.c.
Referenced by await_references().
|
static |
Wait until all reference frames are available for MC operations.
h | the H264 context |
Definition at line 95 of file h264_mb.c.
Referenced by hl_motion().
|
static |
Definition at line 203 of file h264_mb.c.
Referenced by mc_part_std(), and mc_part_weighted().
|
static |
|
static |
|
static |
Definition at line 478 of file h264_mb.c.
Referenced by hl_motion().
|
static |
Definition at line 502 of file h264_mb.c.
Referenced by hl_decode_mb(), and hl_decode_mb_444().
|
static |
Definition at line 588 of file h264_mb.c.
Referenced by hl_decode_mb(), hl_decode_mb_idct_luma(), and hl_decode_mb_predict_luma().
|
static |
Definition at line 597 of file h264_mb.c.
Referenced by hl_decode_mb_predict_luma().
|
static |
Definition at line 606 of file h264_mb.c.
Referenced by hl_decode_mb(), and hl_decode_mb_444().
|
static |
Definition at line 727 of file h264_mb.c.
Referenced by hl_decode_mb(), and hl_decode_mb_444().
void ff_h264_hl_decode_mb | ( | H264Context * | h | ) |
Definition at line 809 of file h264_mb.c.
Referenced by decode_slice(), h264_er_decode_mb(), and svq3_decode_frame().