Commit 6d0155c7 authored by Michael Niedermayer's avatar Michael Niedermayer

Replace mvd>2 + mvd>32 by MIN((mvd+28)*17>>9, 2)

same speed as far as i can meassure but it might have fewer branches on some
archs.
Idea from x264 / jason

Originally committed as revision 22027 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent bc77fce6
...@@ -915,7 +915,7 @@ static int decode_cabac_mb_mvd( H264Context *h, int list, int n, int l ) { ...@@ -915,7 +915,7 @@ static int decode_cabac_mb_mvd( H264Context *h, int list, int n, int l ) {
int ctxbase = (l == 0) ? 40 : 47; int ctxbase = (l == 0) ? 40 : 47;
int mvd; int mvd;
if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+(amvd>2) + (amvd>32)])) if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+FFMIN(((amvd+28)*17)>>9,2)]))
return 0; return 0;
mvd= 1; mvd= 1;
......
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