Commit 2b9021c4 authored by michael's avatar michael

Move restore_ac_coeffs() up so its declared before its use.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21061 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 74696c22
......@@ -368,6 +368,29 @@ static inline int get_block_rate(MpegEncContext * s, DCTELEM block[64], int bloc
return rate;
}
static inline void restore_ac_coeffs(MpegEncContext * s, DCTELEM block[6][64], int dir[6], uint8_t *st[6], int zigzag_last_index[6])
{
int i, n;
memcpy(s->block_last_index, zigzag_last_index, sizeof(int)*6);
for(n=0; n<6; n++){
int16_t *ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
st[n]= s->intra_scantable.permutated;
if(dir[n]){
/* top prediction */
for(i=1; i<8; i++){
block[n][s->dsp.idct_permutation[i ]] = ac_val[i+8];
}
}else{
/* left prediction */
for(i=1; i<8; i++){
block[n][s->dsp.idct_permutation[i<<3]]= ac_val[i ];
}
}
}
}
/**
* Returns the optimal value (0 or 1) for the ac_pred element for the given MB in mpeg4.
*/
......@@ -442,29 +465,6 @@ static inline int decide_ac_pred(MpegEncContext * s, DCTELEM block[6][64], int d
return score < 0;
}
static inline void restore_ac_coeffs(MpegEncContext * s, DCTELEM block[6][64], int dir[6], uint8_t *st[6], int zigzag_last_index[6])
{
int i, n;
memcpy(s->block_last_index, zigzag_last_index, sizeof(int)*6);
for(n=0; n<6; n++){
int16_t *ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
st[n]= s->intra_scantable.permutated;
if(dir[n]){
/* top prediction */
for(i=1; i<8; i++){
block[n][s->dsp.idct_permutation[i ]] = ac_val[i+8];
}
}else{
/* left prediction */
for(i=1; i<8; i++){
block[n][s->dsp.idct_permutation[i<<3]]= ac_val[i ];
}
}
}
}
/**
* modify qscale so that encoding is acually possible in h263 (limit difference to -2..2)
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment