Skip to content
  • Yaowu Xu's avatar
    Fixed an encoder debug/relese mismatch in x86_64-win64-vs8 · c15652bc
    Yaowu Xu authored
    Visual c++ compiler uses xmm registers for floating point
    operations for 64 bit architecture, therefore its calling
    convention requires the preservation of xmm6-xmm15 in any
    function that have used these registers. However, the sse2
    functions, that were originally written for 32 bit windows,
    may have used xmm6 and xmm7 without preserving the content.
    In this particular case, the compiler used xmm6 to save
    the variable "two_pass_min_rate", the value of the variable
    is mucked up by our sse2 optimized loop filter functions,
    hence the results of release/debug mismatching.
    c15652bc