Cache the reference frame associated with the current MB mode in each fragment.
This avoids repeatedly performing the MB mode -> reference frame translation, which is done many times per fragment during DC prediction. In fact, by using a special OC_FRAME_NONE tag for uncoded fragments, one need not even check to see if a fragment is coded during DC prediction, simplifying it even more. This saves 2% on 720p decode on a Cortex A8. svn path=/trunk/theora/; revision=17457
Showing
- lib/analyze.c 20 additions, 8 deletionslib/analyze.c
- lib/arm/armstate.c 12 additions, 24 deletionslib/arm/armstate.c
- lib/c64x/c64xdec.c 11 additions, 14 deletionslib/c64x/c64xdec.c
- lib/c64x/c64xfrag.c 4 additions, 8 deletionslib/c64x/c64xfrag.c
- lib/decint.h 1 addition, 1 deletionlib/decint.h
- lib/decode.c 27 additions, 23 deletionslib/decode.c
- lib/encint.h 1 addition, 1 deletionlib/encint.h
- lib/state.c 4 additions, 8 deletionslib/state.c
- lib/state.h 5 additions, 1 deletionlib/state.h
- lib/tokenize.c 13 additions, 16 deletionslib/tokenize.c
- lib/x86/mmxstate.c 4 additions, 6 deletionslib/x86/mmxstate.c
- lib/x86_vc/mmxstate.c 4 additions, 6 deletionslib/x86_vc/mmxstate.c
Loading
Please register or sign in to comment