LZ4 compressor C lib를 사용하고 있습니다. 내가 압축하는 파일 중 일부는 JPG 및 PNG입니다. 내가 이해하지 못하는 몇 가지 이유, 방법LZ4 : 압축 된 이미지 형식 압축
int compressedSize = LZ4_compress_default((char*)data,
compressedData, uncompressedSize, uncompressedSize);
들어 가끔 압축하고 이미지 (제로)에 대한 음의 값을 반환합니다.
예를 들어 두 개의 표준 JPG 이미지를 압축합니다. 하나는 값 '-236'을 반환하고, 두 번째는 압축 된 바이트의 수를 반환합니다. 즉, 첫 번째 바이트가 압축되지 않았습니다. 제로 리턴은 LZ4 압축에 실패했음을 의미합니다. 나는 -236이 무엇을 의미하는지 전혀 모른다. 원본 데이터가 이미 어느 정도 압축 되었기 때문입니까?
저는 압축 된 버전이 실제로 원본보다 더 큽니다 (JPEG와 함께 드문 일이 아니며 jpeg 이미지를 압축하여 결과를 직접 보려고합니다) 따라서 음수라고 생각합니다. – kuruczgyurci
라인 248 이후에 exampled @ https://github.com/lz4/lz4/blob/dev/examples/compress_functions.c를 점검 했습니까? 즉, maxcompsize – HRgiger
의 사용은이 함수가 얻은 바이트 수를 반환했다고 생각했습니다. 압축 (original_size - compressed_size),하지만 내가 틀렸던 것 같습니다. lz4 매뉴얼은 반환 값에 대해 말합니다 : _return : 버퍼 dest에 기록 된 바이트 수 (반드시 <= maxOutputSize) 이거나 압축에 실패하면 0입니다. 음수 값은 언급하지 않는 것 같습니다. – kuruczgyurci