fix level_prefix too large in residual decoding
negative data with left shift, use cast or multiplication instead
merge the calculate
Merge pull request #294 from huili2/neg_left_shift

negative data with left shift, use cast or multiplication instead
Merge pull request #292 from huili2/level_prefix

fix level_prefix too large in residual decoding
add refine mc.cpp on decoder
1. remove unecessary init
2. add static to constant function pointer array
fix build fail on osx
Merge pull request #296 from ruil2/build_osx

fix build fail on osx
Fix building with MT_DEBUG enabled after the encoder interface update

There is no struct named SMulSliceOption any longer.
Silence building libwels.a building with V=0
Merge pull request #300 from mstorsjo/silent-make

Silence building libwels.a building with V=0
Merge pull request #299 from mstorsjo/fix-renamed-struct

Fix building with MT_DEBUG enabled after the encoder interface update
use temporal layer num and remove gop size in external configure
Remove useless ifdefs

This is in practice always enabled on all currently supported
platforms.
Merge pull request #302 from mstorsjo/remove-useless-ifdef

Remove useless ifdefs
Merge pull request #297 from licaiguo/refine-mc.cpp

add refine mc.cpp on decoder
Remove the unused iInitType parameter to the decoder Initialize method
Use the actual struct type instead of a void pointer to the decoder Initialize method
Remove completely unused variables and private fields
Merge pull request #301 from ruil2/temporal_num

use temporal layer num and remove gop size in external configure-- review request #94