# HG changeset patch # User michael # Date 1267028168 0 # Node ID aa9317d124fc08ae388c3add6078969a75a60595 # Parent bf3436efe0377e0eb8481b8887b86359bdb34b0a 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 diff -r bf3436efe037 -r aa9317d124fc h264_cabac.c --- a/h264_cabac.c Wed Feb 24 13:12:09 2010 +0000 +++ b/h264_cabac.c Wed Feb 24 16:16:08 2010 +0000 @@ -915,7 +915,7 @@ int ctxbase = (l == 0) ? 40 : 47; 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; mvd= 1;