Date: Saturday, March 18, 2023 @ 22:44:39
Author: arojas
Revision: 1423616
archrelease: copy trunk to community-x86_64
Added:
transcode/repos/community-x86_64/PKGBUILD
(from rev 1423615, transcode/trunk/PKGBUILD)
transcode/repos/community-x86_64/transcode-gcc10.patch
(from rev 1423615, transcode/trunk/transcode-gcc10.patch)
transcode/repos/community-x86_64/transcode-glibc-2.32.patch
(from rev 1423615, transcode/trunk/transcode-glibc-2.32.patch)
transcode/repos/community-x86_64/transcode-imagemagick7.patch
(from rev 1423615, transcode/trunk/transcode-imagemagick7.patch)
Deleted:
transcode/repos/community-x86_64/PKGBUILD
transcode/repos/community-x86_64/transcode-gcc10.patch
transcode/repos/community-x86_64/transcode-glibc-2.32.patch
transcode/repos/community-x86_64/transcode-imagemagick7.patch
------------------------------+
PKGBUILD | 110 +-
transcode-gcc10.patch | 96 +-
transcode-glibc-2.32.patch | 94 +-
transcode-imagemagick7.patch | 1588 ++++++++++++++++++++---------------------
4 files changed, 944 insertions(+), 944 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2023-03-18 22:44:25 UTC (rev 1423615)
+++ PKGBUILD 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -1,55 +0,0 @@
-# Maintainer:
-# Contributor: Sarah Hay <[email protected]>
-# Contributor: roberto <[email protected]>
-
-pkgname=transcode
-_sripver=0.3-4
-pkgver=1.1.7
-pkgrel=40
-pkgdesc='A video/DVD ripper and encoder for the terminal/console'
-arch=(x86_64)
-url='http://www.transcoding.org/'
-license=(GPL)
-depends=(gawk imagemagick lzo libdvdread mjpegtools sdl libmpeg2 libxaw a52dec
alsa-lib libtheora lame libvorbis)
-makedepends=(nasm x264 xvidcore)
-#source=(https://bitbucket.org/france/transcode-tcforge/downloads/$pkgname-$pkgver.tar.bz2
-source=(https://sources.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.bz2
- transcode-imagemagick7.patch
- transcode-gcc10.patch
- transcode-glibc-2.32.patch)
-sha256sums=('1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92'
- '4ede15540ea6932954ac332c12dde130bf48e7e4773d1e04d3c3f23038c6ac51'
- '13ad4d06ca5b98ef66c4e0699d92023727cd7936ef1c4bf7691e3a611c6bb786'
- '8f7aa89be3bc38a42fe664e8f2c0e519158cb4e55b7f99f176f1622c2718b641')
-
-prepare() {
- cd $pkgname-$pkgver
- patch -p1 -i ../transcode-imagemagick7.patch # Gentoo patch
- sed -e 's|freetype/ftglyph.h|freetype2/freetype/ftglyph.h|' -i
filter/subtitler/load_font.c
- patch -p1 -i ../transcode-gcc10.patch # Fix build with GCC 10
- patch -p1 -i ../transcode-glibc-2.32.patch # Fix build with glibc 2.32
- autoreconf -vi
-}
-
-
-build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr \
- --disable-sse --disable-sse2 --disable-altivec --enable-mmx \
- --enable-lame --enable-ogg --enable-vorbis --enable-theora \
- --enable-libdv --enable-libxml2 --enable-v4l \
- --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \
- --enable-sdl --enable-freetype2 --enable-a52 \
- --enable-xvid --enable-x264 --enable-alsa --enable-libmpeg2 \
- --enable-libmpeg2convert --disable-ffmpeg
-
- #https://bugzilla.gnome.org/show_bug.cgi?id=655517
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-}
Copied: transcode/repos/community-x86_64/PKGBUILD (from rev 1423615,
transcode/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -0,0 +1,55 @@
+# Maintainer:
+# Contributor: Sarah Hay <[email protected]>
+# Contributor: roberto <[email protected]>
+
+pkgname=transcode
+_sripver=0.3-4
+pkgver=1.1.7
+pkgrel=41
+pkgdesc='A video/DVD ripper and encoder for the terminal/console'
+arch=(x86_64)
+url='http://www.transcoding.org/'
+license=(GPL)
+depends=(gawk imagemagick lzo libdvdread mjpegtools sdl libmpeg2 libxaw a52dec
alsa-lib libtheora lame libvorbis)
+makedepends=(nasm x264 xvidcore)
+#source=(https://bitbucket.org/france/transcode-tcforge/downloads/$pkgname-$pkgver.tar.bz2
+source=(https://sources.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.bz2
+ transcode-imagemagick7.patch
+ transcode-gcc10.patch
+ transcode-glibc-2.32.patch)
+sha256sums=('1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92'
+ '4ede15540ea6932954ac332c12dde130bf48e7e4773d1e04d3c3f23038c6ac51'
+ '13ad4d06ca5b98ef66c4e0699d92023727cd7936ef1c4bf7691e3a611c6bb786'
+ '8f7aa89be3bc38a42fe664e8f2c0e519158cb4e55b7f99f176f1622c2718b641')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i ../transcode-imagemagick7.patch # Gentoo patch
+ sed -e 's|freetype/ftglyph.h|freetype2/freetype/ftglyph.h|' -i
filter/subtitler/load_font.c
+ patch -p1 -i ../transcode-gcc10.patch # Fix build with GCC 10
+ patch -p1 -i ../transcode-glibc-2.32.patch # Fix build with glibc 2.32
+ autoreconf -vi
+}
+
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr \
+ --disable-sse --disable-sse2 --disable-altivec --enable-mmx \
+ --enable-lame --enable-ogg --enable-vorbis --enable-theora \
+ --enable-libdv --enable-libxml2 --enable-v4l \
+ --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \
+ --enable-sdl --enable-freetype2 --enable-a52 \
+ --enable-xvid --enable-x264 --enable-alsa --enable-libmpeg2 \
+ --enable-libmpeg2convert --disable-ffmpeg
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
Deleted: transcode-gcc10.patch
===================================================================
--- transcode-gcc10.patch 2023-03-18 22:44:25 UTC (rev 1423615)
+++ transcode-gcc10.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -1,48 +0,0 @@
---- a/import/demux_pass.c
-+++ b/import/demux_pass.c
-@@ -32,8 +32,6 @@
- #include "packets.h"
-
-
--int gop, gop_pts, gop_cnt;
--
- /* if you listen carefully, then you can hear the desesperate
- * whisper of this code calling for a rewrite. Or for a redesign.
- * Or both. -- FR
---- a/import/extract_ac3.c
-+++ b/import/extract_ac3.c
-@@ -334,7 +334,6 @@
- FILE *fd;
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-
-
- /* from ac3scan.c */
-@@ -472,6 +471,8 @@
- void extract_ac3(info_t *ipipe)
- {
-
-+ char audio[MAX_BUF];
-+
- int error=0;
-
- avi_t *avifile;
---- a/import/extract_mp3.c
-+++ b/import/extract_mp3.c
-@@ -243,7 +243,6 @@
- }
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-
- /* ------------------------------------------------------------
- *
-@@ -258,6 +257,7 @@
-
- void extract_mp3(info_t *ipipe)
- {
-+ char audio[MAX_BUF];
-
- int error=0;
-
Copied: transcode/repos/community-x86_64/transcode-gcc10.patch (from rev
1423615, transcode/trunk/transcode-gcc10.patch)
===================================================================
--- transcode-gcc10.patch (rev 0)
+++ transcode-gcc10.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -0,0 +1,48 @@
+--- a/import/demux_pass.c
++++ b/import/demux_pass.c
+@@ -32,8 +32,6 @@
+ #include "packets.h"
+
+
+-int gop, gop_pts, gop_cnt;
+-
+ /* if you listen carefully, then you can hear the desesperate
+ * whisper of this code calling for a rewrite. Or for a redesign.
+ * Or both. -- FR
+--- a/import/extract_ac3.c
++++ b/import/extract_ac3.c
+@@ -334,7 +334,6 @@
+ FILE *fd;
+
+ #define MAX_BUF 4096
+-char audio[MAX_BUF];
+
+
+ /* from ac3scan.c */
+@@ -472,6 +471,8 @@
+ void extract_ac3(info_t *ipipe)
+ {
+
++ char audio[MAX_BUF];
++
+ int error=0;
+
+ avi_t *avifile;
+--- a/import/extract_mp3.c
++++ b/import/extract_mp3.c
+@@ -243,7 +243,6 @@
+ }
+
+ #define MAX_BUF 4096
+-char audio[MAX_BUF];
+
+ /* ------------------------------------------------------------
+ *
+@@ -258,6 +257,7 @@
+
+ void extract_mp3(info_t *ipipe)
+ {
++ char audio[MAX_BUF];
+
+ int error=0;
+
Deleted: transcode-glibc-2.32.patch
===================================================================
--- transcode-glibc-2.32.patch 2023-03-18 22:44:25 UTC (rev 1423615)
+++ transcode-glibc-2.32.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -1,47 +0,0 @@
---- transcode-1.1.7/import/v4l/import_v4l2.c.orig 2020-08-28
08:28:44.311434934 +0000
-+++ transcode-1.1.7/import/v4l/import_v4l2.c 2020-08-28 08:41:19.279323984
+0000
-@@ -455,7 +455,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support cropping"
- "(ioctl(VIDIOC_CROPCAP) returns \"%s\"), disabled",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return TC_ERROR;
- }
- if (verbose_flag > TC_INFO) {
-@@ -485,7 +485,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support inquiring cropping"
- " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return -1;
- }
-
-@@ -513,7 +513,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support inquering cropping"
- " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return -1;
- }
- if (verbose_flag > TC_INFO) {
-@@ -613,7 +613,7 @@
- if (err < 0) {
- if (verbose_flag) {
- tc_log_warn(MOD_NAME, "driver does not support setting parameters
(ioctl(VIDIOC_S_PARM) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- }
- }
- return TC_OK;
-@@ -628,7 +628,7 @@
- err = ioctl(vs->video_fd, VIDIOC_G_STD, &stdid);
- if (err < 0) {
- tc_log_warn(MOD_NAME, "driver does not support get std
(ioctl(VIDIOC_G_STD) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- memset(&stdid, 0, sizeof(v4l2_std_id));
- }
-
Copied: transcode/repos/community-x86_64/transcode-glibc-2.32.patch (from rev
1423615, transcode/trunk/transcode-glibc-2.32.patch)
===================================================================
--- transcode-glibc-2.32.patch (rev 0)
+++ transcode-glibc-2.32.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -0,0 +1,47 @@
+--- transcode-1.1.7/import/v4l/import_v4l2.c.orig 2020-08-28
08:28:44.311434934 +0000
++++ transcode-1.1.7/import/v4l/import_v4l2.c 2020-08-28 08:41:19.279323984
+0000
+@@ -455,7 +455,7 @@
+ tc_log_warn(MOD_NAME,
+ "driver does not support cropping"
+ "(ioctl(VIDIOC_CROPCAP) returns \"%s\"), disabled",
+- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
++ strerror(errno));
+ return TC_ERROR;
+ }
+ if (verbose_flag > TC_INFO) {
+@@ -485,7 +485,7 @@
+ tc_log_warn(MOD_NAME,
+ "driver does not support inquiring cropping"
+ " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
+- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
++ strerror(errno));
+ return -1;
+ }
+
+@@ -513,7 +513,7 @@
+ tc_log_warn(MOD_NAME,
+ "driver does not support inquering cropping"
+ " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
+- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
++ strerror(errno));
+ return -1;
+ }
+ if (verbose_flag > TC_INFO) {
+@@ -613,7 +613,7 @@
+ if (err < 0) {
+ if (verbose_flag) {
+ tc_log_warn(MOD_NAME, "driver does not support setting parameters
(ioctl(VIDIOC_S_PARM) returns \"%s\")",
+- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
++ strerror(errno));
+ }
+ }
+ return TC_OK;
+@@ -628,7 +628,7 @@
+ err = ioctl(vs->video_fd, VIDIOC_G_STD, &stdid);
+ if (err < 0) {
+ tc_log_warn(MOD_NAME, "driver does not support get std
(ioctl(VIDIOC_G_STD) returns \"%s\")",
+- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
++ strerror(errno));
+ memset(&stdid, 0, sizeof(v4l2_std_id));
+ }
+
Deleted: transcode-imagemagick7.patch
===================================================================
--- transcode-imagemagick7.patch 2023-03-18 22:44:25 UTC (rev 1423615)
+++ transcode-imagemagick7.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -1,794 +0,0 @@
-http://git.pld-linux.org/?p=packages/transcode.git;a=blob_plain;f=imagemagick7.patch;h=8411f89b843764eff8f4aaddb314d7773d1bcec8;hb=HEAD
-
---- transcode-1.1.7/configure.in
-+++ transcode-1.1.7/configure.in
-@@ -1105,8 +1105,8 @@
- dnl ImageMagick
- dnl
- IMAGEMAGICK_EXTRA_LIBS="$IMAGEMAGICK_EXTRA_LIBS $($PKG_CONFIG --libs
ImageMagick)"
--TC_PKG_CHECK(imagemagick, no, IMAGEMAGICK, no, [magick/api.h],
-- none, InitializeMagick, Wand, [http://www.imagemagick.org/])
-+TC_PKG_CHECK(imagemagick, no, IMAGEMAGICK, no, [MagickWand/MagickWand.h],
-+ none, InitializeMagick, MagickWand, [http://www.imagemagick.org/])
- TC_PKG_HAVE(imagemagick, IMAGEMAGICK)
- if test x"$have_imagemagick" = x"yes" ; then
- SAVE_CPPFLAGS="$CPPFLAGS"
-@@ -1114,6 +1114,7 @@
- AC_CHECK_HEADER([wand/magick-wand.h],
- [AC_DEFINE([HAVE_BROKEN_WAND], [1], ["have old wand header"])])
- CPPFLAGS="$SAVE_CPPFLAGS"
-+ IMAGEMAGICK_CFLAGS="$IMAGEMAGICK_CFLAGS $($PKG_CONFIG --cflags ImageMagick)"
- fi
-
- dnl
---- transcode-1.1.7/export/export_im.c
-+++ transcode-1.1.7/export/export_im.c
-@@ -23,7 +23,7 @@
-
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
--#include <magick/api.h>
-+#include <MagickCore/MagickCore.h>
- #undef PACKAGE_BUGREPORT
- #undef PACKAGE_NAME
- #undef PACKAGE_STRING
-@@ -82,7 +82,7 @@
-
- codec = (vob->im_v_codec == CODEC_YUV) ? CODEC_YUV : CODEC_RGB;
-
-- InitializeMagick("");
-+ MagickCoreGenesis("", MagickFalse);
-
- image_info=CloneImageInfo((ImageInfo *) NULL);
-
-@@ -169,8 +169,8 @@
- MOD_encode
- {
-
-- ExceptionInfo exception_info;
-- char *out_buffer = param->buffer;
-+ ExceptionInfo *exception_info;
-+ unsigned char *out_buffer = param->buffer;
- Image *image=NULL;
- int res;
-
-@@ -179,7 +179,7 @@
-
- if(param->flag == TC_VIDEO) {
-
-- GetExceptionInfo(&exception_info);
-+ exception_info = AcquireExceptionInfo();
-
- res = tc_snprintf(buf2, PATH_MAX, "%s%06d.%s", prefix, counter++, type);
- if (res < 0) {
-@@ -193,11 +193,11 @@
- out_buffer = tmp_buffer;
- }
-
-- image=ConstituteImage (width, height, "RGB", CharPixel, out_buffer,
&exception_info);
-+ image=ConstituteImage (width, height, "RGB", CharPixel, out_buffer,
exception_info);
-
- strlcpy(image->filename, buf2, MaxTextExtent);
-
-- WriteImage(image_info, image);
-+ WriteImage(image_info, image, exception_info);
- DestroyImage(image);
-
- return(0);
-@@ -220,8 +220,7 @@
-
- if(param->flag == TC_VIDEO) {
- DestroyImageInfo(image_info);
-- ConstituteComponentTerminus();
-- DestroyMagick();
-+ MagickCoreTerminus();
-
- free(tmp_buffer);
- tmp_buffer = NULL;
---- transcode-1.1.7/filter/filter_compare.c
-+++ transcode-1.1.7/filter/filter_compare.c
-@@ -24,7 +24,7 @@
-
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
--#include <magick/api.h>
-+#include <MagickCore/MagickCore.h>
- #undef PACKAGE_BUGREPORT
- #undef PACKAGE_NAME
- #undef PACKAGE_STRING
-@@ -111,9 +111,9 @@
- Image *pattern, *resized, *orig = 0;
- ImageInfo *image_info;
-
-- PixelPacket *pixel_packet;
-+ Quantum *pixel_quantum;
- pixelsMask *pixel_last;
-- ExceptionInfo exception_info;
-+ ExceptionInfo *exception_info;
-
- if(ptr->tag & TC_FILTER_GET_CONFIG) {
- char buf[128];
-@@ -139,7 +139,7 @@
- if(ptr->tag & TC_FILTER_INIT)
- {
-
-- unsigned int t,r,index;
-+ unsigned int t,r;
- pixelsMask *temp;
-
- compare[instance] = tc_malloc(sizeof(compareData));
-@@ -190,22 +190,22 @@
- tc_log_perror(MOD_NAME, "could not open file
for writing");
- }
-
-- InitializeMagick("");
-+ MagickCoreGenesis("", MagickFalse);
- if (verbose > 1)
- tc_log_info(MOD_NAME, "Magick Initialized successfully");
-
-- GetExceptionInfo(&exception_info);
-+ exception_info = AcquireExceptionInfo();
- image_info = CloneImageInfo ((ImageInfo *) NULL);
- strlcpy(image_info->filename, pattern_name,
MaxTextExtent);
- if (verbose > 1)
- tc_log_info(MOD_NAME, "Trying to open image");
- orig = ReadImage(image_info,
-- &exception_info);
-+ exception_info);
-
- if (orig == (Image *) NULL) {
-- MagickWarning(exception_info.severity,
-- exception_info.reason,
-- exception_info.description);
-+ MagickWarning(exception_info->severity,
-+ exception_info->reason,
-+ exception_info->description);
- strlcpy(pattern_name, "/dev/null",
sizeof(pattern_name));
- }else{
- if (verbose > 1)
-@@ -228,42 +228,41 @@
- if (orig != NULL){
- // Flip and resize
- if (compare[instance]->vob->im_v_codec == CODEC_YUV)
-- TransformRGBImage(orig,YCbCrColorspace);
-+ TransformImageColorspace(orig, YCbCrColorspace,
exception_info);
- if (verbose > 1) tc_log_info(MOD_NAME, "Resizing the
Image");
- resized = ResizeImage(orig,
- compare[instance]->width,
- compare[instance]->height,
- GaussianFilter,
-- 1,
-- &exception_info);
-+ exception_info);
- if (verbose > 1)
- tc_log_info(MOD_NAME, "Flipping the Image");
-- pattern = FlipImage(resized, &exception_info);
-+ pattern = FlipImage(resized, exception_info);
- if (pattern == (Image *) NULL) {
-- MagickError (exception_info.severity,
-- exception_info.reason,
-- exception_info.description);
-+ MagickError (exception_info->severity,
-+ exception_info->reason,
-+ exception_info->description);
- }
-
- // Filling the matrix with the pixels values not
- // alpha
-
- if (verbose > 1) tc_log_info(MOD_NAME,
"GetImagePixels");
-- pixel_packet = GetImagePixels(pattern,0,0,
-+ pixel_quantum = GetAuthenticPixels(pattern,0,0,
- pattern->columns,
-- pattern->rows);
-+ pattern->rows,
-+ exception_info);
-
- if (verbose > 1) tc_log_info(MOD_NAME, "Filling the
Image matrix");
- for (t = 0; t < pattern->rows; t++)
- for (r = 0; r < pattern->columns; r++){
-- index = t*pattern->columns + r;
-- if (pixel_packet[index].opacity == 0){
-+ if (GetPixelAlpha(pattern,
pixel_quantum) == QuantumRange) {
- temp=tc_malloc(sizeof(struct
pixelsMask));
- temp->row=t;
- temp->col=r;
-- temp->r =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].red);
-- temp->g =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].green);
-- temp->b =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].blue);
-+ temp->r =
(uint8_t)ScaleQuantumToChar(GetPixelRed(pattern, pixel_quantum));
-+ temp->g =
(uint8_t)ScaleQuantumToChar(GetPixelGreen(pattern, pixel_quantum));
-+ temp->b =
(uint8_t)ScaleQuantumToChar(GetPixelBlue(pattern, pixel_quantum));
- temp->next=NULL;
-
- if (pixel_last == NULL){
-@@ -274,6 +273,7 @@
- pixel_last = temp;
- }
- }
-+ pixel_quantum +=
GetPixelChannels(pattern);
- }
-
- if (verbose)
-@@ -297,7 +297,7 @@
- fclose(compare[instance]->results);
- free(compare[instance]);
- }
-- DestroyMagick();
-+ MagickCoreTerminus();
- compare[instance]=NULL;
-
- return(0);
---- transcode-1.1.7/filter/filter_logoaway.c
-+++ transcode-1.1.7/filter/filter_logoaway.c
-@@ -70,7 +70,7 @@
-
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
--#include <magick/api.h>
-+#include <MagickCore/MagickCore.h>
- #undef PACKAGE_BUGREPORT
- #undef PACKAGE_NAME
- #undef PACKAGE_STRING
-@@ -103,10 +103,10 @@
-
- int alpha;
-
-- ExceptionInfo exception_info;
-+ ExceptionInfo *exception_info;
- Image *image;
- ImageInfo *image_info;
-- PixelPacket *pixel_packet;
-+ Quantum *pixel_packet;
-
- int dump;
- char *dump_buf;
-@@ -174,7 +174,7 @@
- * instance filter instance
- * @return void nothing
- *********************************************************/
--static void work_with_rgb_frame(logoaway_data *LD, char *buffer, int width,
int height)
-+static void work_with_rgb_frame(logoaway_data *LD, unsigned char *buffer, int
width, int height)
- {
- int row, col, i;
- int xdistance, ydistance, distance_west, distance_north;
-@@ -201,10 +201,10 @@
- }
- }
-
-- LD->dumpimage = ConstituteImage(LD->width-LD->xpos, LD->height-LD->ypos,
"RGB", CharPixel, LD->dump_buf, &LD->exception_info);
-+ LD->dumpimage = ConstituteImage(LD->width-LD->xpos, LD->height-LD->ypos,
"RGB", CharPixel, LD->dump_buf, LD->exception_info);
- tc_snprintf(LD->dumpimage->filename, MaxTextExtent, "dump[%d].png",
LD->id);
-
-- WriteImage(LD->dumpimage_info, LD->dumpimage);
-+ WriteImage(LD->dumpimage_info, LD->dumpimage, LD->exception_info);
- }
-
- switch(LD->mode) {
-@@ -218,27 +218,28 @@
- for(row=LD->ypos; row<LD->height; ++row) {
- for(col=LD->xpos; col<LD->width; ++col) {
-
-+ Quantum *pixel = LD->pixel_packet +
(row*LD->width+col)*GetPixelChannels(LD->image);
- buf_off = ((height-row)*width+col) * 3;
- pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
- /* R */
- if (!LD->alpha) {
- buffer[buf_off +0] = LD->rcolor;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- buffer[buf_off +0] = alpha_blending(buffer[buf_off +0],
LD->rcolor, alpha_px);
- }
- /* G */
- if (!LD->alpha) {
- buffer[buf_off +1] = LD->gcolor;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].green);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelGreen(LD->image,
pixel));
- buffer[buf_off +1] = alpha_blending(buffer[buf_off +1],
LD->gcolor, alpha_px);
- }
- /* B */
- if (!LD->alpha) {
- buffer[buf_off +2] = LD->bcolor;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].blue);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelBlue(LD->image,
pixel));
- buffer[buf_off +2] = alpha_blending(buffer[buf_off +2],
LD->bcolor, alpha_px);
- }
- }
-@@ -268,6 +269,7 @@
- buf_off = ((height-row)*width+col) * 3;
-
- pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
-+ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
-
- /* R */
- hcalc = alpha_blending(buffer[buf_off_xpos +0],
buffer[buf_off_width +0], alpha_hori);
-@@ -276,7 +278,7 @@
- if (!LD->alpha) {
- buffer[buf_off +0] = new_px;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- buffer[buf_off +0] = alpha_blending(buffer[buf_off +0], new_px,
alpha_px);
- }
- /* G */
-@@ -286,7 +288,7 @@
- if (!LD->alpha) {
- buffer[buf_off +1] = new_px;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].green);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelGreen(LD->image,
pixel));
- buffer[buf_off +1] = alpha_blending(buffer[buf_off +1], new_px,
alpha_px);
- }
- /* B */
-@@ -296,7 +298,7 @@
- if (!LD->alpha) {
- buffer[buf_off +2] = new_px;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelBlue(LD->image,
pixel));
- buffer[buf_off +2] = alpha_blending(buffer[buf_off +2], new_px,
alpha_px);
- }
- }
-@@ -327,28 +329,28 @@
- buf_off_height = ((height-LD->height)*width+col) * 3;
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col-i>LD->xpos))
- i++;
- buf_off_xpos = ((height-row)*width + col-i) * 3;
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col+i<LD->width))
- i++;
- buf_off_width = ((height-row)*width + col+i) * 3;
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row-i>LD->ypos))
- i++;
- buf_off_ypos = (height*width*3)-((row-i)*width - col) * 3;
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row+i<LD->height))
- i++;
- buf_off_height = (height*width*3)-((row+i)*width - col) * 3;
-
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
- /* R */
- hcalc = alpha_blending(buffer[buf_off_xpos +0],
buffer[buf_off_width +0], alpha_hori);
- vcalc = alpha_blending(buffer[buf_off_ypos +0],
buffer[buf_off_height +0], alpha_vert);
-@@ -405,7 +407,7 @@
- * instance filter instance
- * @return void nothing
- *********************************************************/
--static void work_with_yuv_frame(logoaway_data *LD, char *buffer, int width,
int height)
-+static void work_with_yuv_frame(logoaway_data *LD, unsigned char *buffer, int
width, int height)
- {
- int row, col, i;
- int craddr, cbaddr;
-@@ -431,10 +433,11 @@
-
- buf_off = row*width+col;
- pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
-+ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
- if (!LD->alpha) {
- buffer[buf_off] = LD->ycolor;
- } else {
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- buffer[buf_off] = alpha_blending(buffer[buf_off], LD->ycolor,
alpha_px);
- }
- }
-@@ -446,8 +449,9 @@
-
- buf_off = row*width/2+col;
- pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
-+ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
- /* sic */
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- if (!LD->alpha) {
- buffer[craddr + buf_off] = LD->ucolor;
- buffer[cbaddr + buf_off] = LD->vcolor;
-@@ -483,10 +487,11 @@
- buf_off_height = LD->height*width+col;
-
- pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
-+ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
-
- hcalc = alpha_blending(buffer[buf_off_xpos], buffer[buf_off_width],
alpha_hori);
- vcalc = alpha_blending(buffer[buf_off_ypos],
buffer[buf_off_height], alpha_vert);
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- new_px = (hcalc*LD->xweight + vcalc*LD->yweight)/100;
- if (!LD->alpha) {
- buffer[buf_off] = new_px;
-@@ -517,7 +522,8 @@
- buf_off_height = LD->height/2*width/2+col;
-
- pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
- /* sic, reuse red alpha_px */
-
- hcalc = alpha_blending(buffer[craddr + buf_off_xpos],
buffer[craddr + buf_off_width], alpha_hori);
-@@ -560,30 +566,30 @@
- pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col-i>LD->xpos))
- i++;
- buf_off_xpos = (row*width + col-i);
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col+i<LD->width))
- i++;
- buf_off_width = (row*width + col+i);
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row-i>LD->ypos))
- i++;
- buf_off_ypos = ((row-i)*width + col);
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row+i<LD->height))
- i++;
- buf_off_height = ((row+i)*width + col);
-
- hcalc = alpha_blending( buffer[buf_off_xpos],
buffer[buf_off_width], alpha_hori );
- vcalc = alpha_blending( buffer[buf_off_ypos],
buffer[buf_off_height], alpha_vert );
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
- new_px = (hcalc*LD->xweight + vcalc*LD->yweight)/100;
- buffer[buf_off] = alpha_blending(buffer[buf_off], new_px, alpha_px);
- }
-@@ -603,23 +609,23 @@
- alpha_hori = xdistance * distance_west;
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col-i>LD->xpos))
- i++;
- buf_off_xpos = (row*width/2 + col-i);
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (col+i<LD->width))
- i++;
- buf_off_width = (row*width/2 + col+i);
-
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row-i>LD->ypos))
- i++;
- buf_off_ypos = ((row-i)*width/2 + col);
- i = 0;
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
- while ((alpha_px != 255) && (row+i<LD->height))
- i++;
- buf_off_height = ((row+i)*width/2 + col);
-@@ -630,7 +636,7 @@
-
- pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
-
-- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
-+ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
- /* sic: reuse the red component */
- hcalc = alpha_blending(buffer[craddr + buf_off_xpos],
buffer[craddr + buf_off_width], alpha_hori);
- vcalc = alpha_blending(buffer[craddr + buf_off_ypos],
buffer[craddr + buf_off_height], alpha_vert);
-@@ -815,17 +821,17 @@
- }
-
- if((data[instance]->alpha) || (data[instance]->dump)) {
-- InitializeMagick("");
-- GetExceptionInfo(&data[instance]->exception_info);
-+ MagickCoreGenesis("", MagickFalse);
-+ data[instance]->exception_info = AcquireExceptionInfo();
-
- if(data[instance]->alpha) {
- data[instance]->image_info = CloneImageInfo((ImageInfo *) NULL);
-
- strlcpy(data[instance]->image_info->filename, data[instance]->file,
MaxTextExtent);
-- data[instance]->image = ReadImage(data[instance]->image_info,
&data[instance]->exception_info);
-+ data[instance]->image = ReadImage(data[instance]->image_info,
data[instance]->exception_info);
- if (data[instance]->image == (Image *) NULL) {
- tc_log_error(MOD_NAME, "\n");
-- MagickWarning (data[instance]->exception_info.severity,
data[instance]->exception_info.reason,
data[instance]->exception_info.description);
-+ MagickWarning (data[instance]->exception_info->severity,
data[instance]->exception_info->reason,
data[instance]->exception_info->description);
- return TC_ERROR;
- }
-
-@@ -835,7 +841,7 @@
- return TC_ERROR;
- }
-
-- data[instance]->pixel_packet = GetImagePixels(data[instance]->image,
0, 0, data[instance]->image->columns, data[instance]->image->rows);
-+ data[instance]->pixel_packet =
GetAuthenticPixels(data[instance]->image, 0, 0, data[instance]->image->columns,
data[instance]->image->rows, data[instance]->exception_info);
- }
- if(data[instance]->dump) {
- if((data[instance]->dump_buf = tc_malloc
((data[instance]->width-data[instance]->xpos)*(data[instance]->height-data[instance]->ypos)*3))
== NULL)
-@@ -865,10 +871,9 @@
- if (data[instance]->dumpimage != (Image *)NULL) {
- DestroyImage(data[instance]->dumpimage);
- DestroyImageInfo(data[instance]->dumpimage_info);
-- ConstituteComponentTerminus();
- }
-- DestroyExceptionInfo(&data[instance]->exception_info);
-- DestroyMagick();
-+ DestroyExceptionInfo(data[instance]->exception_info);
-+ MagickCoreTerminus();
-
- if(data[instance]->dump_buf) free(data[instance]->dump_buf);
- if(data[instance]) free(data[instance]);
---- transcode-1.1.7/filter/filter_logo.c
-+++ transcode-1.1.7/filter/filter_logo.c
-@@ -36,7 +36,7 @@
-
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
--#include <magick/api.h>
-+#include <MagickCore/MagickCore.h>
- #undef PACKAGE_BUGREPORT
- #undef PACKAGE_NAME
- #undef PACKAGE_STRING
-@@ -227,7 +227,8 @@
- ImageFormat ifmt,
- int do_rgbswap)
- {
-- PixelPacket *pixel_packet;
-+ ExceptionInfo *exception_info;
-+ Quantum *pixel_packet;
- uint8_t *dst_ptr = dst;
-
- int row, col;
-@@ -246,16 +247,17 @@
- }
- g_off = 1;
-
-- pixel_packet = GetImagePixels(src, 0, 0, width, height);
-+ exception_info = AcquireExceptionInfo();
-+ pixel_packet = GetAuthenticPixels(src, 0, 0, width, height,
exception_info);
-
- for (row = 0; row < height; row++) {
- for (col = 0; col < width; col++) {
-- *(dst_ptr + r_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->red);
-- *(dst_ptr + g_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->green);
-- *(dst_ptr + b_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->blue);
-+ *(dst_ptr + r_off) = (uint8_t)ScaleQuantumToChar(GetPixelRed(src,
pixel_packet));
-+ *(dst_ptr + g_off) =
(uint8_t)ScaleQuantumToChar(GetPixelGreen(src, pixel_packet));
-+ *(dst_ptr + b_off) =
(uint8_t)ScaleQuantumToChar(GetPixelBlue(src, pixel_packet));
-
- dst_ptr += 3;
-- pixel_packet++;
-+ pixel_packet += GetPixelChannels(src);
- }
- }
-
-@@ -310,7 +312,7 @@
- Image *timg;
- Image *nimg;
- ImageInfo *image_info;
-- ExceptionInfo exception_info;
-+ ExceptionInfo *exception_info;
-
- int rgb_off = 0;
-
-@@ -376,19 +378,19 @@
- * semaphore.
- */
- magick_usecount++;
-- if (!IsMagickInstantiated()) {
-- InitializeMagick("");
-+ if (!IsMagickCoreInstantiated()) {
-+ MagickCoreGenesis("", MagickFalse);
- }
-
-- GetExceptionInfo(&exception_info);
-+ exception_info = AcquireExceptionInfo();
- image_info = CloneImageInfo((ImageInfo *) NULL);
- strlcpy(image_info->filename, mfd->file, MaxTextExtent);
-
-- mfd->image = ReadImage(image_info, &exception_info);
-+ mfd->image = ReadImage(image_info, exception_info);
- if (mfd->image == (Image *) NULL) {
-- MagickWarning(exception_info.severity,
-- exception_info.reason,
-- exception_info.description);
-+ MagickWarning(exception_info->severity,
-+ exception_info->reason,
-+ exception_info->description);
- strlcpy(mfd->file, "/dev/null", PATH_MAX);
- return 0;
- }
-@@ -413,11 +415,11 @@
-
- while (mfd->images != (Image *)NULL) {
- if (mfd->flip || flip) {
-- timg = FlipImage(mfd->images, &exception_info);
-+ timg = FlipImage(mfd->images, exception_info);
- if (timg == (Image *) NULL) {
-- MagickError(exception_info.severity,
-- exception_info.reason,
-- exception_info.description);
-+ MagickError(exception_info->severity,
-+ exception_info->reason,
-+ exception_info->description);
- return -1;
- }
- AppendImageToList(&nimg, timg);
-@@ -573,7 +575,7 @@
- /* Set up image/video coefficient lookup tables */
- if (img_coeff_lookup[0] < 0) {
- int i;
-- float maxrgbval = (float)MaxRGB; // from ImageMagick
-+ float maxrgbval = (float)QuantumRange; // from ImageMagick
-
- for (i = 0; i <= MAX_UINT8_VAL; i++) {
- float x = (float)ScaleCharToQuantum(i);
-@@ -615,8 +617,8 @@
- }
-
- magick_usecount--;
-- if (magick_usecount == 0 && IsMagickInstantiated()) {
-- DestroyMagick();
-+ if (magick_usecount == 0 && IsMagickCoreInstantiated()) {
-+ MagickCoreTerminus();
- }
-
- return 0;
-@@ -638,7 +640,8 @@
- && (ptr->tag & TC_VIDEO)
- && !(ptr->attributes & TC_FRAME_IS_SKIPPED)
- ) {
-- PixelPacket *pixel_packet;
-+ ExceptionInfo *exception_info;
-+ Quantum *pixel_packet;
- uint8_t *video_buf;
-
- int do_fade = 0;
-@@ -647,6 +650,7 @@
-
- /* Note: ImageMagick defines opacity = 0 as fully visible, and
- * opacity = MaxRGB as fully transparent.
-+ * alpha rather than opacity (0 transparent; QuantumRange opaque).
- */
- Quantum opacity;
-
-@@ -682,9 +686,11 @@
- mfd->cur_delay = mfd->images->delay * vob->fps/100;
- }
-
-- pixel_packet = GetImagePixels(mfd->images, 0, 0,
-+ exception_info = AcquireExceptionInfo();
-+ pixel_packet = GetAuthenticPixels(mfd->images, 0, 0,
- mfd->images->columns,
-- mfd->images->rows);
-+ mfd->images->rows,
-+ exception_info);
-
- if (vob->im_v_codec == CODEC_RGB) {
- unsigned long r_off, g_off, b_off;
-@@ -702,30 +708,30 @@
- video_buf = ptr->video_buf + 3 * ((row + mfd->posy) *
vob->ex_v_width + mfd->posx);
-
- for (col = 0; col < mfd->image->columns; col++) {
-- opacity = pixel_packet->opacity;
-+ opacity = QuantumRange - GetPixelAlpha(mfd->images,
pixel_packet);
-
- if (do_fade)
-- opacity += (Quantum)((MaxRGB - opacity) * fade_coeff);
-+ opacity += (Quantum)((QuantumRange - opacity) *
fade_coeff);
-
- if (opacity == 0) {
-- *(video_buf + r_off) =
ScaleQuantumToChar(pixel_packet->red);
-- *(video_buf + g_off) =
ScaleQuantumToChar(pixel_packet->green);
-- *(video_buf + b_off) =
ScaleQuantumToChar(pixel_packet->blue);
-- } else if (opacity < MaxRGB) {
-+ *(video_buf + r_off) =
ScaleQuantumToChar(GetPixelRed(mfd->images, pixel_packet));
-+ *(video_buf + g_off) =
ScaleQuantumToChar(GetPixelGreen(mfd->images, pixel_packet));
-+ *(video_buf + b_off) =
ScaleQuantumToChar(GetPixelBlue(mfd->images, pixel_packet));
-+ } else if (opacity < QuantumRange) {
- unsigned char opacity_uchar =
ScaleQuantumToChar(opacity);
- img_coeff = img_coeff_lookup[opacity_uchar];
- vid_coeff = vid_coeff_lookup[opacity_uchar];
-
- *(video_buf + r_off) = (uint8_t)((*(video_buf +
r_off)) * vid_coeff)
-- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->red) * img_coeff);
-+ +
(uint8_t)(ScaleQuantumToChar(GetPixelRed(mfd->images, pixel_packet)) *
img_coeff);
- *(video_buf + g_off) = (uint8_t)((*(video_buf +
g_off)) * vid_coeff)
-- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->green) * img_coeff);
-+ +
(uint8_t)(ScaleQuantumToChar(GetPixelGreen(mfd->images, pixel_packet)) *
img_coeff);
- *(video_buf + b_off) = (uint8_t)((*(video_buf +
b_off)) * vid_coeff)
-- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->blue) * img_coeff);
-+ +
(uint8_t)(ScaleQuantumToChar(GetPixelBlue(mfd->images, pixel_packet)) *
img_coeff);
- }
-
- video_buf += 3;
-- pixel_packet++;
-+ pixel_packet += GetPixelChannels(mfd->images);
- }
- }
- } else { /* !RGB */
-@@ -745,10 +751,10 @@
- vid_pixel_V = vid_pixel_U + vid_size/4;
- for (col = 0; col < mfd->images->columns; col++) {
- int do_UV_pixels = (mfd->grayout == 0 && !(row % 2) &&
!(col % 2)) ? 1 : 0;
-- opacity = pixel_packet->opacity;
-+ opacity = QuantumRange - GetPixelAlpha(mfd->images,
pixel_packet);
-
- if (do_fade)
-- opacity += (Quantum)((MaxRGB - opacity) * fade_coeff);
-+ opacity += (Quantum)((QuantumRange - opacity) *
fade_coeff);
-
- if (opacity == 0) {
- *vid_pixel_Y = *img_pixel_Y;
-@@ -756,7 +762,7 @@
- *vid_pixel_U = *img_pixel_U;
- *vid_pixel_V = *img_pixel_V;
- }
-- } else if (opacity < MaxRGB) {
-+ } else if (opacity < QuantumRange) {
- unsigned char opacity_uchar =
ScaleQuantumToChar(opacity);
- img_coeff = img_coeff_lookup[opacity_uchar];
- vid_coeff = vid_coeff_lookup[opacity_uchar];
---- transcode-1.1.7/import/import_im.c
-+++ transcode-1.1.7/import/import_im.c
-@@ -34,9 +34,9 @@
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
- #ifdef HAVE_BROKEN_WAND
--#include <wand/magick-wand.h>
-+#include <MagickWand/MagickWand.h>
- #else /* we have a SANE wand header */
--#include <wand/MagickWand.h>
-+#include <MagickWand/MagickWand.h>
- #endif /* HAVE_BROKEN_WAND */
-
- #undef PACKAGE_BUGREPORT
---- transcode-1.1.7/import/import_imlist.c
-+++ transcode-1.1.7/import/import_imlist.c
-@@ -34,9 +34,9 @@
- /* Note: because of ImageMagick bogosity, this must be included first, so
- * we can undefine the PACKAGE_* symbols it splats into our namespace */
- #ifdef HAVE_BROKEN_WAND
--#include <wand/magick-wand.h>
-+#include <MagickWand/MagickWand.h>
- #else /* we have a SANE wand header */
--#include <wand/MagickWand.h>
-+#include <MagickWand/MagickWand.h>
- #endif /* HAVE_BROKEN_WAND */
-
- #undef PACKAGE_BUGREPORT
---- transcode-1.1.7/import/probe_im.c
-+++ transcode-1.1.7/import/probe_im.c
-@@ -40,9 +40,9 @@
- # undef PACKAGE_VERSION
-
- # ifdef HAVE_BROKEN_WAND
--# include <wand/magick-wand.h>
-+# include <MagickWand/MagickWand.h>
- # else /* we have a SANE wand header */
--# include <wand/MagickWand.h>
-+# include <MagickWand/MagickWand.h>
- # endif /* HAVE_BROKEN_WAND */
-
- # undef PACKAGE_BUGREPORT
Copied: transcode/repos/community-x86_64/transcode-imagemagick7.patch (from rev
1423615, transcode/trunk/transcode-imagemagick7.patch)
===================================================================
--- transcode-imagemagick7.patch (rev 0)
+++ transcode-imagemagick7.patch 2023-03-18 22:44:39 UTC (rev 1423616)
@@ -0,0 +1,794 @@
+http://git.pld-linux.org/?p=packages/transcode.git;a=blob_plain;f=imagemagick7.patch;h=8411f89b843764eff8f4aaddb314d7773d1bcec8;hb=HEAD
+
+--- transcode-1.1.7/configure.in
++++ transcode-1.1.7/configure.in
+@@ -1105,8 +1105,8 @@
+ dnl ImageMagick
+ dnl
+ IMAGEMAGICK_EXTRA_LIBS="$IMAGEMAGICK_EXTRA_LIBS $($PKG_CONFIG --libs
ImageMagick)"
+-TC_PKG_CHECK(imagemagick, no, IMAGEMAGICK, no, [magick/api.h],
+- none, InitializeMagick, Wand, [http://www.imagemagick.org/])
++TC_PKG_CHECK(imagemagick, no, IMAGEMAGICK, no, [MagickWand/MagickWand.h],
++ none, InitializeMagick, MagickWand, [http://www.imagemagick.org/])
+ TC_PKG_HAVE(imagemagick, IMAGEMAGICK)
+ if test x"$have_imagemagick" = x"yes" ; then
+ SAVE_CPPFLAGS="$CPPFLAGS"
+@@ -1114,6 +1114,7 @@
+ AC_CHECK_HEADER([wand/magick-wand.h],
+ [AC_DEFINE([HAVE_BROKEN_WAND], [1], ["have old wand header"])])
+ CPPFLAGS="$SAVE_CPPFLAGS"
++ IMAGEMAGICK_CFLAGS="$IMAGEMAGICK_CFLAGS $($PKG_CONFIG --cflags ImageMagick)"
+ fi
+
+ dnl
+--- transcode-1.1.7/export/export_im.c
++++ transcode-1.1.7/export/export_im.c
+@@ -23,7 +23,7 @@
+
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+-#include <magick/api.h>
++#include <MagickCore/MagickCore.h>
+ #undef PACKAGE_BUGREPORT
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+@@ -82,7 +82,7 @@
+
+ codec = (vob->im_v_codec == CODEC_YUV) ? CODEC_YUV : CODEC_RGB;
+
+- InitializeMagick("");
++ MagickCoreGenesis("", MagickFalse);
+
+ image_info=CloneImageInfo((ImageInfo *) NULL);
+
+@@ -169,8 +169,8 @@
+ MOD_encode
+ {
+
+- ExceptionInfo exception_info;
+- char *out_buffer = param->buffer;
++ ExceptionInfo *exception_info;
++ unsigned char *out_buffer = param->buffer;
+ Image *image=NULL;
+ int res;
+
+@@ -179,7 +179,7 @@
+
+ if(param->flag == TC_VIDEO) {
+
+- GetExceptionInfo(&exception_info);
++ exception_info = AcquireExceptionInfo();
+
+ res = tc_snprintf(buf2, PATH_MAX, "%s%06d.%s", prefix, counter++, type);
+ if (res < 0) {
+@@ -193,11 +193,11 @@
+ out_buffer = tmp_buffer;
+ }
+
+- image=ConstituteImage (width, height, "RGB", CharPixel, out_buffer,
&exception_info);
++ image=ConstituteImage (width, height, "RGB", CharPixel, out_buffer,
exception_info);
+
+ strlcpy(image->filename, buf2, MaxTextExtent);
+
+- WriteImage(image_info, image);
++ WriteImage(image_info, image, exception_info);
+ DestroyImage(image);
+
+ return(0);
+@@ -220,8 +220,7 @@
+
+ if(param->flag == TC_VIDEO) {
+ DestroyImageInfo(image_info);
+- ConstituteComponentTerminus();
+- DestroyMagick();
++ MagickCoreTerminus();
+
+ free(tmp_buffer);
+ tmp_buffer = NULL;
+--- transcode-1.1.7/filter/filter_compare.c
++++ transcode-1.1.7/filter/filter_compare.c
+@@ -24,7 +24,7 @@
+
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+-#include <magick/api.h>
++#include <MagickCore/MagickCore.h>
+ #undef PACKAGE_BUGREPORT
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+@@ -111,9 +111,9 @@
+ Image *pattern, *resized, *orig = 0;
+ ImageInfo *image_info;
+
+- PixelPacket *pixel_packet;
++ Quantum *pixel_quantum;
+ pixelsMask *pixel_last;
+- ExceptionInfo exception_info;
++ ExceptionInfo *exception_info;
+
+ if(ptr->tag & TC_FILTER_GET_CONFIG) {
+ char buf[128];
+@@ -139,7 +139,7 @@
+ if(ptr->tag & TC_FILTER_INIT)
+ {
+
+- unsigned int t,r,index;
++ unsigned int t,r;
+ pixelsMask *temp;
+
+ compare[instance] = tc_malloc(sizeof(compareData));
+@@ -190,22 +190,22 @@
+ tc_log_perror(MOD_NAME, "could not open file
for writing");
+ }
+
+- InitializeMagick("");
++ MagickCoreGenesis("", MagickFalse);
+ if (verbose > 1)
+ tc_log_info(MOD_NAME, "Magick Initialized successfully");
+
+- GetExceptionInfo(&exception_info);
++ exception_info = AcquireExceptionInfo();
+ image_info = CloneImageInfo ((ImageInfo *) NULL);
+ strlcpy(image_info->filename, pattern_name,
MaxTextExtent);
+ if (verbose > 1)
+ tc_log_info(MOD_NAME, "Trying to open image");
+ orig = ReadImage(image_info,
+- &exception_info);
++ exception_info);
+
+ if (orig == (Image *) NULL) {
+- MagickWarning(exception_info.severity,
+- exception_info.reason,
+- exception_info.description);
++ MagickWarning(exception_info->severity,
++ exception_info->reason,
++ exception_info->description);
+ strlcpy(pattern_name, "/dev/null",
sizeof(pattern_name));
+ }else{
+ if (verbose > 1)
+@@ -228,42 +228,41 @@
+ if (orig != NULL){
+ // Flip and resize
+ if (compare[instance]->vob->im_v_codec == CODEC_YUV)
+- TransformRGBImage(orig,YCbCrColorspace);
++ TransformImageColorspace(orig, YCbCrColorspace,
exception_info);
+ if (verbose > 1) tc_log_info(MOD_NAME, "Resizing the
Image");
+ resized = ResizeImage(orig,
+ compare[instance]->width,
+ compare[instance]->height,
+ GaussianFilter,
+- 1,
+- &exception_info);
++ exception_info);
+ if (verbose > 1)
+ tc_log_info(MOD_NAME, "Flipping the Image");
+- pattern = FlipImage(resized, &exception_info);
++ pattern = FlipImage(resized, exception_info);
+ if (pattern == (Image *) NULL) {
+- MagickError (exception_info.severity,
+- exception_info.reason,
+- exception_info.description);
++ MagickError (exception_info->severity,
++ exception_info->reason,
++ exception_info->description);
+ }
+
+ // Filling the matrix with the pixels values not
+ // alpha
+
+ if (verbose > 1) tc_log_info(MOD_NAME,
"GetImagePixels");
+- pixel_packet = GetImagePixels(pattern,0,0,
++ pixel_quantum = GetAuthenticPixels(pattern,0,0,
+ pattern->columns,
+- pattern->rows);
++ pattern->rows,
++ exception_info);
+
+ if (verbose > 1) tc_log_info(MOD_NAME, "Filling the
Image matrix");
+ for (t = 0; t < pattern->rows; t++)
+ for (r = 0; r < pattern->columns; r++){
+- index = t*pattern->columns + r;
+- if (pixel_packet[index].opacity == 0){
++ if (GetPixelAlpha(pattern,
pixel_quantum) == QuantumRange) {
+ temp=tc_malloc(sizeof(struct
pixelsMask));
+ temp->row=t;
+ temp->col=r;
+- temp->r =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].red);
+- temp->g =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].green);
+- temp->b =
(uint8_t)ScaleQuantumToChar(pixel_packet[index].blue);
++ temp->r =
(uint8_t)ScaleQuantumToChar(GetPixelRed(pattern, pixel_quantum));
++ temp->g =
(uint8_t)ScaleQuantumToChar(GetPixelGreen(pattern, pixel_quantum));
++ temp->b =
(uint8_t)ScaleQuantumToChar(GetPixelBlue(pattern, pixel_quantum));
+ temp->next=NULL;
+
+ if (pixel_last == NULL){
+@@ -274,6 +273,7 @@
+ pixel_last = temp;
+ }
+ }
++ pixel_quantum +=
GetPixelChannels(pattern);
+ }
+
+ if (verbose)
+@@ -297,7 +297,7 @@
+ fclose(compare[instance]->results);
+ free(compare[instance]);
+ }
+- DestroyMagick();
++ MagickCoreTerminus();
+ compare[instance]=NULL;
+
+ return(0);
+--- transcode-1.1.7/filter/filter_logoaway.c
++++ transcode-1.1.7/filter/filter_logoaway.c
+@@ -70,7 +70,7 @@
+
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+-#include <magick/api.h>
++#include <MagickCore/MagickCore.h>
+ #undef PACKAGE_BUGREPORT
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+@@ -103,10 +103,10 @@
+
+ int alpha;
+
+- ExceptionInfo exception_info;
++ ExceptionInfo *exception_info;
+ Image *image;
+ ImageInfo *image_info;
+- PixelPacket *pixel_packet;
++ Quantum *pixel_packet;
+
+ int dump;
+ char *dump_buf;
+@@ -174,7 +174,7 @@
+ * instance filter instance
+ * @return void nothing
+ *********************************************************/
+-static void work_with_rgb_frame(logoaway_data *LD, char *buffer, int width,
int height)
++static void work_with_rgb_frame(logoaway_data *LD, unsigned char *buffer, int
width, int height)
+ {
+ int row, col, i;
+ int xdistance, ydistance, distance_west, distance_north;
+@@ -201,10 +201,10 @@
+ }
+ }
+
+- LD->dumpimage = ConstituteImage(LD->width-LD->xpos, LD->height-LD->ypos,
"RGB", CharPixel, LD->dump_buf, &LD->exception_info);
++ LD->dumpimage = ConstituteImage(LD->width-LD->xpos, LD->height-LD->ypos,
"RGB", CharPixel, LD->dump_buf, LD->exception_info);
+ tc_snprintf(LD->dumpimage->filename, MaxTextExtent, "dump[%d].png",
LD->id);
+
+- WriteImage(LD->dumpimage_info, LD->dumpimage);
++ WriteImage(LD->dumpimage_info, LD->dumpimage, LD->exception_info);
+ }
+
+ switch(LD->mode) {
+@@ -218,27 +218,28 @@
+ for(row=LD->ypos; row<LD->height; ++row) {
+ for(col=LD->xpos; col<LD->width; ++col) {
+
++ Quantum *pixel = LD->pixel_packet +
(row*LD->width+col)*GetPixelChannels(LD->image);
+ buf_off = ((height-row)*width+col) * 3;
+ pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
+ /* R */
+ if (!LD->alpha) {
+ buffer[buf_off +0] = LD->rcolor;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ buffer[buf_off +0] = alpha_blending(buffer[buf_off +0],
LD->rcolor, alpha_px);
+ }
+ /* G */
+ if (!LD->alpha) {
+ buffer[buf_off +1] = LD->gcolor;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].green);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelGreen(LD->image,
pixel));
+ buffer[buf_off +1] = alpha_blending(buffer[buf_off +1],
LD->gcolor, alpha_px);
+ }
+ /* B */
+ if (!LD->alpha) {
+ buffer[buf_off +2] = LD->bcolor;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].blue);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelBlue(LD->image,
pixel));
+ buffer[buf_off +2] = alpha_blending(buffer[buf_off +2],
LD->bcolor, alpha_px);
+ }
+ }
+@@ -268,6 +269,7 @@
+ buf_off = ((height-row)*width+col) * 3;
+
+ pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
++ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
+
+ /* R */
+ hcalc = alpha_blending(buffer[buf_off_xpos +0],
buffer[buf_off_width +0], alpha_hori);
+@@ -276,7 +278,7 @@
+ if (!LD->alpha) {
+ buffer[buf_off +0] = new_px;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ buffer[buf_off +0] = alpha_blending(buffer[buf_off +0], new_px,
alpha_px);
+ }
+ /* G */
+@@ -286,7 +288,7 @@
+ if (!LD->alpha) {
+ buffer[buf_off +1] = new_px;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].green);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelGreen(LD->image,
pixel));
+ buffer[buf_off +1] = alpha_blending(buffer[buf_off +1], new_px,
alpha_px);
+ }
+ /* B */
+@@ -296,7 +298,7 @@
+ if (!LD->alpha) {
+ buffer[buf_off +2] = new_px;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelBlue(LD->image,
pixel));
+ buffer[buf_off +2] = alpha_blending(buffer[buf_off +2], new_px,
alpha_px);
+ }
+ }
+@@ -327,28 +329,28 @@
+ buf_off_height = ((height-LD->height)*width+col) * 3;
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col-i>LD->xpos))
+ i++;
+ buf_off_xpos = ((height-row)*width + col-i) * 3;
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col+i<LD->width))
+ i++;
+ buf_off_width = ((height-row)*width + col+i) * 3;
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row-i>LD->ypos))
+ i++;
+ buf_off_ypos = (height*width*3)-((row-i)*width - col) * 3;
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row+i<LD->height))
+ i++;
+ buf_off_height = (height*width*3)-((row+i)*width - col) * 3;
+
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
+ /* R */
+ hcalc = alpha_blending(buffer[buf_off_xpos +0],
buffer[buf_off_width +0], alpha_hori);
+ vcalc = alpha_blending(buffer[buf_off_ypos +0],
buffer[buf_off_height +0], alpha_vert);
+@@ -405,7 +407,7 @@
+ * instance filter instance
+ * @return void nothing
+ *********************************************************/
+-static void work_with_yuv_frame(logoaway_data *LD, char *buffer, int width,
int height)
++static void work_with_yuv_frame(logoaway_data *LD, unsigned char *buffer, int
width, int height)
+ {
+ int row, col, i;
+ int craddr, cbaddr;
+@@ -431,10 +433,11 @@
+
+ buf_off = row*width+col;
+ pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
++ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
+ if (!LD->alpha) {
+ buffer[buf_off] = LD->ycolor;
+ } else {
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ buffer[buf_off] = alpha_blending(buffer[buf_off], LD->ycolor,
alpha_px);
+ }
+ }
+@@ -446,8 +449,9 @@
+
+ buf_off = row*width/2+col;
+ pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
++ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
+ /* sic */
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ if (!LD->alpha) {
+ buffer[craddr + buf_off] = LD->ucolor;
+ buffer[cbaddr + buf_off] = LD->vcolor;
+@@ -483,10 +487,11 @@
+ buf_off_height = LD->height*width+col;
+
+ pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
++ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
+
+ hcalc = alpha_blending(buffer[buf_off_xpos], buffer[buf_off_width],
alpha_hori);
+ vcalc = alpha_blending(buffer[buf_off_ypos],
buffer[buf_off_height], alpha_vert);
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ new_px = (hcalc*LD->xweight + vcalc*LD->yweight)/100;
+ if (!LD->alpha) {
+ buffer[buf_off] = new_px;
+@@ -517,7 +522,8 @@
+ buf_off_height = LD->height/2*width/2+col;
+
+ pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ Quantum *pixel = LD->pixel_packet +
pkt_off*GetPixelChannels(LD->image);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
pixel));
+ /* sic, reuse red alpha_px */
+
+ hcalc = alpha_blending(buffer[craddr + buf_off_xpos],
buffer[craddr + buf_off_width], alpha_hori);
+@@ -560,30 +566,30 @@
+ pkt_off = (row-LD->ypos) * (LD->width-LD->xpos) + (col-LD->xpos);
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col-i>LD->xpos))
+ i++;
+ buf_off_xpos = (row*width + col-i);
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col+i<LD->width))
+ i++;
+ buf_off_width = (row*width + col+i);
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row-i>LD->ypos))
+ i++;
+ buf_off_ypos = ((row-i)*width + col);
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row+i<LD->height))
+ i++;
+ buf_off_height = ((row+i)*width + col);
+
+ hcalc = alpha_blending( buffer[buf_off_xpos],
buffer[buf_off_width], alpha_hori );
+ vcalc = alpha_blending( buffer[buf_off_ypos],
buffer[buf_off_height], alpha_vert );
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
+ new_px = (hcalc*LD->xweight + vcalc*LD->yweight)/100;
+ buffer[buf_off] = alpha_blending(buffer[buf_off], new_px, alpha_px);
+ }
+@@ -603,23 +609,23 @@
+ alpha_hori = xdistance * distance_west;
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off-i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col-i>LD->xpos))
+ i++;
+ buf_off_xpos = (row*width/2 + col-i);
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + (pkt_off+i)*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (col+i<LD->width))
+ i++;
+ buf_off_width = (row*width/2 + col+i);
+
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off-i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off-i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row-i>LD->ypos))
+ i++;
+ buf_off_ypos = ((row-i)*width/2 + col);
+ i = 0;
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off+i*(LD->width-LD->xpos)].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet +
(pkt_off+i*(LD->width-LD->xpos))*GetPixelChannels(LD->image)));
+ while ((alpha_px != 255) && (row+i<LD->height))
+ i++;
+ buf_off_height = ((row+i)*width/2 + col);
+@@ -630,7 +636,7 @@
+
+ pkt_off = (row*2-LD->ypos) * (LD->width-LD->xpos) +
(col*2-LD->xpos);
+
+- alpha_px =
(uint8_t)ScaleQuantumToChar(LD->pixel_packet[pkt_off].red);
++ alpha_px = (uint8_t)ScaleQuantumToChar(GetPixelRed(LD->image,
LD->pixel_packet + pkt_off*GetPixelChannels(LD->image)));
+ /* sic: reuse the red component */
+ hcalc = alpha_blending(buffer[craddr + buf_off_xpos],
buffer[craddr + buf_off_width], alpha_hori);
+ vcalc = alpha_blending(buffer[craddr + buf_off_ypos],
buffer[craddr + buf_off_height], alpha_vert);
+@@ -815,17 +821,17 @@
+ }
+
+ if((data[instance]->alpha) || (data[instance]->dump)) {
+- InitializeMagick("");
+- GetExceptionInfo(&data[instance]->exception_info);
++ MagickCoreGenesis("", MagickFalse);
++ data[instance]->exception_info = AcquireExceptionInfo();
+
+ if(data[instance]->alpha) {
+ data[instance]->image_info = CloneImageInfo((ImageInfo *) NULL);
+
+ strlcpy(data[instance]->image_info->filename, data[instance]->file,
MaxTextExtent);
+- data[instance]->image = ReadImage(data[instance]->image_info,
&data[instance]->exception_info);
++ data[instance]->image = ReadImage(data[instance]->image_info,
data[instance]->exception_info);
+ if (data[instance]->image == (Image *) NULL) {
+ tc_log_error(MOD_NAME, "\n");
+- MagickWarning (data[instance]->exception_info.severity,
data[instance]->exception_info.reason,
data[instance]->exception_info.description);
++ MagickWarning (data[instance]->exception_info->severity,
data[instance]->exception_info->reason,
data[instance]->exception_info->description);
+ return TC_ERROR;
+ }
+
+@@ -835,7 +841,7 @@
+ return TC_ERROR;
+ }
+
+- data[instance]->pixel_packet = GetImagePixels(data[instance]->image,
0, 0, data[instance]->image->columns, data[instance]->image->rows);
++ data[instance]->pixel_packet =
GetAuthenticPixels(data[instance]->image, 0, 0, data[instance]->image->columns,
data[instance]->image->rows, data[instance]->exception_info);
+ }
+ if(data[instance]->dump) {
+ if((data[instance]->dump_buf = tc_malloc
((data[instance]->width-data[instance]->xpos)*(data[instance]->height-data[instance]->ypos)*3))
== NULL)
+@@ -865,10 +871,9 @@
+ if (data[instance]->dumpimage != (Image *)NULL) {
+ DestroyImage(data[instance]->dumpimage);
+ DestroyImageInfo(data[instance]->dumpimage_info);
+- ConstituteComponentTerminus();
+ }
+- DestroyExceptionInfo(&data[instance]->exception_info);
+- DestroyMagick();
++ DestroyExceptionInfo(data[instance]->exception_info);
++ MagickCoreTerminus();
+
+ if(data[instance]->dump_buf) free(data[instance]->dump_buf);
+ if(data[instance]) free(data[instance]);
+--- transcode-1.1.7/filter/filter_logo.c
++++ transcode-1.1.7/filter/filter_logo.c
+@@ -36,7 +36,7 @@
+
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+-#include <magick/api.h>
++#include <MagickCore/MagickCore.h>
+ #undef PACKAGE_BUGREPORT
+ #undef PACKAGE_NAME
+ #undef PACKAGE_STRING
+@@ -227,7 +227,8 @@
+ ImageFormat ifmt,
+ int do_rgbswap)
+ {
+- PixelPacket *pixel_packet;
++ ExceptionInfo *exception_info;
++ Quantum *pixel_packet;
+ uint8_t *dst_ptr = dst;
+
+ int row, col;
+@@ -246,16 +247,17 @@
+ }
+ g_off = 1;
+
+- pixel_packet = GetImagePixels(src, 0, 0, width, height);
++ exception_info = AcquireExceptionInfo();
++ pixel_packet = GetAuthenticPixels(src, 0, 0, width, height,
exception_info);
+
+ for (row = 0; row < height; row++) {
+ for (col = 0; col < width; col++) {
+- *(dst_ptr + r_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->red);
+- *(dst_ptr + g_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->green);
+- *(dst_ptr + b_off) =
(uint8_t)ScaleQuantumToChar(pixel_packet->blue);
++ *(dst_ptr + r_off) = (uint8_t)ScaleQuantumToChar(GetPixelRed(src,
pixel_packet));
++ *(dst_ptr + g_off) =
(uint8_t)ScaleQuantumToChar(GetPixelGreen(src, pixel_packet));
++ *(dst_ptr + b_off) =
(uint8_t)ScaleQuantumToChar(GetPixelBlue(src, pixel_packet));
+
+ dst_ptr += 3;
+- pixel_packet++;
++ pixel_packet += GetPixelChannels(src);
+ }
+ }
+
+@@ -310,7 +312,7 @@
+ Image *timg;
+ Image *nimg;
+ ImageInfo *image_info;
+- ExceptionInfo exception_info;
++ ExceptionInfo *exception_info;
+
+ int rgb_off = 0;
+
+@@ -376,19 +378,19 @@
+ * semaphore.
+ */
+ magick_usecount++;
+- if (!IsMagickInstantiated()) {
+- InitializeMagick("");
++ if (!IsMagickCoreInstantiated()) {
++ MagickCoreGenesis("", MagickFalse);
+ }
+
+- GetExceptionInfo(&exception_info);
++ exception_info = AcquireExceptionInfo();
+ image_info = CloneImageInfo((ImageInfo *) NULL);
+ strlcpy(image_info->filename, mfd->file, MaxTextExtent);
+
+- mfd->image = ReadImage(image_info, &exception_info);
++ mfd->image = ReadImage(image_info, exception_info);
+ if (mfd->image == (Image *) NULL) {
+- MagickWarning(exception_info.severity,
+- exception_info.reason,
+- exception_info.description);
++ MagickWarning(exception_info->severity,
++ exception_info->reason,
++ exception_info->description);
+ strlcpy(mfd->file, "/dev/null", PATH_MAX);
+ return 0;
+ }
+@@ -413,11 +415,11 @@
+
+ while (mfd->images != (Image *)NULL) {
+ if (mfd->flip || flip) {
+- timg = FlipImage(mfd->images, &exception_info);
++ timg = FlipImage(mfd->images, exception_info);
+ if (timg == (Image *) NULL) {
+- MagickError(exception_info.severity,
+- exception_info.reason,
+- exception_info.description);
++ MagickError(exception_info->severity,
++ exception_info->reason,
++ exception_info->description);
+ return -1;
+ }
+ AppendImageToList(&nimg, timg);
+@@ -573,7 +575,7 @@
+ /* Set up image/video coefficient lookup tables */
+ if (img_coeff_lookup[0] < 0) {
+ int i;
+- float maxrgbval = (float)MaxRGB; // from ImageMagick
++ float maxrgbval = (float)QuantumRange; // from ImageMagick
+
+ for (i = 0; i <= MAX_UINT8_VAL; i++) {
+ float x = (float)ScaleCharToQuantum(i);
+@@ -615,8 +617,8 @@
+ }
+
+ magick_usecount--;
+- if (magick_usecount == 0 && IsMagickInstantiated()) {
+- DestroyMagick();
++ if (magick_usecount == 0 && IsMagickCoreInstantiated()) {
++ MagickCoreTerminus();
+ }
+
+ return 0;
+@@ -638,7 +640,8 @@
+ && (ptr->tag & TC_VIDEO)
+ && !(ptr->attributes & TC_FRAME_IS_SKIPPED)
+ ) {
+- PixelPacket *pixel_packet;
++ ExceptionInfo *exception_info;
++ Quantum *pixel_packet;
+ uint8_t *video_buf;
+
+ int do_fade = 0;
+@@ -647,6 +650,7 @@
+
+ /* Note: ImageMagick defines opacity = 0 as fully visible, and
+ * opacity = MaxRGB as fully transparent.
++ * alpha rather than opacity (0 transparent; QuantumRange opaque).
+ */
+ Quantum opacity;
+
+@@ -682,9 +686,11 @@
+ mfd->cur_delay = mfd->images->delay * vob->fps/100;
+ }
+
+- pixel_packet = GetImagePixels(mfd->images, 0, 0,
++ exception_info = AcquireExceptionInfo();
++ pixel_packet = GetAuthenticPixels(mfd->images, 0, 0,
+ mfd->images->columns,
+- mfd->images->rows);
++ mfd->images->rows,
++ exception_info);
+
+ if (vob->im_v_codec == CODEC_RGB) {
+ unsigned long r_off, g_off, b_off;
+@@ -702,30 +708,30 @@
+ video_buf = ptr->video_buf + 3 * ((row + mfd->posy) *
vob->ex_v_width + mfd->posx);
+
+ for (col = 0; col < mfd->image->columns; col++) {
+- opacity = pixel_packet->opacity;
++ opacity = QuantumRange - GetPixelAlpha(mfd->images,
pixel_packet);
+
+ if (do_fade)
+- opacity += (Quantum)((MaxRGB - opacity) * fade_coeff);
++ opacity += (Quantum)((QuantumRange - opacity) *
fade_coeff);
+
+ if (opacity == 0) {
+- *(video_buf + r_off) =
ScaleQuantumToChar(pixel_packet->red);
+- *(video_buf + g_off) =
ScaleQuantumToChar(pixel_packet->green);
+- *(video_buf + b_off) =
ScaleQuantumToChar(pixel_packet->blue);
+- } else if (opacity < MaxRGB) {
++ *(video_buf + r_off) =
ScaleQuantumToChar(GetPixelRed(mfd->images, pixel_packet));
++ *(video_buf + g_off) =
ScaleQuantumToChar(GetPixelGreen(mfd->images, pixel_packet));
++ *(video_buf + b_off) =
ScaleQuantumToChar(GetPixelBlue(mfd->images, pixel_packet));
++ } else if (opacity < QuantumRange) {
+ unsigned char opacity_uchar =
ScaleQuantumToChar(opacity);
+ img_coeff = img_coeff_lookup[opacity_uchar];
+ vid_coeff = vid_coeff_lookup[opacity_uchar];
+
+ *(video_buf + r_off) = (uint8_t)((*(video_buf +
r_off)) * vid_coeff)
+- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->red) * img_coeff);
++ +
(uint8_t)(ScaleQuantumToChar(GetPixelRed(mfd->images, pixel_packet)) *
img_coeff);
+ *(video_buf + g_off) = (uint8_t)((*(video_buf +
g_off)) * vid_coeff)
+- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->green) * img_coeff);
++ +
(uint8_t)(ScaleQuantumToChar(GetPixelGreen(mfd->images, pixel_packet)) *
img_coeff);
+ *(video_buf + b_off) = (uint8_t)((*(video_buf +
b_off)) * vid_coeff)
+- +
(uint8_t)(ScaleQuantumToChar(pixel_packet->blue) * img_coeff);
++ +
(uint8_t)(ScaleQuantumToChar(GetPixelBlue(mfd->images, pixel_packet)) *
img_coeff);
+ }
+
+ video_buf += 3;
+- pixel_packet++;
++ pixel_packet += GetPixelChannels(mfd->images);
+ }
+ }
+ } else { /* !RGB */
+@@ -745,10 +751,10 @@
+ vid_pixel_V = vid_pixel_U + vid_size/4;
+ for (col = 0; col < mfd->images->columns; col++) {
+ int do_UV_pixels = (mfd->grayout == 0 && !(row % 2) &&
!(col % 2)) ? 1 : 0;
+- opacity = pixel_packet->opacity;
++ opacity = QuantumRange - GetPixelAlpha(mfd->images,
pixel_packet);
+
+ if (do_fade)
+- opacity += (Quantum)((MaxRGB - opacity) * fade_coeff);
++ opacity += (Quantum)((QuantumRange - opacity) *
fade_coeff);
+
+ if (opacity == 0) {
+ *vid_pixel_Y = *img_pixel_Y;
+@@ -756,7 +762,7 @@
+ *vid_pixel_U = *img_pixel_U;
+ *vid_pixel_V = *img_pixel_V;
+ }
+- } else if (opacity < MaxRGB) {
++ } else if (opacity < QuantumRange) {
+ unsigned char opacity_uchar =
ScaleQuantumToChar(opacity);
+ img_coeff = img_coeff_lookup[opacity_uchar];
+ vid_coeff = vid_coeff_lookup[opacity_uchar];
+--- transcode-1.1.7/import/import_im.c
++++ transcode-1.1.7/import/import_im.c
+@@ -34,9 +34,9 @@
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+ #ifdef HAVE_BROKEN_WAND
+-#include <wand/magick-wand.h>
++#include <MagickWand/MagickWand.h>
+ #else /* we have a SANE wand header */
+-#include <wand/MagickWand.h>
++#include <MagickWand/MagickWand.h>
+ #endif /* HAVE_BROKEN_WAND */
+
+ #undef PACKAGE_BUGREPORT
+--- transcode-1.1.7/import/import_imlist.c
++++ transcode-1.1.7/import/import_imlist.c
+@@ -34,9 +34,9 @@
+ /* Note: because of ImageMagick bogosity, this must be included first, so
+ * we can undefine the PACKAGE_* symbols it splats into our namespace */
+ #ifdef HAVE_BROKEN_WAND
+-#include <wand/magick-wand.h>
++#include <MagickWand/MagickWand.h>
+ #else /* we have a SANE wand header */
+-#include <wand/MagickWand.h>
++#include <MagickWand/MagickWand.h>
+ #endif /* HAVE_BROKEN_WAND */
+
+ #undef PACKAGE_BUGREPORT
+--- transcode-1.1.7/import/probe_im.c
++++ transcode-1.1.7/import/probe_im.c
+@@ -40,9 +40,9 @@
+ # undef PACKAGE_VERSION
+
+ # ifdef HAVE_BROKEN_WAND
+-# include <wand/magick-wand.h>
++# include <MagickWand/MagickWand.h>
+ # else /* we have a SANE wand header */
+-# include <wand/MagickWand.h>
++# include <MagickWand/MagickWand.h>
+ # endif /* HAVE_BROKEN_WAND */
+
+ # undef PACKAGE_BUGREPORT