diff options
author | Diego Biurrun <diego@biurrun.de> | 2013-12-30 19:19:39 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2014-07-06 13:09:24 -0700 |
commit | 8d686ca59db14900ad5c12b547fb8a7afc8b0b94 (patch) | |
tree | 55fef696ccc67aa3793283f7575299b55e760206 /libavcodec/mpegvideo_enc.c | |
parent | a7985cfd4c51b7fe2b870fc4ecd109707ee035d6 (diff) | |
download | ffmpeg-8d686ca59db14900ad5c12b547fb8a7afc8b0b94.tar.gz |
dsputil: Split off *_8x8basis to a separate context
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r-- | libavcodec/mpegvideo_enc.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 65e2a8c8c7..f95a76b837 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -701,6 +701,7 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx) if (ARCH_X86) ff_MPV_encode_init_x86(s); + ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx); ff_qpeldsp_init(&s->qdsp); s->avctx->coded_frame = s->current_picture.f; @@ -3871,7 +3872,7 @@ STOP_TIMER("memset rem[]")} run_tab[rle_index++]=run; run=0; - s->dsp.add_8x8basis(rem, basis[j], coeff); + s->mpvencdsp.add_8x8basis(rem, basis[j], coeff); }else{ run++; } @@ -3885,7 +3886,7 @@ STOP_TIMER("init rem[]") {START_TIMER #endif for(;;){ - int best_score=s->dsp.try_8x8basis(rem, weight, basis[0], 0); + int best_score = s->mpvencdsp.try_8x8basis(rem, weight, basis[0], 0); int best_coeff=0; int best_change=0; int run2, best_unquant_change=0, analyze_gradient; @@ -3929,7 +3930,8 @@ STOP_TIMER("dct")} if(new_coeff >= 2048 || new_coeff < 0) continue; - score= s->dsp.try_8x8basis(rem, weight, basis[0], new_coeff - old_coeff); + score = s->mpvencdsp.try_8x8basis(rem, weight, basis[0], + new_coeff - old_coeff); if(score<best_score){ best_score= score; best_coeff= 0; @@ -4052,7 +4054,8 @@ STOP_TIMER("dct")} unquant_change= new_coeff - old_coeff; assert((score < 100*lambda && score > -100*lambda) || lambda==0); - score+= s->dsp.try_8x8basis(rem, weight, basis[j], unquant_change); + score += s->mpvencdsp.try_8x8basis(rem, weight, basis[j], + unquant_change); if(score<best_score){ best_score= score; best_coeff= i; @@ -4126,7 +4129,7 @@ if(256*256*256*64 % count == 0){ } } - s->dsp.add_8x8basis(rem, basis[j], best_unquant_change); + s->mpvencdsp.add_8x8basis(rem, basis[j], best_unquant_change); }else{ break; } |