Einzelnen Beitrag anzeigen

Cypheros

Registriert seit: 12. Sep 2024
Ort: Büren
8 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Probleme mit libjpeg-turbo unter 64bit

  Alt 2. Jul 2025, 13:15
Danke, darauf wäre ich nie gekommen.

Erst nachdem ich mir die jpeglib.h nochmal genau angeschaut habe, sah ich deinen Hinweis bestätigt, dass free_in_buffer und bytes_in_buffer vom Typ size_t sind, was NativeUInt in der Delphi-Welt bedeutet. (um ganz präzise zu sein)

Code:
struct jpeg_destination_mgr {
  JOCTET *next_output_byte;    /* => next byte to write in buffer */
  size_t free_in_buffer;       /* # of byte spaces remaining in buffer */

  void (*init_destination) (j_compress_ptr cinfo);
  boolean (*empty_output_buffer) (j_compress_ptr cinfo);
  void (*term_destination) (j_compress_ptr cinfo);
};


/* Data source object for decompression */

struct jpeg_source_mgr {
  const JOCTET *next_input_byte; /* => next byte to read from buffer */
  size_t bytes_in_buffer;      /* # of bytes remaining in buffer */

  void (*init_source) (j_decompress_ptr cinfo);
  boolean (*fill_input_buffer) (j_decompress_ptr cinfo);
  void (*skip_input_data) (j_decompress_ptr cinfo, long num_bytes);
  boolean (*resync_to_restart) (j_decompress_ptr cinfo, int desired);
  void (*term_source) (j_decompress_ptr cinfo);
};
Folgende beiden Zeilen müssen dann aber auch korrigiert werden, damit es perfekt ist:
Code:
  jpeg_CreateCompress: procedure(cinfo: j_compress_ptr; version: integer; structsize: NativeUInt); cdecl;
  jpeg_CreateDecompress: procedure(cinfo: j_decompress_ptr; version: integer; structsize: NativeUInt); cdecl;
Danke,
Cypheros
Frank Siek
  Mit Zitat antworten Zitat