FFmpeg
|
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "internal.h"
#include "vp8.h"
#include "vp8data.h"
#include "rectangle.h"
#include "thread.h"
Go to the source code of this file.
Macros | |
#define | MV_EDGE_CHECK(n) |
#define | XCHG(a, b, xchg) |
#define | MARGIN (16 << 2) |
#define | check_thread_pos(td, otd, mb_x_check, mb_y_check) |
#define | update_pos(td, mb_y, mb_x) |
#define | REBASE(pic) pic ? pic - &s_src->frames[0] + &s->frames[0] : NULL |
Variables | |
static const uint8_t | subpel_idx [3][8] |
AVCodec | ff_vp8_decoder |
#define MV_EDGE_CHECK | ( | n | ) |
Referenced by decode_mvs().
#define MARGIN (16 << 2) |
Definition at line 1598 of file vp8.c.
Referenced by ff_vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_decode_mv_mb_modes().
#define check_thread_pos | ( | td, | |
otd, | |||
mb_x_check, | |||
mb_y_check | |||
) |
Definition at line 1662 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
#define update_pos | ( | td, | |
mb_y, | |||
mb_x | |||
) |
Definition at line 1663 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().
#define REBASE | ( | pic | ) | pic ? pic - &s_src->frames[0] + &s->frames[0] : NULL |
Definition at line 2073 of file vp8.c.
Referenced by vp8_decode_update_thread_context().
|
static |
Definition at line 38 of file vp8.c.
Referenced by vp8_decode_flush_impl(), and vp8_decode_update_thread_context().
|
static |
Definition at line 58 of file vp8.c.
Referenced by ff_vp8_decode_frame().
|
static |
Definition at line 71 of file vp8.c.
Referenced by ff_vp8_decode_frame(), vp8_decode_flush_impl(), and vp8_ref_frame().
|
static |
Definition at line 77 of file vp8.c.
Referenced by vp8_decode_update_thread_context().
|
static |
Definition at line 95 of file vp8.c.
Referenced by ff_vp8_decode_free(), update_dimensions(), and vp8_decode_flush().
|
static |
|
static |
Definition at line 113 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Definition at line 159 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Definition at line 180 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Definition at line 204 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Definition at line 230 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Determine which buffers golden and altref should be updated with after this frame.
The spec isn't clear here, so I'm going by my understanding of what libvpx does
Intra frames update all 3 references Inter frames update VP56_FRAME_PREVIOUS if the update_last flag is set If the update (golden|altref) flag is set, it's updated with the current frame if update_last is set, and VP56_FRAME_PREVIOUS otherwise. If the flag is not set, the number read means: 0: no update 1: VP56_FRAME_PREVIOUS 2: update golden with altref, or update altref with golden
Definition at line 276 of file vp8.c.
Referenced by update_refs().
|
static |
Definition at line 292 of file vp8.c.
Referenced by decode_frame_header().
|
static |
Definition at line 303 of file vp8.c.
Referenced by ff_vp8_decode_frame().
|
static |
Definition at line 441 of file vp8.c.
Referenced by decode_mvs().
|
static |
Motion vector coding, 17.1.
Definition at line 450 of file vp8.c.
Referenced by decode_mvs(), and decode_splitmvs().
|
static |
Definition at line 479 of file vp8.c.
Referenced by decode_splitmvs().
|
static |
Split motion vector prediction, 16.4.
Definition at line 493 of file vp8.c.
Referenced by decode_mvs().
|
static |
Definition at line 564 of file vp8.c.
Referenced by decode_mb_mode().
|
static |
Definition at line 663 of file vp8.c.
Referenced by decode_mb_mode().
|
static |
Definition at line 697 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter(), and vp8_decode_mv_mb_modes().
|
static |
r | arithmetic bitstream reader context |
block | destination for block coefficients |
probs | probabilities to use when reading trees from the bitstream |
i | initial coeff index, 0 unless a separate DC block is coded |
qmul | array holding the dc/ac dequant factor at position 0/1 |
Definition at line 762 of file vp8.c.
Referenced by decode_block_coeffs().
|
static |
c | arithmetic bitstream reader context |
block | destination for block coefficients |
probs | probabilities to use when reading trees from the bitstream |
i | initial coeff index, 0 unless a separate DC block is coded |
zero_nhood | the initial prediction context for number of surrounding all-zero blocks (only left/top, so 0-2) |
qmul | array holding the dc/ac dequant factor at position 0/1 |
Definition at line 830 of file vp8.c.
Referenced by decode_mb_coeffs().
|
static |
Definition at line 841 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
Definition at line 902 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
|
static |
Definition at line 913 of file vp8.c.
Referenced by intra_predict().
|
static |
Definition at line 944 of file vp8.c.
Referenced by check_intra_pred8x8_mode(), and check_intra_pred8x8_mode_emuedge().
|
static |
Definition at line 954 of file vp8.c.
Referenced by check_intra_pred8x8_mode_emuedge().
|
static |
Definition at line 964 of file vp8.c.
Referenced by intra_predict().
|
static |
Definition at line 974 of file vp8.c.
Referenced by intra_predict().
|
static |
Definition at line 990 of file vp8.c.
Referenced by check_intra_pred4x4_mode_emuedge().
|
static |
Definition at line 1000 of file vp8.c.
Referenced by intra_predict().
|
static |
Definition at line 1034 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
luma MC function
s | VP8 decoding context |
dst | target buffer for block data at block position |
ref | reference picture buffer at origin (0, 0) |
mv | motion vector (relative to block position) to get pixel data from |
x_off | horizontal position of block from origin (0, 0) |
y_off | vertical position of block from origin (0, 0) |
block_w | width of block (16, 8 or 4) |
block_h | height of block (always same as block_w) |
width | width of src/dst plane data |
height | height of src/dst plane data |
linesize | size of a single line of plane data, including padding |
mc_func | motion compensation function pointers (bilinear or sixtap MC) |
Definition at line 1179 of file vp8.c.
Referenced by inter_predict(), and vp8_mc_part().
|
static |
chroma MC function
s | VP8 decoding context |
dst1 | target buffer for block data at block position (U plane) |
dst2 | target buffer for block data at block position (V plane) |
ref | reference picture buffer at origin (0, 0) |
mv | motion vector (relative to block position) to get pixel data from |
x_off | horizontal position of block from origin (0, 0) |
y_off | vertical position of block from origin (0, 0) |
block_w | width of block (16, 8 or 4) |
block_h | height of block (always same as block_w) |
width | width of src/dst plane data |
height | height of src/dst plane data |
linesize | size of a single line of plane data, including padding |
mc_func | motion compensation function pointers (bilinear or sixtap MC) |
Definition at line 1233 of file vp8.c.
Referenced by inter_predict(), and vp8_mc_part().
|
static |
Definition at line 1280 of file vp8.c.
Referenced by inter_predict().
|
static |
Definition at line 1312 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
Apply motion vectors to prediction buffer, chapter 18.
Definition at line 1334 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
Definition at line 1414 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
Definition at line 1467 of file vp8.c.
Referenced by vp8_decode_mb_row_no_filter().
|
static |
Definition at line 1497 of file vp8.c.
Referenced by vp8_filter_mb_row().
|
static |
Definition at line 1567 of file vp8.c.
Referenced by vp8_filter_mb_row().
|
static |
Definition at line 1599 of file vp8.c.
Referenced by ff_vp8_decode_frame().
|
static |
Definition at line 1666 of file vp8.c.
Referenced by vp8_decode_mb_row_sliced().
|
static |
Definition at line 1782 of file vp8.c.
Referenced by vp8_decode_mb_row_sliced().
|
static |
Definition at line 1836 of file vp8.c.
Referenced by ff_vp8_decode_frame().
int ff_vp8_decode_frame | ( | AVCodecContext * | avctx, |
void * | data, | ||
int * | got_frame, | ||
AVPacket * | avpkt | ||
) |
Definition at line 1863 of file vp8.c.
Referenced by vp8_lossy_decode_frame(), and webp_decode_frame().
av_cold int ff_vp8_decode_free | ( | AVCodecContext * | avctx | ) |
Definition at line 2014 of file vp8.c.
Referenced by ff_vp8_decode_init(), vp8_decode_init_thread_copy(), and webp_decode_close().
|
static |
Definition at line 2026 of file vp8.c.
Referenced by ff_vp8_decode_init(), and vp8_decode_init_thread_copy().
av_cold int ff_vp8_decode_init | ( | AVCodecContext * | avctx | ) |
Definition at line 2037 of file vp8.c.
Referenced by vp8_lossy_decode_frame().
|
static |
|
static |
|
static |
Definition at line 2109 of file vp8.c.
Referenced by webp_decode_frame().
|
static |
|
static |
Definition at line 1155 of file vp8.c.
Referenced by vp8_mc_chroma(), and vp8_mc_luma().
AVCodec ff_vp8_decoder |