0001-libheif-plugins-encoder_jpeg.cc-fix-libjpeg-build.patch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. From 33eb948240365434c845b618854403e82a229012 Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Wed, 31 Jan 2024 21:04:37 +0100
  4. Subject: [PATCH] libheif/plugins/encoder_jpeg.cc: fix libjpeg build
  5. Fix the following libjpeg build failure raised since version 1.17.0 and
  6. https://github.com/strukturag/libheif/commit/ebd13a20b8b7f1964939642b08b662ef7e483f39
  7. because third argument of jpeg_mem_dest is defined as size_t* on libjpeg
  8. instead of unsigned long* on jpeg-turbo:
  9. /home/buildroot/autobuild/instance-3/output-1/build/libheif-1.17.5/libheif/plugins/encoder_jpeg.cc: In function 'heif_error jpeg_encode_image(void*, const heif_image*, heif_image_input_class)':
  10. /home/buildroot/autobuild/instance-3/output-1/build/libheif-1.17.5/libheif/plugins/encoder_jpeg.cc:366:37: error: invalid conversion from 'long unsigned int*' to 'size_t*' {aka 'unsigned int*'} [-fpermissive]
  11. 366 | jpeg_mem_dest(&cinfo, &outbuffer, &outlength);
  12. | ^~~~~~~~~~
  13. | |
  14. | long unsigned int*
  15. Fix #1008 and #1086
  16. Fixes:
  17. - http://autobuild.buildroot.org/results/8ca909564c8dabe28ad08c96ebbc04b25592e727
  18. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  19. Upstream: https://github.com/strukturag/libheif/pull/1120
  20. ---
  21. libheif/plugins/encoder_jpeg.cc | 4 ++++
  22. 1 file changed, 4 insertions(+)
  23. diff --git a/libheif/plugins/encoder_jpeg.cc b/libheif/plugins/encoder_jpeg.cc
  24. index d6c7854..21a5541 100644
  25. --- a/libheif/plugins/encoder_jpeg.cc
  26. +++ b/libheif/plugins/encoder_jpeg.cc
  27. @@ -360,7 +360,11 @@ struct heif_error jpeg_encode_image(void* encoder_raw, const struct heif_image*
  28. }
  29. uint8_t* outbuffer = nullptr;
  30. +#ifdef LIBJPEG_TURBO_VERSION
  31. unsigned long outlength = 0;
  32. +#else
  33. + size_t outlength = 0;
  34. +#endif
  35. jpeg_create_compress(&cinfo);
  36. jpeg_mem_dest(&cinfo, &outbuffer, &outlength);
  37. --
  38. 2.43.0