Hi. I think there should be something that is not working correctly in the ippsDecodeLZ4_8u() function. For example, the next code work flawlessly:
#ifdef HAVE_IPP int outlen; int inlen = (int)compressed_length; IppStatus status; //status = ippsDecodeLZ4_8u((const Ipp8u*)input, inlen, (Ipp8u*)output, &outlen); status = ippsDecodeLZ4Dict_8u((const Ipp8u*)input, &inlen, (Ipp8u*)output, 0, &outlen, NULL, 1 << 16); cbytes = (status == ippStsNoErr) ? inlen : -inlen; #else cbytes = LZ4_decompress_fast(input, output, (int)maxout); #endif
However, if I comment out the ippsDecodeLZ4Dict_8u() line and uncomment the one with ippsDecodeLZ4_8u() the code only works in debug mode (-O0 -g), not in Release mode (-O3 -g). I am using IPP 2019.1.144 on a Mac with OSX 10.4.2 and clang 1000.11.45.5 (Apple LLVM version 10.0.0).
Any hint will be appreciated.