FFmpeg
4.0
|
Chinese AVS video (AVS1-P2, JiZhun profile) decoder. More...
#include "avcodec.h"
#include "get_bits.h"
#include "golomb.h"
#include "h264chroma.h"
#include "idctdsp.h"
#include "internal.h"
#include "mathops.h"
#include "qpeldsp.h"
#include "cavs.h"
Go to the source code of this file.
Macros | |
#define | SET_PARAMS |
#define | LOWPASS(ARRAY, INDEX) ((ARRAY[(INDEX) - 1] + 2 * ARRAY[(INDEX)] + ARRAY[(INDEX) + 1] + 2) >> 2) |
Variables | |
static const uint8_t | alpha_tab [64] |
static const uint8_t | beta_tab [64] |
static const uint8_t | tc_tab [64] |
static const cavs_vector | un_mv = { 0, 0, 1, NOT_AVAIL } |
mark block as unavailable, i.e. More... | |
static const int8_t | left_modifier_l [8] = { 0, -1, 6, -1, -1, 7, 6, 7 } |
static const int8_t | top_modifier_l [8] = { -1, 1, 5, -1, -1, 5, 7, 7 } |
static const int8_t | left_modifier_c [7] = { 5, -1, 2, -1, 6, 5, 6 } |
static const int8_t | top_modifier_c [7] = { 4, 1, -1, -1, 4, 6, 6 } |
Chinese AVS video (AVS1-P2, JiZhun profile) decoder.
Definition in file cavs.c.
#define SET_PARAMS |
#define LOWPASS | ( | ARRAY, | |
INDEX | |||
) | ((ARRAY[(INDEX) - 1] + 2 * ARRAY[(INDEX)] + ARRAY[(INDEX) + 1] + 2) >> 2) |
Definition at line 304 of file cavs.c.
Referenced by intra_pred_down_left(), intra_pred_down_right(), intra_pred_lp(), intra_pred_lp_left(), and intra_pred_lp_top().
|
inlinestatic |
Definition at line 74 of file cavs.c.
Referenced by ff_cavs_filter().
void ff_cavs_filter | ( | AVSContext * | h, |
enum cavs_mb | mb_type | ||
) |
in-loop deblocking filter for a single macroblock
boundary strength (bs) mapping:
–4—5– 0 2 | | 6 | 7 |
Definition at line 109 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_i(), decode_mb_p(), and set_mvs().
void ff_cavs_load_intra_pred_luma | ( | AVSContext * | h, |
uint8_t * | top, | ||
uint8_t ** | left, | ||
int | block | ||
) |
Definition at line 185 of file cavs.c.
Referenced by decode_mb_i(), and set_mvs().
void ff_cavs_load_intra_pred_chroma | ( | AVSContext * | h | ) |
Definition at line 236 of file cavs.c.
Referenced by decode_mb_i(), and set_mvs().
Definition at line 259 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 267 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 277 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 285 of file cavs.c.
Referenced by ff_cavs_init().
Definition at line 307 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 315 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 323 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 336 of file cavs.c.
Referenced by ff_cavs_init().
|
static |
Definition at line 344 of file cavs.c.
Referenced by ff_cavs_init().
Definition at line 354 of file cavs.c.
Referenced by ff_cavs_modify_mb_i().
void ff_cavs_modify_mb_i | ( | AVSContext * | h, |
int * | pred_mode_uv | ||
) |
Definition at line 363 of file cavs.c.
Referenced by decode_mb_i(), and set_mvs().
|
inlinestatic |
Definition at line 390 of file cavs.c.
Referenced by mc_part_std().
|
inlinestatic |
Definition at line 456 of file cavs.c.
Referenced by ff_cavs_inter(), and mc_part().
void ff_cavs_inter | ( | AVSContext * | h, |
enum cavs_mb | mb_type | ||
) |
Definition at line 494 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_p(), and set_mvs().
|
inlinestatic |
Definition at line 537 of file cavs.c.
Referenced by mv_pred_median().
|
inlinestatic |
Definition at line 545 of file cavs.c.
Referenced by ff_cavs_mv().
void ff_cavs_mv | ( | AVSContext * | h, |
enum cavs_mv_loc | nP, | ||
enum cavs_mv_loc | nC, | ||
enum cavs_mv_pred | mode, | ||
enum cavs_block | size, | ||
int | ref | ||
) |
Definition at line 575 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_p(), and set_mvs().
void ff_cavs_init_mb | ( | AVSContext * | h | ) |
initialise predictors for motion vectors and intra prediction
Definition at line 637 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_i(), decode_mb_p(), and set_mvs().
int ff_cavs_next_mb | ( | AVSContext * | h | ) |
save predictors for later macroblocks and increase macroblock address
Definition at line 678 of file cavs.c.
Referenced by decode_pic(), and set_mvs().
int ff_cavs_init_pic | ( | AVSContext * | h | ) |
Definition at line 723 of file cavs.c.
Referenced by decode_pic(), and set_mvs().
int ff_cavs_init_top_lines | ( | AVSContext * | h | ) |
some predictions require data from the top-neighbouring macroblock.
this data has to be stored for one complete row of macroblocks and this storage space is allocated here
Definition at line 759 of file cavs.c.
Referenced by decode_seq_header(), and set_mvs().
av_cold int ff_cavs_init | ( | AVCodecContext * | avctx | ) |
av_cold int ff_cavs_end | ( | AVCodecContext * | avctx | ) |
Definition at line 840 of file cavs.c.
Referenced by ff_cavs_init(), and set_mvs().
|
static |
Definition at line 38 of file cavs.c.
Referenced by ps_tableinit().
|
static |
|
static |
|
static |
mark block as unavailable, i.e.
out of picture or not yet decoded
Definition at line 61 of file cavs.c.
Referenced by ff_cavs_init(), ff_cavs_init_mb(), and ff_cavs_mv().
|
static |
Definition at line 63 of file cavs.c.
Referenced by ff_cavs_modify_mb_i().
|
static |
Definition at line 64 of file cavs.c.
Referenced by ff_cavs_modify_mb_i().
|
static |
Definition at line 65 of file cavs.c.
Referenced by ff_cavs_modify_mb_i().
|
static |
Definition at line 66 of file cavs.c.
Referenced by ff_cavs_modify_mb_i().