cavs: Move inline functions only used in one file out of the header
This commit is contained in:
parent
ef07ac1e12
commit
a6d9f9e60e
@ -328,6 +328,15 @@ static void intra_pred_lp_top(uint8_t *d,uint8_t *top,uint8_t *left,int stride)
|
||||
|
||||
#undef LOWPASS
|
||||
|
||||
static inline void modify_pred(const int8_t *mod_table, int *mode)
|
||||
{
|
||||
*mode = mod_table[*mode];
|
||||
if(*mode < 0) {
|
||||
av_log(NULL, AV_LOG_ERROR, "Illegal intra prediction mode\n");
|
||||
*mode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void ff_cavs_modify_mb_i(AVSContext *h, int *pred_mode_uv) {
|
||||
/* save pred modes before they get modified */
|
||||
h->pred_mode_Y[3] = h->pred_mode_Y[5];
|
||||
|
@ -229,25 +229,6 @@ extern const uint8_t ff_cavs_partition_flags[30];
|
||||
extern const cavs_vector ff_cavs_intra_mv;
|
||||
extern const cavs_vector ff_cavs_dir_mv;
|
||||
|
||||
static inline void modify_pred(const int8_t *mod_table, int *mode)
|
||||
{
|
||||
*mode = mod_table[*mode];
|
||||
if(*mode < 0) {
|
||||
av_log(NULL, AV_LOG_ERROR, "Illegal intra prediction mode\n");
|
||||
*mode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void set_intra_mode_default(AVSContext *h) {
|
||||
if(h->stream_revision > 0) {
|
||||
h->pred_mode_Y[3] = h->pred_mode_Y[6] = NOT_AVAIL;
|
||||
h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = NOT_AVAIL;
|
||||
} else {
|
||||
h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP;
|
||||
h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP;
|
||||
}
|
||||
}
|
||||
|
||||
static inline void set_mvs(cavs_vector *mv, enum cavs_block size) {
|
||||
switch(size) {
|
||||
case BLK_16X16:
|
||||
@ -262,35 +243,6 @@ static inline void set_mvs(cavs_vector *mv, enum cavs_block size) {
|
||||
}
|
||||
}
|
||||
|
||||
static inline void set_mv_intra(AVSContext *h) {
|
||||
h->mv[MV_FWD_X0] = ff_cavs_intra_mv;
|
||||
set_mvs(&h->mv[MV_FWD_X0], BLK_16X16);
|
||||
h->mv[MV_BWD_X0] = ff_cavs_intra_mv;
|
||||
set_mvs(&h->mv[MV_BWD_X0], BLK_16X16);
|
||||
if(h->pic_type != AV_PICTURE_TYPE_B)
|
||||
h->col_type_base[h->mbidx] = I_8X8;
|
||||
}
|
||||
|
||||
static inline int dequant(AVSContext *h, DCTELEM *level_buf, uint8_t *run_buf,
|
||||
DCTELEM *dst, int mul, int shift, int coeff_num) {
|
||||
int round = 1 << (shift - 1);
|
||||
int pos = -1;
|
||||
const uint8_t *scantab = h->scantable.permutated;
|
||||
|
||||
/* inverse scan and dequantization */
|
||||
while(--coeff_num >= 0){
|
||||
pos += run_buf[coeff_num];
|
||||
if(pos > 63) {
|
||||
av_log(h->s.avctx, AV_LOG_ERROR,
|
||||
"position out of block bounds at pic %d MB(%d,%d)\n",
|
||||
h->picture.poc, h->mbx, h->mby);
|
||||
return -1;
|
||||
}
|
||||
dst[scantab[pos]] = (level_buf[coeff_num]*mul + round) >> shift;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ff_cavs_filter(AVSContext *h, enum cavs_mb mb_type);
|
||||
void ff_cavs_load_intra_pred_luma(AVSContext *h, uint8_t *top, uint8_t **left,
|
||||
int block);
|
||||
|
@ -511,6 +511,26 @@ static inline int get_ue_code(GetBitContext *gb, int order) {
|
||||
return get_ue_golomb(gb);
|
||||
}
|
||||
|
||||
static inline int dequant(AVSContext *h, DCTELEM *level_buf, uint8_t *run_buf,
|
||||
DCTELEM *dst, int mul, int shift, int coeff_num) {
|
||||
int round = 1 << (shift - 1);
|
||||
int pos = -1;
|
||||
const uint8_t *scantab = h->scantable.permutated;
|
||||
|
||||
/* inverse scan and dequantization */
|
||||
while(--coeff_num >= 0){
|
||||
pos += run_buf[coeff_num];
|
||||
if(pos > 63) {
|
||||
av_log(h->s.avctx, AV_LOG_ERROR,
|
||||
"position out of block bounds at pic %d MB(%d,%d)\n",
|
||||
h->picture.poc, h->mbx, h->mby);
|
||||
return -1;
|
||||
}
|
||||
dst[scantab[pos]] = (level_buf[coeff_num]*mul + round) >> shift;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* decode coefficients from one 8x8 block, dequantize, inverse transform
|
||||
* and add them to sample block
|
||||
@ -597,6 +617,15 @@ static inline int decode_residual_inter(AVSContext *h) {
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
static inline void set_mv_intra(AVSContext *h) {
|
||||
h->mv[MV_FWD_X0] = ff_cavs_intra_mv;
|
||||
set_mvs(&h->mv[MV_FWD_X0], BLK_16X16);
|
||||
h->mv[MV_BWD_X0] = ff_cavs_intra_mv;
|
||||
set_mvs(&h->mv[MV_BWD_X0], BLK_16X16);
|
||||
if(h->pic_type != AV_PICTURE_TYPE_B)
|
||||
h->col_type_base[h->mbidx] = I_8X8;
|
||||
}
|
||||
|
||||
static int decode_mb_i(AVSContext *h, int cbp_code) {
|
||||
GetBitContext *gb = &h->s.gb;
|
||||
unsigned pred_mode_uv;
|
||||
@ -664,6 +693,16 @@ static int decode_mb_i(AVSContext *h, int cbp_code) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void set_intra_mode_default(AVSContext *h) {
|
||||
if(h->stream_revision > 0) {
|
||||
h->pred_mode_Y[3] = h->pred_mode_Y[6] = NOT_AVAIL;
|
||||
h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = NOT_AVAIL;
|
||||
} else {
|
||||
h->pred_mode_Y[3] = h->pred_mode_Y[6] = INTRA_L_LP;
|
||||
h->top_pred_Y[h->mbx*2+0] = h->top_pred_Y[h->mbx*2+1] = INTRA_L_LP;
|
||||
}
|
||||
}
|
||||
|
||||
static void decode_mb_p(AVSContext *h, enum cavs_mb mb_type) {
|
||||
GetBitContext *gb = &h->s.gb;
|
||||
int ref[4];
|
||||
|
Loading…
Reference in New Issue
Block a user