summaryrefslogtreecommitdiff
path: root/libavcodec/h263dec.c
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2006-10-01 21:25:17 +0000
committerLoren Merritt <lorenm@u.washington.edu>2006-10-01 21:25:17 +0000
commit2833fc46462abd841e3d69242be9919c98ad3696 (patch)
tree4e9513d1913ff238c35e066877c8795b40d561c8 /libavcodec/h263dec.c
parente0769997cb753d8a3c9039b1de1542987cfc0692 (diff)
approximate qpel functions: sacrifice some quality for some decoding speed. enabled on B-frames with -lavdopts fast.
Originally committed as revision 6412 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h263dec.c')
-rw-r--r--libavcodec/h263dec.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index b53192d745..4000645c70 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -693,6 +693,17 @@ retry:
s->next_p_frame_damaged=0;
}
+ if((s->avctx->flags2 & CODEC_FLAG2_FAST) && s->pict_type==B_TYPE){
+ s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab;
+ s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab;
+ }else if((!s->no_rounding) || s->pict_type==B_TYPE){
+ s->me.qpel_put= s->dsp.put_no_rnd_qpel_pixels_tab;
+ s->me.qpel_avg= s->dsp.avg_qpel_pixels_tab;
+ }else{
+ s->me.qpel_put= s->dsp.put_qpel_pixels_tab;
+ s->me.qpel_avg= s->dsp.avg_qpel_pixels_tab;
+ }
+
if(MPV_frame_start(s, avctx) < 0)
return -1;