Menu

Header file for xBRZ_Win32.dll

Dan Weiss
2015-08-04
2015-08-17
  • Dan Weiss

    Dan Weiss - 2015-08-04

    I see the scaler test program comes with a pre-built DLL file, but does not include any header file or documentation for the DLL.
    What are the arguments and calling conventions for the functions inside?

     
  • Dan Weiss

    Dan Weiss - 2015-08-17

    Here are the declarations that I reverse-engineered up:

    void* createScaler();
    void scaleXBRZ(void *scaler, int factor, void *src, void *dest, int srcWidth, int srcHeight, int pixelFormat);
    void releaseScaler(void *scaler);
    

    Unfortunately, due to an issue with how Visual C++ generates code, it is incompatible with Windows XP. It tries to get thread-local storage by fetching something from FS:[0x2C], which returns 0 on Windows XP, then leads to a null pointer read.

    If you replace the static const instance inside DistYCbCrBuffer with a normal global variable, it works fine on Windows XP.

     
  • Zenju

    Zenju - 2015-08-17

    Here are the declarations that I reverse-engineered up:

    Uhm... the code is open source. Just saying.

     

Log in to post a comment.