From 3e1989dba44ef48f7be13816a4eebb2f9b2d1f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Fri, 16 Oct 2026 21:14:24 +0200 Subject: [PATCH 1/8] test: add converter tests --- tests/integration/converters/ffmpeg.test.ts | 6 +++ tests/integration/converters/golden.ts | 32 +++++++++++++++ .../converters/graphicsmagick.test.ts | 6 +++ .../converters/imagemagick.test.ts | 6 +++ tests/integration/converters/inkscape.test.ts | 6 +++ .../integration/converters/inputs/sample.png | Bin 0 -> 405 bytes .../integration/converters/inputs/sample.svg | 1 + tests/integration/converters/libjxl.test.ts | 6 +++ .../converters/outputs/ffmpeg/sample.jpg | Bin 0 -> 517 bytes .../outputs/graphicsmagick/sample.jpg | Bin 0 -> 409 bytes .../converters/outputs/imagemagick/sample.jpg | Bin 0 -> 568 bytes .../converters/outputs/inkscape/sample.svg | 38 ++++++++++++++++++ .../converters/outputs/libjxl/sample.jxl | Bin 0 -> 329 bytes .../converters/outputs/vips/sample.jpg | Bin 0 -> 915 bytes .../converters/outputs/vtracer/sample.svg | 7 ++++ tests/integration/converters/vips.test.ts | 6 +++ tests/integration/converters/vtracer.test.ts | 6 +++ 17 files changed, 120 insertions(+) create mode 100644 tests/integration/converters/ffmpeg.test.ts create mode 100644 tests/integration/converters/golden.ts create mode 100644 tests/integration/converters/graphicsmagick.test.ts create mode 100644 tests/integration/converters/imagemagick.test.ts create mode 100644 tests/integration/converters/inkscape.test.ts create mode 100644 tests/integration/converters/inputs/sample.png create mode 100644 tests/integration/converters/inputs/sample.svg create mode 100644 tests/integration/converters/libjxl.test.ts create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.jpg create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.jpg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jpg create mode 100644 tests/integration/converters/outputs/inkscape/sample.svg create mode 100644 tests/integration/converters/outputs/libjxl/sample.jxl create mode 100644 tests/integration/converters/outputs/vips/sample.jpg create mode 100644 tests/integration/converters/outputs/vtracer/sample.svg create mode 100644 tests/integration/converters/vips.test.ts create mode 100644 tests/integration/converters/vtracer.test.ts diff --git a/tests/integration/converters/ffmpeg.test.ts b/tests/integration/converters/ffmpeg.test.ts new file mode 100644 index 00000000..4314bb10 --- /dev/null +++ b/tests/integration/converters/ffmpeg.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/ffmpeg"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("ffmpeg", convert, "jpg")); diff --git a/tests/integration/converters/golden.ts b/tests/integration/converters/golden.ts new file mode 100644 index 00000000..3c0c3b4d --- /dev/null +++ b/tests/integration/converters/golden.ts @@ -0,0 +1,32 @@ +import { expect } from "bun:test"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; + +type Converter = ( + filePath: string, + fileType: string, + convertTo: string, + targetPath: string, + options?: unknown, +) => Promise; + +export async function runGoldenConversion( + converterName: string, + convert: Converter, + outputExtension: string, +) { + const outputDirectory = await mkdtemp(path.join(tmpdir(), `convertx-${converterName}-`)); + const outputPath = path.join(outputDirectory, `sample.${outputExtension}`); + const inputPath = path.resolve("tests/integration/converters/inputs/sample.png"); + const expectedPath = path.resolve( + `tests/integration/converters/outputs/${converterName}/sample.${outputExtension}`, + ); + + try { + await convert(inputPath, "png", outputExtension, outputPath); + expect(await Bun.file(outputPath).bytes()).toEqual(await Bun.file(expectedPath).bytes()); + } finally { + await rm(outputDirectory, { recursive: true, force: true }); + } +} diff --git a/tests/integration/converters/graphicsmagick.test.ts b/tests/integration/converters/graphicsmagick.test.ts new file mode 100644 index 00000000..286ae46c --- /dev/null +++ b/tests/integration/converters/graphicsmagick.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/graphicsmagick"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("graphicsmagick", convert, "jpg")); diff --git a/tests/integration/converters/imagemagick.test.ts b/tests/integration/converters/imagemagick.test.ts new file mode 100644 index 00000000..1d25aed6 --- /dev/null +++ b/tests/integration/converters/imagemagick.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/imagemagick"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("imagemagick", convert, "jpg")); diff --git a/tests/integration/converters/inkscape.test.ts b/tests/integration/converters/inkscape.test.ts new file mode 100644 index 00000000..1ccd1597 --- /dev/null +++ b/tests/integration/converters/inkscape.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/inkscape"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected SVG bytes", () => + runGoldenConversion("inkscape", convert, "svg")); diff --git a/tests/integration/converters/inputs/sample.png b/tests/integration/converters/inputs/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef84dab3cb3e10ea586031d92f91765d163d1f0 GIT binary patch literal 405 zcmV;G0c!qMuW>V9|a;z=r44UpFQ%@E%Cg<*Lq55ts(MPLJR8sZot zyT353Eazc(dW{vo0W56)88qyFF7;+1%7^H3QfDL$hScPG7e;Y%7aSg+RhmUD&05&h&dVH2a+2S|D-IJ^gA73z& z9*CvAu?&IrUl}$ua{~=w!*2k{&)mRh{E8HfKmUAT;1m7F@aYW`!|(3|0ufhIMi$4L z4hGJElDdf-u3f!?Gdm-@OjApDLvM3lAV>@V&J*Dg!hjZ700000NkvXXu0mjfx`wR& literal 0 HcmV?d00001 diff --git a/tests/integration/converters/inputs/sample.svg b/tests/integration/converters/inputs/sample.svg new file mode 100644 index 00000000..ff0220a5 --- /dev/null +++ b/tests/integration/converters/inputs/sample.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/integration/converters/libjxl.test.ts b/tests/integration/converters/libjxl.test.ts new file mode 100644 index 00000000..0b134be4 --- /dev/null +++ b/tests/integration/converters/libjxl.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/libjxl"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG XL bytes", () => + runGoldenConversion("libjxl", convert, "jxl")); diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jpg b/tests/integration/converters/outputs/ffmpeg/sample.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5652e52eaaffa69cbebcefb4a6757306ec1925aa GIT binary patch literal 517 zcmex=S=WL9J_bQDq&W=T{Q`G0^xkb^;hL4cW2h=ECnfmw**|1Aa{pw&!* z%z_N|45$9q%Lgw#^W0tUSIQj2#S6`M9!st}Tl{y@acM(AYi_lpmGR9_X8C;mJJ&DY zcy7)P&2{C+nwqXXmEy5Bz4*ajcF_rsM;epWAJ+9Zd9I!MuVIB-`;hz$)?l&gaW^xSWz|;Qp&NneAALM~0kGwb;A)!P76S zn^*aGUX72MW^NJV_9QDi*4JBSbj!K9}Y> zsbtSu=4bU5@qcv`&2$)cEm#sH_%cdRLdM7P^wl+cwjH~C_{ga%YaQR86X%xJt^a=$ E0AnJf^Z)<= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.jpg b/tests/integration/converters/outputs/graphicsmagick/sample.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a44b580cb33f523104e6e8e4f7ea6903b0e8752e GIT binary patch literal 409 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<esAq z?*dlJh}{zDliB$Fs~DuVN?WE^4;T^r$)JvdBy;f_XJVk-ZK7 zi-%v$bT2Oq^3XClsbZ1%el_cyZG218PxbHFyLWYY)$btxzy%%)uR8Fr;I-PucI5GC N`8~N2e*XV&0s!+NVIKeh literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpg b/tests/integration/converters/outputs/imagemagick/sample.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c34b50882f9f8ef3ec39e0c174b63706945d7506 GIT binary patch literal 568 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4ZMknNg5|Nsy6Qkn#T!1~H&hfzCt%EKD3gaXA47plgA0a7jicW>yw9K_PZUL!i7k zND3|o($2`jzyy>~02&VRC_<7^kV%n&nMFj&@L}M`|F;-;m>GfgGYc}GeaO_F z39=S^=ktU=D!8RcVRrY?C|T{z$&3ktVHl7`O*H+!>V3@`f#3Hcd;Ode!JZA0o_1XF_rth}9xcct1 zJ6WGYlf$n`EOd=oERwCeCiq9N_09mPFb3w|e{GW@KJ!UFa!#75 + + + + + + + + + diff --git a/tests/integration/converters/outputs/libjxl/sample.jxl b/tests/integration/converters/outputs/libjxl/sample.jxl new file mode 100644 index 0000000000000000000000000000000000000000..1c4fce82dea39c876bd17c4386b2b49d6793c363 GIT binary patch literal 329 zcmV-P0k;1C3PZq708D@=0Q3a4pCAAL6)K~Q8@!zB`SL@D#k7s<3~jY-VF_ciJr@cF z2?200TZ^Z77XSx<01t5lLJ$+3AB2f9kT7%=Ah3}m8*E9E#;({}Ya`+(bV#pF9J9)^ zGDq(~l(-2fE&$*lfWs^x-L0-f0)(SSA7ay33HW_s0Se#>DUjAy6{&bSQZ02EV-5;^ z0UZ8w!5-K=x`jnK;6e|q85qO???>X+t2v0}r2iXUv;&CZLQHA~Tqp!RJY(8MClv`G zSk%3NCbsIJf&Q!!(k|&Xv}CnXyai`FnBeJ;v%N}ZXn5GR3No|W+B9%65~dPIzrTxK zXdx)>hfIbk6L9qZz%u45J6!|I17I6Q*Q5oapZwBbQci*b<-4a2C&MQxF3~kX3=9lx3_^^|42(b)2um@tg6S|ITN=ua1F|)sYM6j* zVJ3w7%yt&AdZ2+|pfAbD@Pe6v0YKT(FjACJ zG$I-NKfoZ!!63jOz|5$`z$D1XEXer(2!lK@5Lp?)0OVW{0D6^$m5rT)lZzXuV5& zw6?W(baqXeJZ0*%=`&`|TC{k{(q+q6tX#Ee^OmjKw(r=v>(JpNM~@vpaq`rq%U7;m zyME*5t%r{uKY9A>`HPpYK7RWAj7{Xt-7*vlg%eaiojA=nRYmyi+Y>8Is%P)E)~?ij8&xt%cb#4B5}l(P$|l}* w|Ie^~R&3g literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vtracer/sample.svg b/tests/integration/converters/outputs/vtracer/sample.svg new file mode 100644 index 00000000..c42bca3c --- /dev/null +++ b/tests/integration/converters/outputs/vtracer/sample.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/integration/converters/vips.test.ts b/tests/integration/converters/vips.test.ts new file mode 100644 index 00000000..abc38132 --- /dev/null +++ b/tests/integration/converters/vips.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/vips"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("vips", convert, "jpg")); diff --git a/tests/integration/converters/vtracer.test.ts b/tests/integration/converters/vtracer.test.ts new file mode 100644 index 00000000..75873f9b --- /dev/null +++ b/tests/integration/converters/vtracer.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/vtracer"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected SVG bytes", () => + runGoldenConversion("vtracer", convert, "svg")); From abc38a337a647b81eb3cf44341289e7845932cf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Sat, 17 Oct 2026 01:02:26 +0200 Subject: [PATCH 2/8] add output files --- .../converters/all-formats.test.ts | 100 ++++++ .../converters/expected-failures.json | 147 +++++++++ tests/integration/converters/ffmpeg.test.ts | 2 +- tests/integration/converters/golden.ts | 8 +- .../converters/graphicsmagick.test.ts | 2 +- .../converters/imagemagick.test.ts | 2 +- tests/integration/converters/inkscape.test.ts | 2 +- tests/integration/converters/libjxl.test.ts | 2 +- .../outputs/ffmpeg/chunk-stream0-00001.m4s | Bin 0 -> 954 bytes .../outputs/ffmpeg/init-stream0.m4s | Bin 0 -> 794 bytes .../converters/outputs/ffmpeg/sample.264 | Bin 0 -> 799 bytes .../converters/outputs/ffmpeg/sample.a64 | Bin 0 -> 4102 bytes .../converters/outputs/ffmpeg/sample.apng | Bin 0 -> 455 bytes .../converters/outputs/ffmpeg/sample.asf | Bin 0 -> 3819 bytes .../converters/outputs/ffmpeg/sample.av1.mkv | Bin 0 -> 1262 bytes .../converters/outputs/ffmpeg/sample.av1.mp4 | Bin 0 -> 983 bytes .../converters/outputs/ffmpeg/sample.avi | Bin 0 -> 6006 bytes .../converters/outputs/ffmpeg/sample.avif | Bin 0 -> 468 bytes .../converters/outputs/ffmpeg/sample.bmp | Bin 0 -> 1078 bytes .../converters/outputs/ffmpeg/sample.cpk | Bin 0 -> 404 bytes .../converters/outputs/ffmpeg/sample.dpx | Bin 0 -> 2688 bytes .../converters/outputs/ffmpeg/sample.dvd | Bin 0 -> 4096 bytes .../converters/outputs/ffmpeg/sample.exr | Bin 0 -> 4731 bytes .../converters/outputs/ffmpeg/sample.f4v | Bin 0 -> 1564 bytes .../converters/outputs/ffmpeg/sample.ffmeta | 2 + .../converters/outputs/ffmpeg/sample.fits | Bin 0 -> 5760 bytes .../converters/outputs/ffmpeg/sample.flm | Bin 0 -> 1060 bytes .../converters/outputs/ffmpeg/sample.flv | Bin 0 -> 582 bytes .../converters/outputs/ffmpeg/sample.gif | Bin 0 -> 1003 bytes .../converters/outputs/ffmpeg/sample.h264.mkv | Bin 0 -> 1400 bytes .../converters/outputs/ffmpeg/sample.h264.mp4 | Bin 0 -> 1584 bytes .../converters/outputs/ffmpeg/sample.hdr | Bin 0 -> 1011 bytes .../converters/outputs/ffmpeg/sample.ico | Bin 0 -> 1132 bytes .../converters/outputs/ffmpeg/sample.im1 | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.im24 | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.im8 | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.isma | Bin 0 -> 1747 bytes .../converters/outputs/ffmpeg/sample.ismv | Bin 0 -> 1747 bytes .../converters/outputs/ffmpeg/sample.j2c | Bin 0 -> 1294 bytes .../converters/outputs/ffmpeg/sample.j2k | Bin 0 -> 1294 bytes .../converters/outputs/ffmpeg/sample.jls | Bin 0 -> 508 bytes .../converters/outputs/ffmpeg/sample.jp2 | Bin 0 -> 1294 bytes .../converters/outputs/ffmpeg/sample.jpeg | Bin 0 -> 517 bytes .../converters/outputs/ffmpeg/sample.jxl | Bin 0 -> 329 bytes .../converters/outputs/ffmpeg/sample.ljpg | Bin 0 -> 1151 bytes .../converters/outputs/ffmpeg/sample.m1v | Bin 0 -> 265 bytes .../converters/outputs/ffmpeg/sample.m2t | Bin 0 -> 940 bytes .../converters/outputs/ffmpeg/sample.m2ts | Bin 0 -> 6144 bytes .../converters/outputs/ffmpeg/sample.m2v | Bin 0 -> 285 bytes .../converters/outputs/ffmpeg/sample.m3u8 | 7 + .../converters/outputs/ffmpeg/sample.m4b | Bin 0 -> 1592 bytes .../converters/outputs/ffmpeg/sample.m4v | Bin 0 -> 1592 bytes .../converters/outputs/ffmpeg/sample.mjpeg | Bin 0 -> 517 bytes .../converters/outputs/ffmpeg/sample.mjpg | Bin 0 -> 517 bytes .../converters/outputs/ffmpeg/sample.mkv | Bin 0 -> 1400 bytes .../converters/outputs/ffmpeg/sample.mov | Bin 0 -> 1531 bytes .../converters/outputs/ffmpeg/sample.mp4 | Bin 0 -> 1584 bytes .../converters/outputs/ffmpeg/sample.mpd | 26 ++ .../converters/outputs/ffmpeg/sample.mpeg | Bin 0 -> 2048 bytes .../converters/outputs/ffmpeg/sample.mpg | Bin 0 -> 2048 bytes .../converters/outputs/ffmpeg/sample.mts | Bin 0 -> 940 bytes .../converters/outputs/ffmpeg/sample.mxf | Bin 0 -> 7737 bytes .../converters/outputs/ffmpeg/sample.nut | Bin 0 -> 587 bytes .../converters/outputs/ffmpeg/sample.obu | Bin 0 -> 181 bytes .../converters/outputs/ffmpeg/sample.ogv | Bin 0 -> 3749 bytes .../converters/outputs/ffmpeg/sample.pam | Bin 0 -> 1091 bytes .../converters/outputs/ffmpeg/sample.pbm | 3 + .../converters/outputs/ffmpeg/sample.pcx | Bin 0 -> 739 bytes .../converters/outputs/ffmpeg/sample.pfm | Bin 0 -> 3090 bytes .../converters/outputs/ffmpeg/sample.pgm | Bin 0 -> 269 bytes .../converters/outputs/ffmpeg/sample.pgmyuv | 4 + .../converters/outputs/ffmpeg/sample.phm | Bin 0 -> 1555 bytes .../converters/outputs/ffmpeg/sample.pix | Bin 0 -> 598 bytes .../converters/outputs/ffmpeg/sample.png | Bin 0 -> 455 bytes .../converters/outputs/ffmpeg/sample.ppm | Bin 0 -> 781 bytes .../converters/outputs/ffmpeg/sample.qoi | Bin 0 -> 413 bytes .../converters/outputs/ffmpeg/sample.ra | Bin 0 -> 512 bytes .../converters/outputs/ffmpeg/sample.ras | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.rgb | Bin 0 -> 1024 bytes .../converters/outputs/ffmpeg/sample.rm | Bin 0 -> 512 bytes .../converters/outputs/ffmpeg/sample.roq | Bin 0 -> 288 bytes .../converters/outputs/ffmpeg/sample.rs | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.sgi | Bin 0 -> 1853 bytes .../converters/outputs/ffmpeg/sample.sun | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.sunras | Bin 0 -> 650 bytes .../converters/outputs/ffmpeg/sample.swf | Bin 0 -> 422 bytes .../converters/outputs/ffmpeg/sample.tga | Bin 0 -> 718 bytes .../converters/outputs/ffmpeg/sample.tif | Bin 0 -> 1067 bytes .../converters/outputs/ffmpeg/sample.tiff | Bin 0 -> 1067 bytes .../converters/outputs/ffmpeg/sample.ts | Bin 0 -> 940 bytes .../converters/outputs/ffmpeg/sample.vbn | Bin 0 -> 448 bytes .../converters/outputs/ffmpeg/sample.vob | Bin 0 -> 4096 bytes .../converters/outputs/ffmpeg/sample.wbmp | Bin 0 -> 36 bytes .../converters/outputs/ffmpeg/sample.webp | Bin 0 -> 250 bytes .../converters/outputs/ffmpeg/sample.wma | Bin 0 -> 3819 bytes .../converters/outputs/ffmpeg/sample.wmv | Bin 0 -> 3819 bytes .../converters/outputs/ffmpeg/sample.wtv | Bin 0 -> 28672 bytes .../converters/outputs/ffmpeg/sample.xbm | 20 ++ .../converters/outputs/ffmpeg/sample.xwd | Bin 0 -> 1135 bytes .../converters/outputs/ffmpeg/sample.y | Bin 0 -> 1024 bytes .../converters/outputs/ffmpeg/sample.yuv | Bin 0 -> 1024 bytes .../converters/outputs/ffmpeg/sample0.ts | Bin 0 -> 1504 bytes .../outputs/graphicsmagick/sample.art | Bin 0 -> 40 bytes .../outputs/graphicsmagick/sample.avs | Bin 0 -> 1032 bytes .../outputs/graphicsmagick/sample.b | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.bie | Bin 0 -> 54 bytes .../outputs/graphicsmagick/sample.bigtiff | Bin 0 -> 842 bytes .../outputs/graphicsmagick/sample.bmp | Bin 0 -> 1146 bytes .../outputs/graphicsmagick/sample.bmp2 | Bin 0 -> 794 bytes .../outputs/graphicsmagick/sample.bmp3 | Bin 0 -> 822 bytes .../outputs/graphicsmagick/sample.brf | 9 + .../outputs/graphicsmagick/sample.c | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.cals | Bin 0 -> 2094 bytes .../outputs/graphicsmagick/sample.cin | Bin 0 -> 3072 bytes .../outputs/graphicsmagick/sample.cmyk | 1 + .../outputs/graphicsmagick/sample.cmyka | Bin 0 -> 1280 bytes .../outputs/graphicsmagick/sample.dcx | Bin 0 -> 6021 bytes .../outputs/graphicsmagick/sample.dpx | Bin 0 -> 9216 bytes .../outputs/graphicsmagick/sample.epdf | Bin 0 -> 1420 bytes .../outputs/graphicsmagick/sample.epi | 303 ++++++++++++++++++ .../outputs/graphicsmagick/sample.eps | 300 +++++++++++++++++ .../outputs/graphicsmagick/sample.eps2 | 177 ++++++++++ .../outputs/graphicsmagick/sample.eps3 | 234 ++++++++++++++ .../outputs/graphicsmagick/sample.epsf | 300 +++++++++++++++++ .../outputs/graphicsmagick/sample.epsi | 303 ++++++++++++++++++ .../outputs/graphicsmagick/sample.ept | Bin 0 -> 8440 bytes .../outputs/graphicsmagick/sample.ept2 | Bin 0 -> 5805 bytes .../outputs/graphicsmagick/sample.ept3 | Bin 0 -> 5924 bytes .../outputs/graphicsmagick/sample.fax | Bin 0 -> 119 bytes .../outputs/graphicsmagick/sample.fits | Bin 0 -> 5760 bytes .../outputs/graphicsmagick/sample.g | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.gif | Bin 0 -> 351 bytes .../outputs/graphicsmagick/sample.gif87 | Bin 0 -> 343 bytes .../outputs/graphicsmagick/sample.gray | Bin 0 -> 256 bytes .../outputs/graphicsmagick/sample.graya | Bin 0 -> 512 bytes .../outputs/graphicsmagick/sample.histogram | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.html | 15 + .../outputs/graphicsmagick/sample.icb | Bin 0 -> 1042 bytes .../outputs/graphicsmagick/sample.info | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.isobrl | 1 + .../outputs/graphicsmagick/sample.isobrl6 | Bin 0 -> 48 bytes .../outputs/graphicsmagick/sample.jbg | Bin 0 -> 54 bytes .../outputs/graphicsmagick/sample.jbig | Bin 0 -> 54 bytes .../outputs/graphicsmagick/sample.jng | Bin 0 -> 552 bytes .../{sample.jpg => sample.jpeg} | Bin .../outputs/graphicsmagick/sample.k | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.m | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.map | Bin 0 -> 382 bytes .../outputs/graphicsmagick/sample.mat | Bin 0 -> 960 bytes .../outputs/graphicsmagick/sample.matte | Bin 0 -> 313 bytes .../outputs/graphicsmagick/sample.miff | Bin 0 -> 480 bytes .../outputs/graphicsmagick/sample.mng | Bin 0 -> 622 bytes .../outputs/graphicsmagick/sample.mono | Bin 0 -> 32 bytes .../outputs/graphicsmagick/sample.mpc | 12 + .../outputs/graphicsmagick/sample.msl | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.mtv | Bin 0 -> 774 bytes .../outputs/graphicsmagick/sample.mvg | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.null | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.o | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.otb | Bin 0 -> 36 bytes .../outputs/graphicsmagick/sample.p7 | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.pal | Bin 0 -> 512 bytes .../outputs/graphicsmagick/sample.pam | Bin 0 -> 1091 bytes .../outputs/graphicsmagick/sample.pbm | 3 + .../outputs/graphicsmagick/sample.pcd | Bin 0 -> 788480 bytes .../outputs/graphicsmagick/sample.pcds | Bin 0 -> 788480 bytes .../outputs/graphicsmagick/sample.pcl | Bin 0 -> 508 bytes .../outputs/graphicsmagick/sample.pct | Bin 0 -> 1386 bytes .../outputs/graphicsmagick/sample.pcx | Bin 0 -> 1921 bytes .../outputs/graphicsmagick/sample.pdb | Bin 0 -> 319 bytes .../outputs/graphicsmagick/sample.pdf | Bin 0 -> 1420 bytes .../outputs/graphicsmagick/sample.pgm | Bin 0 -> 269 bytes .../outputs/graphicsmagick/sample.picon | 37 +++ .../outputs/graphicsmagick/sample.pict | Bin 0 -> 1386 bytes .../outputs/graphicsmagick/sample.png | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.png00 | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.png24 | Bin 0 -> 426 bytes .../outputs/graphicsmagick/sample.png32 | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.png48 | Bin 0 -> 595 bytes .../outputs/graphicsmagick/sample.png64 | Bin 0 -> 691 bytes .../outputs/graphicsmagick/sample.png8 | Bin 0 -> 358 bytes .../outputs/graphicsmagick/sample.pnm | Bin 0 -> 781 bytes .../outputs/graphicsmagick/sample.ppm | Bin 0 -> 781 bytes .../outputs/graphicsmagick/sample.preview | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.ps | Bin 0 -> 7350 bytes .../outputs/graphicsmagick/sample.ps2 | 178 ++++++++++ .../outputs/graphicsmagick/sample.ps3 | 234 ++++++++++++++ .../outputs/graphicsmagick/sample.ptif | Bin 0 -> 690 bytes .../outputs/graphicsmagick/sample.r | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.ras | Bin 0 -> 1056 bytes .../outputs/graphicsmagick/sample.rgb | Bin 0 -> 768 bytes .../outputs/graphicsmagick/sample.rgba | Bin 0 -> 1024 bytes .../outputs/graphicsmagick/sample.sgi | Bin 0 -> 1917 bytes .../outputs/graphicsmagick/sample.shtml | 3 + .../outputs/graphicsmagick/sample.sun | Bin 0 -> 1056 bytes .../outputs/graphicsmagick/sample.text | 256 +++++++++++++++ .../outputs/graphicsmagick/sample.tga | Bin 0 -> 1042 bytes .../outputs/graphicsmagick/sample.tiff | Bin 0 -> 702 bytes .../outputs/graphicsmagick/sample.txt | 256 +++++++++++++++ .../outputs/graphicsmagick/sample.ubrl | 7 + .../outputs/graphicsmagick/sample.ubrl6 | 9 + .../outputs/graphicsmagick/sample.uil | 62 ++++ .../outputs/graphicsmagick/sample.uyvy | Bin 0 -> 512 bytes .../outputs/graphicsmagick/sample.vda | Bin 0 -> 1042 bytes .../outputs/graphicsmagick/sample.vicar | Bin 0 -> 2309 bytes .../outputs/graphicsmagick/sample.vid | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.viff | Bin 0 -> 2048 bytes .../outputs/graphicsmagick/sample.vst | Bin 0 -> 1042 bytes .../outputs/graphicsmagick/sample.wbmp | Bin 0 -> 36 bytes .../outputs/graphicsmagick/sample.webp | Bin 0 -> 254 bytes .../outputs/graphicsmagick/sample.x | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.xbm | 6 + .../outputs/graphicsmagick/sample.xpm | 65 ++++ .../outputs/graphicsmagick/sample.xv | Bin 0 -> 2048 bytes .../outputs/graphicsmagick/sample.xwd | Bin 0 -> 936 bytes .../outputs/graphicsmagick/sample.y | Bin 0 -> 492 bytes .../outputs/graphicsmagick/sample.yuv | Bin 0 -> 384 bytes .../outputs/graphicsmagick/sample_map.shtml | 3 + .../converters/outputs/imagemagick/sample.aai | Bin 0 -> 1032 bytes .../converters/outputs/imagemagick/sample.ai | Bin 0 -> 2247 bytes .../outputs/imagemagick/sample.apng | Bin 0 -> 780 bytes .../converters/outputs/imagemagick/sample.art | Bin 0 -> 40 bytes .../outputs/imagemagick/sample.avif | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.avs | Bin 0 -> 1032 bytes .../outputs/imagemagick/sample.bayer | Bin 0 -> 256 bytes .../outputs/imagemagick/sample.bayera | Bin 0 -> 256 bytes .../converters/outputs/imagemagick/sample.bgr | Bin 0 -> 768 bytes .../outputs/imagemagick/sample.bgra | Bin 0 -> 1024 bytes .../outputs/imagemagick/sample.bgro | Bin 0 -> 768 bytes .../converters/outputs/imagemagick/sample.bmp | Bin 0 -> 1162 bytes .../outputs/imagemagick/sample.bmp2 | Bin 0 -> 794 bytes .../outputs/imagemagick/sample.bmp3 | Bin 0 -> 822 bytes .../converters/outputs/imagemagick/sample.brf | 9 + .../converters/outputs/imagemagick/sample.cal | Bin 0 -> 2079 bytes .../outputs/imagemagick/sample.cals | Bin 0 -> 2079 bytes .../converters/outputs/imagemagick/sample.cin | Bin 0 -> 2816 bytes .../converters/outputs/imagemagick/sample.cip | 9 + .../outputs/imagemagick/sample.cmyk | Bin 0 -> 1024 bytes .../outputs/imagemagick/sample.cmyka | Bin 0 -> 1280 bytes .../converters/outputs/imagemagick/sample.cur | Bin 0 -> 1150 bytes .../outputs/imagemagick/sample.data | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.dcx | Bin 0 -> 4997 bytes .../converters/outputs/imagemagick/sample.dds | Bin 0 -> 496 bytes .../converters/outputs/imagemagick/sample.dpx | Bin 0 -> 9216 bytes .../outputs/imagemagick/sample.dxt1 | Bin 0 -> 312 bytes .../outputs/imagemagick/sample.dxt5 | Bin 0 -> 496 bytes .../outputs/imagemagick/sample.epdf | Bin 0 -> 2247 bytes .../converters/outputs/imagemagick/sample.epi | 302 +++++++++++++++++ .../converters/outputs/imagemagick/sample.eps | 298 +++++++++++++++++ .../outputs/imagemagick/sample.eps2 | 178 ++++++++++ .../outputs/imagemagick/sample.eps3 | Bin 0 -> 4857 bytes .../outputs/imagemagick/sample.epsf | 298 +++++++++++++++++ .../outputs/imagemagick/sample.epsi | 302 +++++++++++++++++ .../converters/outputs/imagemagick/sample.ept | Bin 0 -> 8602 bytes .../outputs/imagemagick/sample.ept2 | Bin 0 -> 6003 bytes .../outputs/imagemagick/sample.ept3 | Bin 0 -> 6168 bytes .../converters/outputs/imagemagick/sample.exr | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.farbfeld | Bin 0 -> 2064 bytes .../converters/outputs/imagemagick/sample.fax | Bin 0 -> 113 bytes .../converters/outputs/imagemagick/sample.ff | Bin 0 -> 2064 bytes .../outputs/imagemagick/sample.fits | Bin 0 -> 5760 bytes .../outputs/imagemagick/sample.fl32 | Bin 0 -> 4112 bytes .../outputs/imagemagick/sample.flif | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.flv | Bin 0 -> 550 bytes .../converters/outputs/imagemagick/sample.fts | Bin 0 -> 5760 bytes .../outputs/imagemagick/sample.ftxt | 256 +++++++++++++++ .../converters/outputs/imagemagick/sample.g3 | Bin 0 -> 113 bytes .../converters/outputs/imagemagick/sample.g4 | Bin 0 -> 113 bytes .../converters/outputs/imagemagick/sample.gif | Bin 0 -> 335 bytes .../outputs/imagemagick/sample.gif87 | Bin 0 -> 327 bytes .../outputs/imagemagick/sample.gray | Bin 0 -> 256 bytes .../outputs/imagemagick/sample.graya | Bin 0 -> 512 bytes .../outputs/imagemagick/sample.group4 | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.hdr | Bin 0 -> 1030 bytes .../outputs/imagemagick/sample.histogram | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.hrz | Bin 0 -> 184320 bytes .../converters/outputs/imagemagick/sample.htm | 15 + .../outputs/imagemagick/sample.html | 15 + .../converters/outputs/imagemagick/sample.icb | Bin 0 -> 1042 bytes .../converters/outputs/imagemagick/sample.ico | Bin 0 -> 370070 bytes .../outputs/imagemagick/sample.icon | Bin 0 -> 1150 bytes .../outputs/imagemagick/sample.info | 1 + .../outputs/imagemagick/sample.inline | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.ipl | Bin 0 -> 820 bytes .../outputs/imagemagick/sample.isobrl | 1 + .../outputs/imagemagick/sample.isobrl6 | Bin 0 -> 48 bytes .../converters/outputs/imagemagick/sample.j2c | Bin 0 -> 1184 bytes .../converters/outputs/imagemagick/sample.j2k | Bin 0 -> 1065 bytes .../converters/outputs/imagemagick/sample.jng | Bin 0 -> 566 bytes .../converters/outputs/imagemagick/sample.jp2 | Bin 0 -> 1184 bytes .../converters/outputs/imagemagick/sample.jpc | Bin 0 -> 1184 bytes .../converters/outputs/imagemagick/sample.jpe | Bin 0 -> 568 bytes .../outputs/imagemagick/sample.jpeg | Bin 0 -> 568 bytes .../converters/outputs/imagemagick/sample.jpm | Bin 0 -> 1184 bytes .../converters/outputs/imagemagick/sample.jps | Bin 0 -> 568 bytes .../outputs/imagemagick/sample.json | 143 +++++++++ .../converters/outputs/imagemagick/sample.jxl | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.m2v | Bin 0 -> 283 bytes .../converters/outputs/imagemagick/sample.m4v | Bin 0 -> 1586 bytes .../converters/outputs/imagemagick/sample.map | Bin 0 -> 385 bytes .../converters/outputs/imagemagick/sample.mat | Bin 0 -> 960 bytes .../outputs/imagemagick/sample.matte | Bin 0 -> 1434 bytes .../outputs/imagemagick/sample.miff | Bin 0 -> 1717 bytes .../converters/outputs/imagemagick/sample.mkv | Bin 0 -> 1398 bytes .../converters/outputs/imagemagick/sample.mng | Bin 0 -> 527 bytes .../outputs/imagemagick/sample.mono | 1 + .../converters/outputs/imagemagick/sample.mov | Bin 0 -> 1525 bytes .../converters/outputs/imagemagick/sample.mp4 | Bin 0 -> 1578 bytes .../converters/outputs/imagemagick/sample.mpc | 25 ++ .../outputs/imagemagick/sample.mpeg | Bin 0 -> 2048 bytes .../converters/outputs/imagemagick/sample.mpg | Bin 0 -> 2048 bytes .../converters/outputs/imagemagick/sample.msl | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.msvg | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.mtv | Bin 0 -> 774 bytes .../converters/outputs/imagemagick/sample.mvg | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.null | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.otb | Bin 0 -> 36 bytes .../converters/outputs/imagemagick/sample.pal | Bin 0 -> 512 bytes .../outputs/imagemagick/sample.palm | Bin 0 -> 272 bytes .../converters/outputs/imagemagick/sample.pam | Bin 0 -> 1091 bytes .../converters/outputs/imagemagick/sample.pbm | 3 + .../converters/outputs/imagemagick/sample.pcd | Bin 0 -> 788480 bytes .../outputs/imagemagick/sample.pcds | Bin 0 -> 788480 bytes .../converters/outputs/imagemagick/sample.pcl | Bin 0 -> 516 bytes .../converters/outputs/imagemagick/sample.pct | Bin 0 -> 1386 bytes .../converters/outputs/imagemagick/sample.pcx | Bin 0 -> 897 bytes .../converters/outputs/imagemagick/sample.pdb | Bin 0 -> 256 bytes .../converters/outputs/imagemagick/sample.pdf | Bin 0 -> 2247 bytes .../outputs/imagemagick/sample.pdfa | Bin 0 -> 3724 bytes .../converters/outputs/imagemagick/sample.pfm | Bin 0 -> 3085 bytes .../converters/outputs/imagemagick/sample.pgm | Bin 0 -> 269 bytes .../converters/outputs/imagemagick/sample.pgx | Bin 0 -> 272 bytes .../converters/outputs/imagemagick/sample.phm | Bin 0 -> 1549 bytes .../outputs/imagemagick/sample.picon | 31 ++ .../outputs/imagemagick/sample.pict | Bin 0 -> 1386 bytes .../outputs/imagemagick/sample.pjpeg | Bin 0 -> 797 bytes .../converters/outputs/imagemagick/sample.png | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.png00 | Bin 0 -> 669 bytes .../outputs/imagemagick/sample.png24 | Bin 0 -> 639 bytes .../outputs/imagemagick/sample.png32 | Bin 0 -> 669 bytes .../outputs/imagemagick/sample.png48 | Bin 0 -> 808 bytes .../outputs/imagemagick/sample.png64 | Bin 0 -> 868 bytes .../outputs/imagemagick/sample.png8 | Bin 0 -> 531 bytes .../converters/outputs/imagemagick/sample.pnm | Bin 0 -> 781 bytes .../outputs/imagemagick/sample.pocketmod | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.ppm | Bin 0 -> 781 bytes .../converters/outputs/imagemagick/sample.ps | Bin 0 -> 7316 bytes .../converters/outputs/imagemagick/sample.ps2 | 179 +++++++++++ .../converters/outputs/imagemagick/sample.ps3 | Bin 0 -> 4871 bytes .../converters/outputs/imagemagick/sample.psb | Bin 0 -> 1693 bytes .../converters/outputs/imagemagick/sample.psd | Bin 0 -> 1541 bytes .../outputs/imagemagick/sample.ptif | Bin 0 -> 1290 bytes .../converters/outputs/imagemagick/sample.qoi | Bin 0 -> 413 bytes .../converters/outputs/imagemagick/sample.ras | Bin 0 -> 1056 bytes .../converters/outputs/imagemagick/sample.rgb | Bin 0 -> 768 bytes .../outputs/imagemagick/sample.rgba | Bin 0 -> 1024 bytes .../outputs/imagemagick/sample.rgbo | Bin 0 -> 1024 bytes .../converters/outputs/imagemagick/sample.rgf | 1 + .../outputs/imagemagick/sample.rsvg | Bin 0 -> 556 bytes .../converters/outputs/imagemagick/sample.sgi | Bin 0 -> 1917 bytes .../outputs/imagemagick/sample.shtml | 3 + .../converters/outputs/imagemagick/sample.six | 1 + .../outputs/imagemagick/sample.sixel | 1 + .../outputs/imagemagick/sample.sparse | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.strimg | Bin 0 -> 256 bytes .../converters/outputs/imagemagick/sample.sun | Bin 0 -> 1056 bytes .../converters/outputs/imagemagick/sample.svg | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.svgz | Bin 0 -> 520 bytes .../converters/outputs/imagemagick/sample.tga | Bin 0 -> 1042 bytes .../outputs/imagemagick/sample.tiff | Bin 0 -> 1302 bytes .../outputs/imagemagick/sample.tiff64 | Bin 0 -> 1440 bytes .../converters/outputs/imagemagick/sample.txt | 257 +++++++++++++++ .../outputs/imagemagick/sample.ubrl | 7 + .../outputs/imagemagick/sample.ubrl6 | 9 + .../converters/outputs/imagemagick/sample.uil | 64 ++++ .../outputs/imagemagick/sample.uyvy | Bin 0 -> 512 bytes .../converters/outputs/imagemagick/sample.vda | Bin 0 -> 1042 bytes .../outputs/imagemagick/sample.vicar | Bin 0 -> 4352 bytes .../converters/outputs/imagemagick/sample.vid | Bin 0 -> 556 bytes .../outputs/imagemagick/sample.viff | Bin 0 -> 2048 bytes .../outputs/imagemagick/sample.vips | Bin 0 -> 1088 bytes .../converters/outputs/imagemagick/sample.vst | Bin 0 -> 1042 bytes .../outputs/imagemagick/sample.wbmp | Bin 0 -> 36 bytes .../outputs/imagemagick/sample.webm | Bin 0 -> 804 bytes .../outputs/imagemagick/sample.webp | Bin 0 -> 254 bytes .../converters/outputs/imagemagick/sample.wmv | Bin 0 -> 3819 bytes .../converters/outputs/imagemagick/sample.wpg | Bin 0 -> 1050 bytes .../converters/outputs/imagemagick/sample.xbm | 6 + .../converters/outputs/imagemagick/sample.xpm | 61 ++++ .../converters/outputs/imagemagick/sample.xv | Bin 0 -> 2048 bytes .../outputs/imagemagick/sample.yaml | 142 ++++++++ .../outputs/imagemagick/sample.ycbcr | Bin 0 -> 768 bytes .../outputs/imagemagick/sample.ycbcra | Bin 0 -> 1024 bytes .../converters/outputs/imagemagick/sample.yuv | Bin 0 -> 384 bytes .../converters/outputs/inkscape/sample.dxf | 32 ++ .../converters/outputs/inkscape/sample.emf | Bin 0 -> 1644 bytes .../converters/outputs/inkscape/sample.eps | 101 ++++++ .../converters/outputs/inkscape/sample.fxg | 21 ++ .../converters/outputs/inkscape/sample.gpl | 4 + .../converters/outputs/inkscape/sample.hpgl | 1 + .../converters/outputs/inkscape/sample.html | 16 + .../converters/outputs/inkscape/sample.odg | Bin 0 -> 4516 bytes .../converters/outputs/inkscape/sample.pdf | Bin 0 -> 1830 bytes .../converters/outputs/inkscape/sample.png | Bin 0 -> 505 bytes .../converters/outputs/inkscape/sample.pov | 43 +++ .../converters/outputs/inkscape/sample.ps | Bin 0 -> 4057 bytes .../converters/outputs/inkscape/sample.sif | 3 + .../converters/outputs/inkscape/sample.svgz | Bin 0 -> 958 bytes .../converters/outputs/inkscape/sample.tex | 6 + .../converters/outputs/inkscape/sample.wmf | Bin 0 -> 1326 bytes .../converters/outputs/vips/sample.fits | Bin 0 -> 5760 bytes .../converters/outputs/vips/sample.gif | Bin 0 -> 358 bytes .../converters/outputs/vips/sample.j2c | Bin 0 -> 677 bytes .../converters/outputs/vips/sample.j2k | Bin 0 -> 677 bytes .../converters/outputs/vips/sample.jp2 | Bin 0 -> 677 bytes .../outputs/vips/{sample.jpg => sample.jpeg} | Bin .../converters/outputs/vips/sample.jxl | Bin 0 -> 387 bytes .../converters/outputs/vips/sample.mat | 17 + .../converters/outputs/vips/sample.png | Bin 0 -> 517 bytes .../converters/outputs/vips/sample.tiff | Bin 0 -> 1262 bytes .../converters/outputs/vips/sample.vips | Bin 0 -> 3220 bytes .../converters/outputs/vips/sample.webp | Bin 0 -> 448 bytes tests/integration/converters/vips.test.ts | 2 +- tests/integration/converters/vtracer.test.ts | 2 +- 424 files changed, 5957 insertions(+), 10 deletions(-) create mode 100644 tests/integration/converters/all-formats.test.ts create mode 100644 tests/integration/converters/expected-failures.json create mode 100644 tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s create mode 100644 tests/integration/converters/outputs/ffmpeg/init-stream0.m4s create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.264 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.a64 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.apng create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.asf create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.av1.mkv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.av1.mp4 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.avi create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.avif create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.bmp create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.cpk create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.dpx create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.dvd create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.exr create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.f4v create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ffmeta create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.fits create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.flm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.flv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.gif create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.h264.mkv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.hdr create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ico create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.im1 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.im24 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.im8 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.isma create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ismv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.j2c create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.j2k create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.jls create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.jp2 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.jpeg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.jxl create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ljpg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m1v create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m2t create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m2ts create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m2v create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m3u8 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m4b create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.m4v create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mjpeg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mjpg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mkv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mov create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mp4 create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mpd create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mpeg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mpg create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mts create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.mxf create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.nut create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.obu create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ogv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pam create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pbm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pcx create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pfm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pgm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pgmyuv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.phm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.pix create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.png create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ppm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.qoi create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ra create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ras create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.rgb create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.rm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.roq create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.rs create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.sgi create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.sun create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.sunras create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.swf create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.tga create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.tif create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.tiff create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.ts create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.vbn create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.vob create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.wbmp create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.webp create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.wma create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.wmv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.wtv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.xbm create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.xwd create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.y create mode 100644 tests/integration/converters/outputs/ffmpeg/sample.yuv create mode 100644 tests/integration/converters/outputs/ffmpeg/sample0.ts create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.art create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.avs create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.b create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.bie create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.bigtiff create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.bmp create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.bmp2 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.bmp3 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.brf create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.c create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.cals create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.cin create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.cmyk create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.cmyka create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.dcx create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.dpx create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.epdf create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.epi create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.eps create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.eps2 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.eps3 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.epsf create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.epsi create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ept create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ept2 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ept3 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.fax create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.fits create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.g create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.gif create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.gif87 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.gray create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.graya create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.histogram create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.html create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.icb create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.info create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.isobrl create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.isobrl6 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.jbg create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.jbig create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.jng rename tests/integration/converters/outputs/graphicsmagick/{sample.jpg => sample.jpeg} (100%) create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.k create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.m create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.map create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mat create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.matte create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.miff create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mng create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mono create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mpc create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.msl create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mtv create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.mvg create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.null create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.o create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.otb create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.p7 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pal create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pam create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pbm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pcd create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pcds create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pcl create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pct create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pcx create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pdb create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pdf create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pgm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.picon create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pict create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png00 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png24 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png32 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png48 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png64 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.png8 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.pnm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ppm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.preview create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ps create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ps2 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ps3 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ptif create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.r create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ras create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.rgb create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.rgba create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.sgi create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.shtml create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.sun create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.text create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.tga create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.tiff create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.txt create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ubrl create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.ubrl6 create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.uil create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.uyvy create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.vda create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.vicar create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.vid create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.viff create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.vst create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.wbmp create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.webp create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.x create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.xbm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.xpm create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.xv create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.xwd create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.y create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample.yuv create mode 100644 tests/integration/converters/outputs/graphicsmagick/sample_map.shtml create mode 100644 tests/integration/converters/outputs/imagemagick/sample.aai create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ai create mode 100644 tests/integration/converters/outputs/imagemagick/sample.apng create mode 100644 tests/integration/converters/outputs/imagemagick/sample.art create mode 100644 tests/integration/converters/outputs/imagemagick/sample.avif create mode 100644 tests/integration/converters/outputs/imagemagick/sample.avs create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bayer create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bayera create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bgr create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bgra create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bgro create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bmp create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bmp2 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.bmp3 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.brf create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cal create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cals create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cin create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cip create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cmyk create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cmyka create mode 100644 tests/integration/converters/outputs/imagemagick/sample.cur create mode 100644 tests/integration/converters/outputs/imagemagick/sample.data create mode 100644 tests/integration/converters/outputs/imagemagick/sample.dcx create mode 100644 tests/integration/converters/outputs/imagemagick/sample.dds create mode 100644 tests/integration/converters/outputs/imagemagick/sample.dpx create mode 100644 tests/integration/converters/outputs/imagemagick/sample.dxt1 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.dxt5 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.epdf create mode 100644 tests/integration/converters/outputs/imagemagick/sample.epi create mode 100644 tests/integration/converters/outputs/imagemagick/sample.eps create mode 100644 tests/integration/converters/outputs/imagemagick/sample.eps2 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.eps3 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.epsf create mode 100644 tests/integration/converters/outputs/imagemagick/sample.epsi create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ept create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ept2 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ept3 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.exr create mode 100644 tests/integration/converters/outputs/imagemagick/sample.farbfeld create mode 100644 tests/integration/converters/outputs/imagemagick/sample.fax create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ff create mode 100644 tests/integration/converters/outputs/imagemagick/sample.fits create mode 100644 tests/integration/converters/outputs/imagemagick/sample.fl32 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.flif create mode 100644 tests/integration/converters/outputs/imagemagick/sample.flv create mode 100644 tests/integration/converters/outputs/imagemagick/sample.fts create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ftxt create mode 100644 tests/integration/converters/outputs/imagemagick/sample.g3 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.g4 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.gif create mode 100644 tests/integration/converters/outputs/imagemagick/sample.gif87 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.gray create mode 100644 tests/integration/converters/outputs/imagemagick/sample.graya create mode 100644 tests/integration/converters/outputs/imagemagick/sample.group4 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.hdr create mode 100644 tests/integration/converters/outputs/imagemagick/sample.histogram create mode 100644 tests/integration/converters/outputs/imagemagick/sample.hrz create mode 100644 tests/integration/converters/outputs/imagemagick/sample.htm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.html create mode 100644 tests/integration/converters/outputs/imagemagick/sample.icb create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ico create mode 100644 tests/integration/converters/outputs/imagemagick/sample.icon create mode 100644 tests/integration/converters/outputs/imagemagick/sample.info create mode 100644 tests/integration/converters/outputs/imagemagick/sample.inline create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ipl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.isobrl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.isobrl6 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.j2c create mode 100644 tests/integration/converters/outputs/imagemagick/sample.j2k create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jng create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jp2 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jpc create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jpe create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jpeg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jpm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jps create mode 100644 tests/integration/converters/outputs/imagemagick/sample.json create mode 100644 tests/integration/converters/outputs/imagemagick/sample.jxl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.m2v create mode 100644 tests/integration/converters/outputs/imagemagick/sample.m4v create mode 100644 tests/integration/converters/outputs/imagemagick/sample.map create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mat create mode 100644 tests/integration/converters/outputs/imagemagick/sample.matte create mode 100644 tests/integration/converters/outputs/imagemagick/sample.miff create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mkv create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mng create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mono create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mov create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mp4 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mpc create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mpeg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mpg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.msl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.msvg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mtv create mode 100644 tests/integration/converters/outputs/imagemagick/sample.mvg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.null create mode 100644 tests/integration/converters/outputs/imagemagick/sample.otb create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pal create mode 100644 tests/integration/converters/outputs/imagemagick/sample.palm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pam create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pbm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pcd create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pcds create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pcl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pct create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pcx create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pdb create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pdf create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pdfa create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pfm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pgm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pgx create mode 100644 tests/integration/converters/outputs/imagemagick/sample.phm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.picon create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pict create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pjpeg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png00 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png24 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png32 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png48 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png64 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.png8 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pnm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.pocketmod create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ppm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ps create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ps2 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ps3 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.psb create mode 100644 tests/integration/converters/outputs/imagemagick/sample.psd create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ptif create mode 100644 tests/integration/converters/outputs/imagemagick/sample.qoi create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ras create mode 100644 tests/integration/converters/outputs/imagemagick/sample.rgb create mode 100644 tests/integration/converters/outputs/imagemagick/sample.rgba create mode 100644 tests/integration/converters/outputs/imagemagick/sample.rgbo create mode 100644 tests/integration/converters/outputs/imagemagick/sample.rgf create mode 100644 tests/integration/converters/outputs/imagemagick/sample.rsvg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.sgi create mode 100644 tests/integration/converters/outputs/imagemagick/sample.shtml create mode 100644 tests/integration/converters/outputs/imagemagick/sample.six create mode 100644 tests/integration/converters/outputs/imagemagick/sample.sixel create mode 100644 tests/integration/converters/outputs/imagemagick/sample.sparse create mode 100644 tests/integration/converters/outputs/imagemagick/sample.strimg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.sun create mode 100644 tests/integration/converters/outputs/imagemagick/sample.svg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.svgz create mode 100644 tests/integration/converters/outputs/imagemagick/sample.tga create mode 100644 tests/integration/converters/outputs/imagemagick/sample.tiff create mode 100644 tests/integration/converters/outputs/imagemagick/sample.tiff64 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.txt create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ubrl create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ubrl6 create mode 100644 tests/integration/converters/outputs/imagemagick/sample.uil create mode 100644 tests/integration/converters/outputs/imagemagick/sample.uyvy create mode 100644 tests/integration/converters/outputs/imagemagick/sample.vda create mode 100644 tests/integration/converters/outputs/imagemagick/sample.vicar create mode 100644 tests/integration/converters/outputs/imagemagick/sample.vid create mode 100644 tests/integration/converters/outputs/imagemagick/sample.viff create mode 100644 tests/integration/converters/outputs/imagemagick/sample.vips create mode 100644 tests/integration/converters/outputs/imagemagick/sample.vst create mode 100644 tests/integration/converters/outputs/imagemagick/sample.wbmp create mode 100644 tests/integration/converters/outputs/imagemagick/sample.webm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.webp create mode 100644 tests/integration/converters/outputs/imagemagick/sample.wmv create mode 100644 tests/integration/converters/outputs/imagemagick/sample.wpg create mode 100644 tests/integration/converters/outputs/imagemagick/sample.xbm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.xpm create mode 100644 tests/integration/converters/outputs/imagemagick/sample.xv create mode 100644 tests/integration/converters/outputs/imagemagick/sample.yaml create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ycbcr create mode 100644 tests/integration/converters/outputs/imagemagick/sample.ycbcra create mode 100644 tests/integration/converters/outputs/imagemagick/sample.yuv create mode 100644 tests/integration/converters/outputs/inkscape/sample.dxf create mode 100644 tests/integration/converters/outputs/inkscape/sample.emf create mode 100644 tests/integration/converters/outputs/inkscape/sample.eps create mode 100644 tests/integration/converters/outputs/inkscape/sample.fxg create mode 100644 tests/integration/converters/outputs/inkscape/sample.gpl create mode 100644 tests/integration/converters/outputs/inkscape/sample.hpgl create mode 100644 tests/integration/converters/outputs/inkscape/sample.html create mode 100644 tests/integration/converters/outputs/inkscape/sample.odg create mode 100644 tests/integration/converters/outputs/inkscape/sample.pdf create mode 100644 tests/integration/converters/outputs/inkscape/sample.png create mode 100644 tests/integration/converters/outputs/inkscape/sample.pov create mode 100644 tests/integration/converters/outputs/inkscape/sample.ps create mode 100644 tests/integration/converters/outputs/inkscape/sample.sif create mode 100644 tests/integration/converters/outputs/inkscape/sample.svgz create mode 100644 tests/integration/converters/outputs/inkscape/sample.tex create mode 100644 tests/integration/converters/outputs/inkscape/sample.wmf create mode 100644 tests/integration/converters/outputs/vips/sample.fits create mode 100644 tests/integration/converters/outputs/vips/sample.gif create mode 100644 tests/integration/converters/outputs/vips/sample.j2c create mode 100644 tests/integration/converters/outputs/vips/sample.j2k create mode 100644 tests/integration/converters/outputs/vips/sample.jp2 rename tests/integration/converters/outputs/vips/{sample.jpg => sample.jpeg} (100%) create mode 100644 tests/integration/converters/outputs/vips/sample.jxl create mode 100644 tests/integration/converters/outputs/vips/sample.mat create mode 100644 tests/integration/converters/outputs/vips/sample.png create mode 100644 tests/integration/converters/outputs/vips/sample.tiff create mode 100644 tests/integration/converters/outputs/vips/sample.vips create mode 100644 tests/integration/converters/outputs/vips/sample.webp diff --git a/tests/integration/converters/all-formats.test.ts b/tests/integration/converters/all-formats.test.ts new file mode 100644 index 00000000..55ea2ff4 --- /dev/null +++ b/tests/integration/converters/all-formats.test.ts @@ -0,0 +1,100 @@ +import { expect, test } from "bun:test"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import { convert as ffmpeg } from "../../../src/converters/ffmpeg"; +import { convert as graphicsmagick } from "../../../src/converters/graphicsmagick"; +import { convert as imagemagick } from "../../../src/converters/imagemagick"; +import { convert as inkscape } from "../../../src/converters/inkscape"; +import { convert as libjxl } from "../../../src/converters/libjxl"; +import { getPossibleTargets } from "../../../src/converters/main"; +import { convert as vips } from "../../../src/converters/vips"; +import { convert as vtracer } from "../../../src/converters/vtracer"; + +type Converter = ( + filePath: string, + fileType: string, + convertTo: string, + targetPath: string, + options?: unknown, +) => Promise; + +const converters: Record = { + ffmpeg, + graphicsmagick, + imagemagick, + inkscape, + libjxl, + vips, + vtracer, +}; + +test("converts every saved PNG target for each converter", async () => { + const possibleTargets = getPossibleTargets("png"); + const inputFileName = "sample.png"; + const inputStem = path.parse(inputFileName).name; + const inputPath = path.resolve(`tests/integration/converters/inputs/${inputFileName}`); + const expectedFailuresByInput = (await Bun.file( + "tests/integration/converters/expected-failures.json", + ).json()) as Record; + expect(Object.keys(expectedFailuresByInput)).toContain(inputFileName); + const expectedFailures = expectedFailuresByInput[inputFileName] ?? []; + const expectedFailureSet = new Set(expectedFailures); + const failures: string[] = []; + const observedFailures: string[] = []; + let testedTargets = 0; + let successfulTargets = 0; + const originalConsoleLog = console.log; + const originalConsoleError = console.error; + console.log = () => {}; + console.error = () => {}; + + try { + for (const [converterName, convert] of Object.entries(converters)) { + const outputDirectory = path.resolve(`tests/integration/converters/outputs/${converterName}`); + const declaredTargets = [...new Set(possibleTargets[converterName] ?? [])]; + + for (const target of declaredTargets) { + const targetKey = `${converterName}:${target}`; + const outputFile = `${inputStem}.${target}`; + testedTargets++; + + const temporaryDirectory = await mkdtemp(path.join(tmpdir(), `convertx-${converterName}-`)); + const actualPath = path.join(temporaryDirectory, outputFile); + const expectedPath = path.join(outputDirectory, outputFile); + + try { + await convert(inputPath, "png", target, actualPath); + const actualSize = (await Bun.file(actualPath).stat())?.size ?? 0; + if (expectedFailureSet.has(targetKey)) { + if (actualSize > 0) { + failures.push(`${targetKey}: expected failure became successful`); + } else { + observedFailures.push(targetKey); + } + } else { + expect(actualSize).toBeGreaterThan(0); + expect((await Bun.file(expectedPath).stat())?.size).toBeGreaterThan(0); + successfulTargets++; + } + } catch (error) { + if (expectedFailureSet.has(targetKey)) { + observedFailures.push(targetKey); + } else { + failures.push(`${targetKey}: ${String(error)}`); + } + } finally { + await rm(temporaryDirectory, { recursive: true, force: true }); + } + } + } + } finally { + console.log = originalConsoleLog; + console.error = originalConsoleError; + } + + expect(testedTargets).toBe(558); + expect(successfulTargets).toBe(415); + expect(observedFailures.sort()).toEqual(expectedFailures); + expect(failures).toEqual([]); +}, 120000); diff --git a/tests/integration/converters/expected-failures.json b/tests/integration/converters/expected-failures.json new file mode 100644 index 00000000..bc1399b7 --- /dev/null +++ b/tests/integration/converters/expected-failures.json @@ -0,0 +1,147 @@ +{ + "sample.png": [ + "ffmpeg:265", + "ffmpeg:266", + "ffmpeg:302", + "ffmpeg:3g2", + "ffmpeg:3gp", + "ffmpeg:aac", + "ffmpeg:ac3", + "ffmpeg:ac4", + "ffmpeg:adts", + "ffmpeg:adx", + "ffmpeg:afc", + "ffmpeg:aif", + "ffmpeg:aifc", + "ffmpeg:aiff", + "ffmpeg:al", + "ffmpeg:amr", + "ffmpeg:amv", + "ffmpeg:apm", + "ffmpeg:aptx", + "ffmpeg:aptxhd", + "ffmpeg:ass", + "ffmpeg:ast", + "ffmpeg:au", + "ffmpeg:aud", + "ffmpeg:avs", + "ffmpeg:avs2", + "ffmpeg:avs3", + "ffmpeg:bit", + "ffmpeg:c2", + "ffmpeg:caf", + "ffmpeg:cavs", + "ffmpeg:chk", + "ffmpeg:cvg", + "ffmpeg:dfpwm", + "ffmpeg:dnxhd", + "ffmpeg:dnxhr", + "ffmpeg:drc", + "ffmpeg:dts", + "ffmpeg:dv", + "ffmpeg:eac3", + "ffmpeg:ec3", + "ffmpeg:evc", + "ffmpeg:flac", + "ffmpeg:g722", + "ffmpeg:gsm", + "ffmpeg:gxf", + "ffmpeg:h261", + "ffmpeg:h263", + "ffmpeg:h265.mkv", + "ffmpeg:h265.mp4", + "ffmpeg:h266.mkv", + "ffmpeg:hevc", + "ffmpeg:ircam", + "ffmpeg:ivf", + "ffmpeg:js", + "ffmpeg:jss", + "ffmpeg:latm", + "ffmpeg:lbc", + "ffmpeg:loas", + "ffmpeg:lrc", + "ffmpeg:m2a", + "ffmpeg:m4a", + "ffmpeg:mka", + "ffmpeg:mlp", + "ffmpeg:mmf", + "ffmpeg:mp2", + "ffmpeg:mp3", + "ffmpeg:mpa", + "ffmpeg:msbc", + "ffmpeg:oga", + "ffmpeg:ogg", + "ffmpeg:oma", + "ffmpeg:opus", + "ffmpeg:pcm", + "ffmpeg:psp", + "ffmpeg:rco", + "ffmpeg:rcv", + "ffmpeg:rso", + "ffmpeg:sb", + "ffmpeg:sbc", + "ffmpeg:scc", + "ffmpeg:sf", + "ffmpeg:sox", + "ffmpeg:spdif", + "ffmpeg:spx", + "ffmpeg:srt", + "ffmpeg:ssa", + "ffmpeg:sub", + "ffmpeg:sup", + "ffmpeg:sw", + "ffmpeg:tco", + "ffmpeg:thd", + "ffmpeg:tta", + "ffmpeg:ttml", + "ffmpeg:tun", + "ffmpeg:ub", + "ffmpeg:ul", + "ffmpeg:uw", + "ffmpeg:vag", + "ffmpeg:vc1", + "ffmpeg:vc2", + "ffmpeg:voc", + "ffmpeg:vtt", + "ffmpeg:vvc", + "ffmpeg:w64", + "ffmpeg:wav", + "ffmpeg:webm", + "ffmpeg:wv", + "ffmpeg:xface", + "ffmpeg:xml", + "ffmpeg:y4m", + "graphicsmagick:8bim", + "graphicsmagick:8bimtext", + "graphicsmagick:8bimwtext", + "graphicsmagick:app1", + "graphicsmagick:app1jpeg", + "graphicsmagick:exif", + "graphicsmagick:icc", + "graphicsmagick:icm", + "graphicsmagick:iptc", + "graphicsmagick:iptctext", + "graphicsmagick:iptcwtext", + "graphicsmagick:m2v", + "graphicsmagick:mpeg", + "graphicsmagick:mpg", + "graphicsmagick:xmp", + "imagemagick:ashlar", + "imagemagick:clip", + "imagemagick:clipboard", + "imagemagick:jpt", + "imagemagick:mask", + "imagemagick:thumbnail", + "vips:avif", + "vips:dzi", + "vips:hdr.gz", + "vips:heic", + "vips:heif", + "vips:img.gz", + "vips:jpx", + "vips:nia", + "vips:nia.gz", + "vips:nii", + "vips:nii.gz" + ] +} diff --git a/tests/integration/converters/ffmpeg.test.ts b/tests/integration/converters/ffmpeg.test.ts index 4314bb10..8b102dc1 100644 --- a/tests/integration/converters/ffmpeg.test.ts +++ b/tests/integration/converters/ffmpeg.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/ffmpeg"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected JPEG bytes", () => - runGoldenConversion("ffmpeg", convert, "jpg")); + runGoldenConversion("ffmpeg", convert, "sample.png", "jpg")); diff --git a/tests/integration/converters/golden.ts b/tests/integration/converters/golden.ts index 3c0c3b4d..d0696f8b 100644 --- a/tests/integration/converters/golden.ts +++ b/tests/integration/converters/golden.ts @@ -14,13 +14,15 @@ type Converter = ( export async function runGoldenConversion( converterName: string, convert: Converter, + inputFileName: string, outputExtension: string, ) { const outputDirectory = await mkdtemp(path.join(tmpdir(), `convertx-${converterName}-`)); - const outputPath = path.join(outputDirectory, `sample.${outputExtension}`); - const inputPath = path.resolve("tests/integration/converters/inputs/sample.png"); + const inputStem = path.parse(inputFileName).name; + const outputPath = path.join(outputDirectory, `${inputStem}.${outputExtension}`); + const inputPath = path.resolve(`tests/integration/converters/inputs/${inputFileName}`); const expectedPath = path.resolve( - `tests/integration/converters/outputs/${converterName}/sample.${outputExtension}`, + `tests/integration/converters/outputs/${converterName}/${inputStem}.${outputExtension}`, ); try { diff --git a/tests/integration/converters/graphicsmagick.test.ts b/tests/integration/converters/graphicsmagick.test.ts index 286ae46c..c945f27c 100644 --- a/tests/integration/converters/graphicsmagick.test.ts +++ b/tests/integration/converters/graphicsmagick.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/graphicsmagick"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected JPEG bytes", () => - runGoldenConversion("graphicsmagick", convert, "jpg")); + runGoldenConversion("graphicsmagick", convert, "sample.png", "jpeg")); diff --git a/tests/integration/converters/imagemagick.test.ts b/tests/integration/converters/imagemagick.test.ts index 1d25aed6..2baa44fb 100644 --- a/tests/integration/converters/imagemagick.test.ts +++ b/tests/integration/converters/imagemagick.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/imagemagick"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected JPEG bytes", () => - runGoldenConversion("imagemagick", convert, "jpg")); + runGoldenConversion("imagemagick", convert, "sample.png", "jpg")); diff --git a/tests/integration/converters/inkscape.test.ts b/tests/integration/converters/inkscape.test.ts index 1ccd1597..d0b4d944 100644 --- a/tests/integration/converters/inkscape.test.ts +++ b/tests/integration/converters/inkscape.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/inkscape"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected SVG bytes", () => - runGoldenConversion("inkscape", convert, "svg")); + runGoldenConversion("inkscape", convert, "sample.png", "svg")); diff --git a/tests/integration/converters/libjxl.test.ts b/tests/integration/converters/libjxl.test.ts index 0b134be4..72475793 100644 --- a/tests/integration/converters/libjxl.test.ts +++ b/tests/integration/converters/libjxl.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/libjxl"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected JPEG XL bytes", () => - runGoldenConversion("libjxl", convert, "jxl")); + runGoldenConversion("libjxl", convert, "sample.png", "jxl")); diff --git a/tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s b/tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s new file mode 100644 index 0000000000000000000000000000000000000000..1953200c02c34893435009438bb671f0d16ffb77 GIT binary patch literal 954 zcmY*YziSjh6yBU9ML-A|A!v#rLO_zc+ugfdl7kT>grreYCFL?ZJ9|6a?#|rIT(Xxc zg@p(<3Zg_%5VQzZB36QpRj|=Q1F0+o8}kPwB)+-x2QKW)_rCYuH}l@xbsT3xo1V;c zlsNF%J=44ZSl2u%hAingu=xY@{|fxM+;K|I&VWxcA!2}IS)4?_L#@P`QN;3-#_}a+ z0Wk0-*h;5EHo|enO&pm4?AvykFscjs&M>^zC2ad!{s0Ez8|c< zeK`9S9bEl+RQQcLDkCZsLtbMJ;A#b^>dm#~m2w^3SYHBP#3(qHgzTj(Hpq9~TG@Af z8=V*dVcM@*z7uL#wuTHQ)wvJ_&3G+gAmi6{vP#U4^D#x)eNFcq|oy{6lA z5y?r~(+s;st?3q?S3?=Y2`iB9hJfag)ICUrHBb@uDlR0!f-+vPD6oniWCV)jErz`Y zqKOh22_V%&MzJ*I8qh+q5K#kwb~5b36-cx#a)y0x*7HzIv<60v#EMIM&SI zIx>lZ1gnz@(IyEP!9Px?oWfQ95H8A9{|L%6V(c||ZkS351OXqWT}65U6`3RkYziHM z$@3f}AW#t-6DyK24ZR8j*#pcY>;ondk+z612szRA5UyCitS!b{i3!0cB+G-Akl-DV z5>nf&2in-5bAQ7i<2jf}QGx$t{<-)K7V;}`t(t!{%myp=>7HmdwWy2cK6S3f1aQCcrvpZeCxcp ba4Ft%Po6xuGQA-0e%L%7otoTyU4HxvnJFWm literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/init-stream0.m4s b/tests/integration/converters/outputs/ffmpeg/init-stream0.m4s new file mode 100644 index 0000000000000000000000000000000000000000..be2a93b1707affbf69a75b81d77a92277c25d268 GIT binary patch literal 794 zcmaJ;u}T9$5S>dvK`eqqP`DyO3PBAfYU+R%DQp!4n>D*JM{aY+?Pf7nmRi~geu4jy z&c8(>dNsm4BfEp6Td_^|5%W`}WLYMwsjNPbH^pk+d{j09C=YLgorz zX)2+mJ1lZWl6wsE70L7e-mn{v#x`vAxF1=B&UjqRFvVl!L7NS@FG%B5r8npzC>v>; zribFCcv5qDBuGO>^~GW2SEl$?=`$bkoziMH5Yk*T)4_pR%l1q%CH(a^LRw_M6-hqz zD{+jZfnE2V4_JtwVfh^6?fu5n6+jWtt@aYE5eq|luW#G*l8ILz YbU=r?oY~E``5`mi=1#3%t8X{H0It?!Z~y=R literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.264 b/tests/integration/converters/outputs/ffmpeg/sample.264 new file mode 100644 index 0000000000000000000000000000000000000000..b433450f1c531d4ceb07d3daa2f48ab1e935c357 GIT binary patch literal 799 zcmYLHJ7^R^7~UW%90(E>d=*24fF!p!yLY)H2O~%fxkj;y~ogSP2$d1wpjXKq>`61k>0h82?FpG&A4-_`dlc<2cSx=ciM-wKDc@ z*>UzcaGW@JeR$1*K=S>|>-Gfz2lnsmtZdAFd--*}{o?NUC$xU%$7bm_8>oty)Es%u z34m=ET(ygrXXmO7bbfvYVi9K$n2~Cb^4K6B<9gM{zRgaIQLS37-|xGNBH}Woxhr+2 zW_8`fWGUoGWrWO&7GgA{jCe@%nAB0k!&I^^@mjcr5zT2jC^*4oy@gB9tD}sQgqNsT z2mwtZRSbX%XP_hExfn=rpiGoJ3ap|Bj6l=8!->~KEYUKf0Z=_;G*44e0GcYNB4z-v zUPdsKK%*s@bK-mBo`+&um_QX>p=`#UKu-lSjtg!`1DQkv!Rn+^c4-1e@ZVRYf-qq z3(zFCWol|Cs(FzBU9;d{yEd*FVLC=x2xGNvfkFJbi&4)uL$KQfsI2hrO-s_821jAI zf*A@0JA(fJD+DdtgZ0~G+AllAuU&P{?tDDS4$Jq;&u7Kcqhl3x`^vP}ZEVeLJbH3u z^w+&!<6&if^VPYvo2w(2R@M$JeV9D{c6+QHeC|CSJ{GUy?FV;GjZUc>Zx**IBc~Ui HRqy`>9$OQe literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.a64 b/tests/integration/converters/outputs/ffmpeg/sample.a64 new file mode 100644 index 0000000000000000000000000000000000000000..410eb3b1850b8638e160dce837140599a626f906 GIT binary patch literal 4102 zcmeIuF%bYD3`5b@89ot!1co|6LOWCd11w;o_p{_O=1Ds*J!Y8O`kO`o0R#|00D<}f WD|~0>sQ;9Q2q1s}0tg_WDsllQAnvpP literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.apng b/tests/integration/converters/outputs/ffmpeg/sample.apng new file mode 100644 index 0000000000000000000000000000000000000000..f3ab952a1697e68c8129bf57731d98f850c8a32c GIT binary patch literal 455 zcmV;&0XY7NP)OJc+>b7H8eCt0P#PP z3;==Ozke|-UN|Q-EhFy{kXwS&03P9g3}4+e1(gB`SO|J!o@QII1P~2 z`pppD`GsM5DG$SxhDl(toQ61t$nGx;E6aHpo?c@`QIBE3%R4L#yC!ilyt>Q6(9ts) zECynO#6WWB07FDZQjVcDy@et7Mim2#+Hr`hUaA1a+8FY0)i6AG_!z$dqyh{Bo;-iV zP(3q(;pq!D2Ju^#V6l(C&N4JE4rh4(6Xbtp{04}t{9$m*`^ND0F%v^YNiJBdv^SQ) zG4(sc#}`aMOuzt8D9=pbXZQ+?viOudu-MN(tPBe>`4~REVIu4W5CCZg0Z{xy03*;v x%-EFDAP~tmKv7BQvZb}15;2+-6jUz5*Z``=h_VfInppq<002ovPDHLkV1hwB!%qMJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.asf b/tests/integration/converters/outputs/ffmpeg/sample.asf new file mode 100644 index 0000000000000000000000000000000000000000..ba09be5291e8f5295a12de793fe1815efb3b7677 GIT binary patch literal 3819 zcmXp|+f>?@c3yDVO@>trN#}ANGcteyE0APlT6kx5kNe8=f_+aI4)7=hr)EGTG04|^ zP@x99tM@j}WrP~S;Gl3H%xsWi11pf>fv95wQVl>h2s`jHGi+tvAFl_p=P|?{J*aVl zmoBf~1rmP-5r>%Ku;jue_Q#h5r+;8ra58R1KoV3nBZCG*ID;>PK7%Vm9z!xiK0^va zCXkiR5X_LuPy&PyUNKm`6oU^#B10KN8iN^wF@qk1As8Dl7y)G`vftUh9m(ECs0|0+ zOYZTFJ}P(i<)vT#ef_2I${K-Ce)h*7Z+jm9=lPBORjp$~({a12 z2@67Eq8nBxMs?fF&x@SAW%bjwu^*>1pJZ=7_~P@a_8swGlfT+;>u0wPWfCfSbeGlG zM|1nBO>cK>xP3}$-p9Vh*XHsX{NtWsRI~j^^x2b-czP_L-W{bzLtr!nMnhmU1V%$( wGz3ONU^E0qLtr!n1~ddFa4;Bee0pB6^9!i=<9Rv^hie+9&49~*I;{8s0QeK)N&o-= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.av1.mkv b/tests/integration/converters/outputs/ffmpeg/sample.av1.mkv new file mode 100644 index 0000000000000000000000000000000000000000..d89f7181577cccd9d1a7ac9da2e3bccb0914aaea GIT binary patch literal 1262 zcmb1gy}x*|Q(GgW({~{L)X3uWxsk)EsUtVBq$s~QJJG2fDAd}>BoW+@&d2})EV~4K zXO|q<-*S2Jp2fbqyMtG^h5W*7+S(gpuz4zVS1C$dAIh-E6ris}b!j%c$ z4U}wRnfC@_8bdJHQ0fvO_nh3{qN3(KOY8c^W_~9J--aHa#IiIqV?9GXLj$95M-*=H zk_j`H^7!A%TJtyLZTkA(ch&E?baptnKwJg#k5kzGmemT~)$1UxW^%vY$XI-|qk6(K z(Tl%Sqvtd-C~ck7T$-2C(a6x&8W!&uX4u@wsQkFOg()eD;lYdzjRLzG1!greg=}hM z3Ej{Uy0MWVbY~+|=(|P+SV%B2FeERU)TqF~z{LY380Y`|`q{zRfdeYfcp2iHQF0iC z04R4jwCr!GtTg^zTs%MdKtuY8nXZf5UHzQ>U0j1)+ELSK@y+A|-N}e_mwsXivf}B$ zG@cAg;|e*MNs0Nnx`}0m=_eMtF79v%4RQ?e^!IaVpKM@Y1x9)XCI%3|An&}b)Zy^{ z7UvH^vd(+O^_WsQk{faifKOa6nJNHnXEB*_Iv%+xL(_*<)h%{+O%^VkaPN?7$o%|u(gx;@OJW~*WFLEcI`MIqD$}CqX->a8clOvu*4uUKJ70VM=8Aqr zo8O-gpP!w3sLmDtg+p?#lKBj);7q#-y+Ch$$<5C%19~ARw=5$CNFxE}7eI~%10&E^ zNTR45pahB}1A_yyT1++*&`$Z1qQq>VR7^=W*iL37WiZn;ki;NNm<&t;jqd;w7l2|0 z29?y5l42lFCN-zH1SACnARQ2M!Fm~|=cZ&P0>u<^Q_%fx1Qcds2t5L%7#MUjQgVvG zEFe*qnF5M(I0yss^F0#tQgTv3Y8ahzGxO4b43V;2u%XD#R7ruz$)pseg4BQjNS>#( zC`SRpW@IWZNy-7T=M|R}!y*KvrVo_%fHVjon+XvS0D9d6$OK^!U=;UBEK4>s)-%*I zG%!-g$xKSj&(%#VgPFjHp)1I3c_p<*EQ20)xxno^Po zq$6`v!8Ax(5jhHg(N>gLPyh-gIMB(2#IwrEl6;VXGQb=OG6ZBO128PoU||6OME1Aj literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.avi b/tests/integration/converters/outputs/ffmpeg/sample.avi new file mode 100644 index 0000000000000000000000000000000000000000..2c8a7f236b1f6db67a885746f6353eac1a2cea4f GIT binary patch literal 6006 zcmWIYbaTrSXJBv)^HlKh3=VlC$iR@1Qk0WemYHF}z`)=zhk;>5B9H+D0-OvCj1VT2 z7GMwni9^MZDUexHfD*+eML9qWHmfW%rP$3kzyw(x$UI4?0En#tB>n>dOby5ep#C%s zkQ@-h>|KPgsF))Ba>j#!m790kS3Xg`sXb23W5CD}BCcx4%H@_?sG?EG$ zp#_cuZvaw^TRVjzL&A&-3`cr97|t@ZFo^)iS{XM1%aCM58N#@kL4X}7yiFj%x9N(= z;tws#9Eq$Ef1EPPP6f(sIaZ+P^5(@4iJBOd4!K2EK`-uqUHJX;&H1Zzb#n@4OQ%F8 zoHer2XVrM2*!awjT{{0C^MN+2vx4i}*O>82vTA%>cx$1;p1uA2E^47a?ELez&l}lh z_NJ8B&o?^gWyj%U(Z+t2|A<+;&l17cIr&bae#ehLIQ;0Lg5wv#OXA1&_wd*6yYnSD zF*$k4t=mjD*$!T45onTdN~jU|qq@mn;Bn5|MIvGM`Ww63A2~e#;Ndf=zO?Cm{`Z;? zSrZH2UIU$i)W%2lUteeiHg0U1c)Yc0uY^>nP!-qnV9D5Xy^zO`k9+rk_eIm0{x7XoFWL5fuSHX zxdg@r(E&hyX;G?2VqQv4Dp(a?L1sxVSP3JLl*`P?PX_T^7#J9V5JWOCDgx=vK&+9O znFn?PSVjuSNo4{GgLsK$28Pc0Ir(5SvoZ^c3V`C?nFY!DKw2cTxF8jz5C{ZdxFEA4 z6C}XQ!NCEfcoNGDof{Q^ECvSQhS#v!`rGPDa#J`4#~Mn<}<8PH-C)Sm0NDcP-PYj+^Tf81sHv>a{Oz>TG z3Bmuw;Jn!2JA+xjsHHTv-TYt4LF@mK z1N*>O(bxFD*qN69ivA`9^{dH={#S^#{jVk~@;}_i4UARv75>YoJO5WPP#~z^#oX}! zi6e*pJDKYLmn-rDV-Oo829g8C4?g!(svn#CL4E=I3FtRM_G1e_P*{S)6d1OI^n>J8 zwPnHTVDX16MvQ)t8eG@}m>w4OH208`esyKV{?BNxTGi0dz(lHk4N0N@on^U)_s^ft dfvy+CpHy4A9+-Fk;liy&nb)rFSS5t67XV5gKAHdk literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.cpk b/tests/integration/converters/outputs/ffmpeg/sample.cpk new file mode 100644 index 0000000000000000000000000000000000000000..5e4fa2dc82b7b0a11f3ec4c6cc0bef61b2f10735 GIT binary patch literal 404 zcmY*UO;5r=5S?WT-4-YuM?oY8i5@g~sMW;8FG6CfiE%wOy~)Kt;Dt27|4~o=5n}i? z9yp7;q)tH&O!DTv-R#?WGq}5d0D#An0IVLsLB`)=6LLtE1NUPvnP(zk0n9z<5lg tl+=FI2#t;@VI54H;lfOVCw{q+O`z~91xwbzcF;i-SS=RIfAdC$dv#@Z0#0N`$z~;tLvC$A1tRVoZONarbwUgF+1*iVQg)@skChbI+n4eEMazRl)v{RWSmpH-fOCVjweuWApCd(y!yB^uPJE*ncetrT_a5906kx z8zcsjBcxwcPVK*Ktipd0S+)OeKH*>tVuQp$a)k67n!EfzbmYW;eN(6ZUPW?X3}S=C zKytL!kInrG`YQjO)8+pw7^o1mA6xht`zro#IV1Mp#9xu1evtoU(Be-_LG8basmgyb lMZ)0+(oYEEi+@6TLGrZFUs5-512FIYCk7V-^Exd30suVvukQw&Q@p-UAH#A20#M_cLE%7zLvt zFd72GEChf#`xoOd^V6tzMnhmU1c(a(Nd3 zvqKrgHm16!2?rDoE?qK%;er9zq=^TTeARgWvYel|{q41BZvXul8fGyiNHiES zHn1&_U{hgwblQu-gy9H#q=MQDrll&3pB#+U6u71^FUmAoB5@~Je zVD#W@&||1$oWZ8pV9ju4frOY7qrInRfk45fNxlpj60DpV2MpDO-D;ZhU;Ivg<-Pdt zBZdjg4m=EU3`vX=5=0ozED)Z?>fmRx{|9HosY(OJjV3MLevA!?#_C_#l$U?ecyr=* y)QV76Kw{AWkW_Pigj!*h_FP{(7z4k?rj6yS4k)by{g(ua(^!v~uq~T6w^#l@0``UPrTFrH$G>{hRFr z+Tl-IxYd7NFRLHFf1VqY$Jo5+0<*I>3Zm_DS!Eu*38sLzYvoi0ar$l=EI-ijRNGMi|Ac$F?d;rMetw51=uzSWOhfATquGY``oi7SnO!tv*P zXpanqbn*EdY}Q4ZAGY}g7DdOO^`U*~@!K5ea$Exr38n#pkA>B?8z7Ljb11Z_PpvcJ zkZL#%FV}Z-#3X}E+SMFvr#AYq&WJ;3r3I7)h6^t}0LRlThe8{DSXaz}evWFuA-1vw zNOF~pEp34_WQq!H>Qn2CI5aQ+$&N7R!M41>#w@1*g*N)I&WJ;J^EkWpI|(AmAiKzn z019pNVO=o?`Z=xvhlKJrc+*{6N_i8uKayZkXrmA7j5s{a^g_VY$-ThrgC{J%QlX7L ztTW;eU^-za-N6krZ7{cZk_v6~VO=o?x*b{LKBBhhf;Yl zysizLn0*782| z*FVEutoz82L#cJL|5`Vsem8T6uJ!2hf^Nrazyb4ruI^qs-rRRHX1xz^F2oe$brSP` zd}Rk6Z|=K^zbCE{sifJE1ODFanVSXQ&CupB8=r3k+(#A92YMW-5eH;ZNk;nzWKl^* z`v)9rCFSoQ=y7a~1EI&!H4gOu8T5Yz*^TXV*jDkZnSU0=GkR`6oGbr&FbZzva#d<} kM0NY(50*cJbL4DQvYwdK#b0O+!JOsYs`SfGAKr@p4?hM4l>h($ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.f4v b/tests/integration/converters/outputs/ffmpeg/sample.f4v new file mode 100644 index 0000000000000000000000000000000000000000..bdc72216db121b8ea365addf4d0c32197303d55c GIT binary patch literal 1564 zcmZuxPiS047@tirN>B(jg;aAGYbcc@oA=&sw`uT6C5G-n#fvF|@R*%9FYmGM-_Fc# zc5}+XLlrz!K`Idx1VxG`5l@1LdJ2N*K?}W9K`e##;-S#c^*3*KlQlTI^S^73 zqov>J&FAmk?>e zuUTsrWhsk$O1M_HvSxK{yFwG;hN4SVy8(2b=BkHKJU!{VcG*G@9yE!%!uL!@8xfvl z>6UQq8s(wP66PV)rdo?PZ#0aMz`RWr(s#~?u~ z_p%^RLc3L}Lx}*BC(g1a3!!*NoQflkt&9kZrm|RqM+wtr8&Rr-j2WE3H{!NrJ&$Ke z&NOt63Terr6e-{+nehoEON2tL8eZN5j(pbvWymagHFP}d1=vu4#+4Sc9A70vj|N80I_x7LK z`StwVPX~*2?~m3OCr$>}t%FZKeD=(0{@#zBhtsF$JKrpSjN5-N$+8ZXh?7p}LynEf zzoDEZC1U*o5(I-7MCe9CI9HJ3Gb=;K(vE9Mdlver7lc zSrEQf(B?&~@Rk?DL=5s4v8AhtA2Dz=@sFR~0X;$9yivq0hkh&zgok;XN7%?s^LE!+ z>c_(PlwL%G1Ay61QY0PU=7K-4&HK1TCK$umpKQyR4)KA~jTrcv(rVNY<8x*B`2sv% zaxgRa)gjF^V|>*CbNo5i?}IWQ#r4uZWV(NwoZN!Ey0`fAF20WD-ko~<-4pvIG8Nwa z^G5xZ{(}c5$DGndVGTB`V4|leH1^94z!>s}au&9ofobB=&<>7g1FrD1fLYtu4Dzi+ v6w;WV8!tW@CRv`F`W%j>Xwcz>uXJV-&f~Lgl9)}9S6L^hRmyhRww!+ff+TTF literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ffmeta b/tests/integration/converters/outputs/ffmpeg/sample.ffmeta new file mode 100644 index 00000000..e18dcfc2 --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.ffmeta @@ -0,0 +1,2 @@ +;FFMETADATA1 +encoder=Lavf63.1.102 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.fits b/tests/integration/converters/outputs/ffmpeg/sample.fits new file mode 100644 index 0000000000000000000000000000000000000000..c20ce0474c9471f6145e6ac84be24bb835463e8a GIT binary patch literal 5760 zcmeH^y-Ncz7{-H>Yl|KgyqcD?Cw@>{d+Ksv&sMq8*5VbcU`G)L73#+zD23`Exaj02 zIJ)TQq@o=Py6U9=ikieEwqSb^U4*>D3%|V2J$dt-V`p;dB!njXrt;sMxg1$`K4%xO z-?)oXY@Cf3YzIkAI3o6ei;DO~uwP`~r)kg#_^94` zn7F;oJkBuo7u9q+yfn;stZI}>Ms=(i6TMpWvpMmbc(54z@O`LprVDF_4g0EVrzKS`8=x#vvG*o6~wU#)+Ec_gl3@ zGbVb}*qr#G##qPqp~jgm96M{+cj%;C&wU3s7{M`p?*0=&aQV*b0-wBce1G|8O#c7Z j{^xBC``@=?1Q&0g_3R}mn@m6^AQO-Y$OL2pKThBSoXfFc literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.flm b/tests/integration/converters/outputs/ffmpeg/sample.flm new file mode 100644 index 0000000000000000000000000000000000000000..303e1001f07c2f0db44a2849852564191c546e94 GIT binary patch literal 1060 zcmZQzfPm84N$b6WQ~%+@nMJMFR_(Yd1XYef1;^yy6_il_j|&S)YW&YF>pVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I d!NtJ54okm5iFqkNHY1oXz#ssmC1G+f8UTo!KJ5Si literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.flv b/tests/integration/converters/outputs/ffmpeg/sample.flv new file mode 100644 index 0000000000000000000000000000000000000000..11fd1b2af6989bbb552c7e6c51c77ef5e342fb25 GIT binary patch literal 582 zcmYL^PiWI{6vy8$N%LolM$u@$9O18?SOkZCB(zLEiSGL zQhU$Z><=0Sx#JDTmZ*myFk+NUx7$E{bE=m6x>5FZ+Vzaq2+INg<)JAb5vWrD`SQ_P>!ci6|;ejS8_Et zRe$jPT-_fHm*!XqAHI{pp465I5%*QVU+_?=s{jB1 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.gif b/tests/integration/converters/outputs/ffmpeg/sample.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbdf1f58b454a208ab1fafd5406bc66b1b26a55e GIT binary patch literal 1003 zcmW+#&x_Xu5Pe_$9KNd^wpLNQxaO>^6(XVFj}H4SwD}5!t&UwhBm{bxlXwv9prRmq zaonR_T1bh3pkVgUt=L0&>^6ia|Aruff$7_KPLJWedGGM%v+2b%XKyTG5&s;bLM2?HB~}t8SyCl{6P)1+H+aAkUT}~TIg=~7kq3E_7dhC8o!OP$*n>UU ziyi8u&g!ae>Y<+Mr4Dm4XLB_-^Ds~IGDkRtbGU|Ec!Xzog(IEPIbG8&J<>D1(os(3 zT(0F-9_3kH`4}Z@is=Y{=fKsa{Rl$7Os!i_JYQn z%WJ#v`>|_pjd;2V{$rSembV{o?byQV%fTM)+nFw1dHDD0mz%Hf_AUD5<_9;2<&^`M zHdaTI$@04&pS%9!%G$nr(^I$ZKEJ(ZXY2gZlRxeBtMvyfOW%ywPmaFA^MjWr?>)Xa z-23U^#0L}`1SI}8+&K>(S`Tz>g4nF;AcM^ K+WPH2aQ;7Zk-&%m literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.h264.mkv b/tests/integration/converters/outputs/ffmpeg/sample.h264.mkv new file mode 100644 index 0000000000000000000000000000000000000000..0ee004ca7dbc21b397d516b82129da0be02fd210 GIT binary patch literal 1400 zcmb_cZEO=|9KTjJb@644%^)uNWJ^FDYwz09jm0xtU&0pMX6Rm`UoKCtPuokcch|ey z*79k$Rn~0~R2F4y5pYC;Loy{uU?E+iB$&m-XyPOxQ6v!zhWVCAgjoMi%S66=xqI&a z`n&({_uSp4;CFL#zTKA1_a|JxS?heiTMzk0a!G9Js*%9HF$leG**AuUV>X5!Wr6jb zGv-o0TOOTEb}mka=Cd^&$D^SW){&C;M9;|tc&nX@dmvZU^Jy$}V#Kz$=lSfh>86qAS3Vkj+}GMUyys;+81=dxoP%Rs{cZQT#?d#b&s~3{ z;5lzjOlb>3`B^J4o@))1rlNdW59G6D8;-wl^6u2*E0)c;klWIJy}s$`D|pso>Q2v& z4k(eF#q8eKCv?6N+~IL{gu0z=eg09)R)2LgYY)H1d_T2dRi3jd4_fw~kF9mR3)$YY zmaX@u#jNRJXBhFl4{U!h6@@EIO$_dD&NO^E%rFlyusr$Tc-69vDUaW{`dNFRaO)OB z^=-BCS>x5wh+!NOmxf~(r-O52!7hJyAh@7adUv+6njYw2=f;jIsFxwpva#GzIJqSdDT!e^_@T*!z zCQ%c)Sk~R>VqLU4Zkk$)(>XLW-5fYYFF~M^!zye_f%Nc|4Y}(zzra8`yl7x?wG%^OlU^OAl$UrNsf*#>H2jvY5 zN=j)G5hx-D9fFRP7~wfD663m>!~(Q($kd4}O9oiY>E?)Nf+41oJPRY>$SzeOyo=k) zaVUxnQ_zfrq|u5JKuQzTXw)Dk??GlM5I{U3`0)Uh$6&P4YH-62CWH_0c_s2jlF9MNl5`086r`LH~=JB zI;M`PqB=3+(5{QZzjSF{7kN>SqGT9krL@4|U2X@9Qj`qOI=opX9R4bA^>nVx{`k@adrRVRb_VdaHjsm+;))ae408 zhRuH;NO=xd^sO$vxV(41u4`ub(Oq9RZT#X+L%Z-p>iw#k=sbI8cK=hGo3)7xgSRW{ lY6nj>PSbzgJNfL5^)DS>+;_@i&P>2R_SX@6^)J@L{{TWY*@^%F literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 b/tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..930c2422925f1c17233754c0935d963a88371520 GIT binary patch literal 1584 zcmZuxPiP!f7@yr>l%No53Q==-)=(BSU57~agh$qYMx-oAO+ z?B<1Y7XizyMVp@qfj&h)t!HVx`0I!$WCbq!+oh%i0!#ZnOEa16zWZsP=d6Wry z(#e7#7us$y9V!G+o;b_8JcQsJ>GC-8u$8gGWT`4X;YA78w2dg$Ld6_T(7W-L;zP&F z63I1W4;|8qM=4UkQE~DK6i-BsUb&7O0!O~x0OmfIRD|oe5zpx(krG8&+alTwwF_G& zMe1y364p{F5!w|)^1*_Y-d+Fv!pFVo}{(HUFhcg?uzkO!^&1cPm#8xLJp9|ux>dK#28$z?emteET<1q40QxbmRsJz%Mz@TUo8WKlE&Z^I zb3y0su?Js2v0pK!!@qvJ-g$0x=MF{A;dqw~t!_wCfaY^uG@CH(4KL=5=A#CW0O&w} z$md|&DNWV;2X^SZtke~LCNSUfH3xq=5d|mnlam9%5EYk_dUi->qjKttpXrPeF5p*B NNoW%WIundL^Dozec$xqJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.hdr b/tests/integration/converters/outputs/ffmpeg/sample.hdr new file mode 100644 index 0000000000000000000000000000000000000000..5e5fbca67083cb33d214ec963087e15b6e5d0478 GIT binary patch literal 1011 zcmcJN&ui0Q7{_0dHiw*c+Iiqnc2L37>d5wXxPx}If!51j?C3_vEYgIHiROK2B1z+* zohz&uaNr>a9lPvOiqnk^%9!XyZ|1iDL!Z2<@8%CYDZD&<^X7d%&(AB9c@58Mcc-&z zAvdEJwR|?Sa({I}otrIbg}Lmso~hOr)tOxWj;3dBTpur2O;TT}kor=&qN?Nf#;)BQ zyIKOPN)j585i;G5RDJCrkdNI^s`t3ubWbJc3zy8L4d$TX^U%f0?FTyu#ST4}C=08@ zkH`&_9q(Q8hk90;G0;EUJe)2*`j&WkByHM>j=Uhf-%T`aS}8^^T$(s#+KES#q}tE8 zjG95}($#1M+`29}Yki~JHTr9Uvpu=J zw+BXWEFi$Ke&Upm=C`)ykII5mJ6S$IUp}b`jytd?ChUP5bCe_>hbq6M^N%pRD*BX) zY{;B+& KE9TR9zrO?JR4}0c literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ico b/tests/integration/converters/outputs/ffmpeg/sample.ico new file mode 100644 index 0000000000000000000000000000000000000000..3a2772cff9349e0995268af55d98f178c39a245a GIT binary patch literal 1132 zcmZQzU<5(|0R|wcz!1j5z#zuJz@P!dKp~(AL>x#lFaYInfr)h`8&ZS4{u6^I)fTTu zHzz+P_^!Hy;D2IpUTpB4!K`0ZTL$b8BNf^IAgrb!_Fu(R<-eMu7+4&i`<0w@{)?S% z{;%Yq_5a9$ePFEUYy4mAOv`^oe-ncG)#OC~E5zFVSCbX_AMWD@#wz*>|K-!2|Em}% z5Y+EtZutMikwgETO!fcE6?uU%hz$}0$${brpZh7*kInrczkvM&^cx}jv4tNfEWu$4 z3|m6_LGr5FvS4+v_(K*WMn6amE^Go!4~u%5d&o(@y0T*bXEax>YG`O+B2~YJq|pD) mvfRV_=g;Rr*9+oLsx4g)%)9?^;nt$eYgc!y62hjJcrgHhH9lSd literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.im1 b/tests/integration/converters/outputs/ffmpeg/sample.im1 new file mode 100644 index 0000000000000000000000000000000000000000..e752abbfdd2c25b94ccefb36afd748e68e09b907 GIT binary patch literal 650 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 H{Qoxrh-fd% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.j2k b/tests/integration/converters/outputs/ffmpeg/sample.j2k new file mode 100644 index 0000000000000000000000000000000000000000..411e1f0684a93e7c1a3e6c2dc5e807da5823d9db GIT binary patch literal 1294 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAT-kj?;d#WFKeih#5L7_)G&18D{Z z{^b0eB1SM1D8X_Ns5tq*|NlS+BbXRi1DM0W08$813>IKvXJmw<|3M5qU}-icCI*K8 zF$|hY^$K+lfN(+C2OvC<&ydfM_aHq02r~j$fzUntG7u*HPXSuN=#yBMY-X%ysAp(k z^nU^a$TtiuW(Stub{zxj)Pg6#h%6f_#0N{w@i)S8W|XCnd+I|AO67B{(zhRfQUff zofU8D1>!R^O!&94-8>1F-~~$X-(AaXRV|QJuBW)4|FHA7jR(Iq0nve9jSftFD^u-x ze|%j0mE+*OrTfp{kmKJXCEuXH*tYhG2-kYvjY}W@ujg&3Ogw)e$nK)XZ|4JwlY_KY z1iv@_^1hQ@_D6X5sh2+cWddve>q~8Y{PBY5^j|M$8cnK~307{qy>GI>=}J$>E}QA+ z4|sufH;AnMXVJvTdCj>i_15#|PqPf|A$l!qcQ2oA?e(O4HA}tB%!RdczHM5X#+Eky z{L1??*3>Qv{vf0{nt)?{JWV+~lb)Sd(x@FHeA8qZEHVxNU#cA%S*1JvGUgLmyTaTg1 zE6&MXme2c*%(t}MVEonl-zg`OU-xBGp7z@yZ+&xqTKpcY0v6q*ZC`!OPjlG+?#Cmyue}p z`2+vz*aN@K0K3slB%?Kj@?vSOYcfMp|sz(j7pas zJ$_EnBwRMx=iiCog3_eLw=Pt*YaB@C*Pb8tYhi7@`OdGVl3T9Wzx z>xSDO-a5|h=GF{7wl}Ui^V+Q0^6y+CMW)Ta!Ml9_y_DV77Ug$6if=XUUSzXP-|qGd zjZHDT)09K^oUHr$gykhq`^(oGd^f5usNI!NeA)Di#?k8?CffzJJ-c_jXZ^dkBD;I% z{9Nu8E^er-@#^>9Gr@it9ay0GQwf=eRn?RC~QhlG4w?s{_R51yAU7j}Q=T|49c H{Qoxrh-fd% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jls b/tests/integration/converters/outputs/ffmpeg/sample.jls new file mode 100644 index 0000000000000000000000000000000000000000..7e21fbf75a5f80d4e892b36101889e2642f033e5 GIT binary patch literal 508 zcmVq0eE3IaH{Zwq9KmY(>0002M59AUdG>$P#XOPQZkW~i|000MmE<8r^ z3G-wz$`OkmQt}9Fe5NzRrxI#jK{*&+hi1Hk7&Hf@XP!ZfGB!X1N#rt-8dQ_We8Z6W yhavM0A>25JaN-@qK`pvzrkZJ%QMD3+oAS#nu)_=^S|tTK;dR$tb(Tjo$p6_lvamq_ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jp2 b/tests/integration/converters/outputs/ffmpeg/sample.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..411e1f0684a93e7c1a3e6c2dc5e807da5823d9db GIT binary patch literal 1294 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAT-kj?;d#WFKeih#5L7_)G&18D{Z z{^b0eB1SM1D8X_Ns5tq*|NlS+BbXRi1DM0W08$813>IKvXJmw<|3M5qU}-icCI*K8 zF$|hY^$K+lfN(+C2OvC<&ydfM_aHq02r~j$fzUntG7u*HPXSuN=#yBMY-X%ysAp(k z^nU^a$TtiuW(Stub{zxj)Pg6#h%6f_#0N{w@i)S8W|XCnd+I|AO67B{(zhRfQUff zofU8D1>!R^O!&94-8>1F-~~$X-(AaXRV|QJuBW)4|FHA7jR(Iq0nve9jSftFD^u-x ze|%j0mE+*OrTfp{kmKJXCEuXH*tYhG2-kYvjY}W@ujg&3Ogw)e$nK)XZ|4JwlY_KY z1iv@_^1hQ@_D6X5sh2+cWddve>q~8Y{PBY5^j|M$8cnK~307{qy>GI>=}J$>E}QA+ z4|sufH;AnMXVJvTdCj>i_15#|PqPf|A$l!qcQ2oA?e(O4HA}tB%!RdczHM5X#+Eky z{L1??*3>Qv{vf0{nt)?{JWV+~lb)Sd(x@FHeA8qZEHVxNU#cA%S*1JvGUgLmyTaTg1 zE6&MXme2c*%(t}MVEonl-zg`OU-xBGp7z@yZ+&xqTKpcY0v6q*ZC`!OPjlG+?#Cmyue}p z`2+vz*aN@K0K3slB%?Kj@?vSOYcfMp|sz(j7pas zJ$_EnBwRMx=iiCog3_eLw=Pt*YaB@C*Pb8tYhi7@`OdGVl3T9Wzx z>xSDO-a5|h=GF{7wl}Ui^V+Q0^6y+CMW)Ta!Ml9_y_DV77Ug$6if=XUUSzXP-|qGd zjZHDT)09K^oUHr$gykhq`^(oGd^f5usNI!NeA)Di#?k8?CffzJJ-c_jXZ^dkBD;I% z{9Nu8E^er-@#^>9Gr@it9ay0GQwf=eRn?RC~QhlG4w?s{_R51yAU7j}Q=T|49c H{Qoxrh-fd% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jpeg b/tests/integration/converters/outputs/ffmpeg/sample.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5652e52eaaffa69cbebcefb4a6757306ec1925aa GIT binary patch literal 517 zcmex=S=WL9J_bQDq&W=T{Q`G0^xkb^;hL4cW2h=ECnfmw**|1Aa{pw&!* z%z_N|45$9q%Lgw#^W0tUSIQj2#S6`M9!st}Tl{y@acM(AYi_lpmGR9_X8C;mJJ&DY zcy7)P&2{C+nwqXXmEy5Bz4*ajcF_rsM;epWAJ+9Zd9I!MuVIB-`;hz$)?l&gaW^xSWz|;Qp&NneAALM~0kGwb;A)!P76S zn^*aGUX72MW^NJV_9QDi*4JBSbj!K9}Y> zsbtSu=4bU5@qcv`&2$)cEm#sH_%cdRLdM7P^wl+cwjH~C_{ga%YaQR86X%xJt^a=$ E0AnJf^Z)<= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jxl b/tests/integration/converters/outputs/ffmpeg/sample.jxl new file mode 100644 index 0000000000000000000000000000000000000000..1c4fce82dea39c876bd17c4386b2b49d6793c363 GIT binary patch literal 329 zcmV-P0k;1C3PZq708D@=0Q3a4pCAAL6)K~Q8@!zB`SL@D#k7s<3~jY-VF_ciJr@cF z2?200TZ^Z77XSx<01t5lLJ$+3AB2f9kT7%=Ah3}m8*E9E#;({}Ya`+(bV#pF9J9)^ zGDq(~l(-2fE&$*lfWs^x-L0-f0)(SSA7ay33HW_s0Se#>DUjAy6{&bSQZ02EV-5;^ z0UZ8w!5-K=x`jnK;6e|q85qO???>X+t2v0}r2iXUv;&CZLQHA~Tqp!RJY(8MClv`G zSk%3NCbsIJf&Q!!(k|&Xv}CnXyai`FnBeJ;v%N}ZXn5GR3No|W+B9%65~dPIzrTxK zXdx)>hfIbk6L9qZz%u45J6!|I17I6Q*Q5oapZwBbQci*b<-4a2C&MQxF36M4GWKmj7m;PO-s+n%qlJ^ zEi136tZHs)ZENr7?3y%r%G7DoXUv?nXz`Mz%a*TLxoXqqEnBy3-?4Mop~FXx9y@;G zuS~;l_iU%Emz-M3agxa*3&!JXHM%ay8h|#JRbNEJwrL z40rPX!we#v3<3-SEQ~hZ$|1AbS7Dfgp0cHW9KNuMP{Ab`l|ABvjZCw58 zpB{1Zz>&qc?_B)FUz>isf8x)*+XN)Ue0{H7{`Q*pRxcXBDn$5WFICv>-@g2b|1`Ur zbwDx3*Z1a|-`-a~x5NRgfnjF%%bNGos*ZnlKQ=G$ul6@L{p;W7bq1cRqXYv3`}(Sy`*}a_ zm0q;xwCX>%r+NBc>Fd^98<_iN0J$|luK0Dyy>eJ}hMKP*|5?7WKeu10vi^(vwK?za{c6V=j1FRd))g&ZeIeR`k>5tVriUwT+mYBP z>>h%|Es(5Ib+>$CR~~*Ofq_A8@5|4%yPsEHcY#SWzL+ZWe8SJW@q!J=5et(>iOw(V d%TIr8*O<`F#&)E zpcn=u0^-X`05kx^2U#E{=mMoA0rEgICLjuw1EOg(q!7S#lJO|D7qUZgKPb150Z0je zE&zT3mfXaC=0kJfMOHKiRVKXQ61|z5RDD24FYQYE?5F5ENi=`k>0dc#whNKjVJ}#y<@r9zu+4Zf>~+sp*`-sYPX($*Bg0~;pm4-8rxSvCzWC*pLCdjQbwOdEv2Zhy$|fq@A`%w5z|Nm#l1|Wk`_~#0y3BnCA3_q9+c$^)|7#BJi>a;P{HBC66aB%6884MQ; zxF$_JkmRez`_J2$Ivi~DM6yakgXm*drCxUN9|H zVf^G^tfs&=>6)#2+0Lc%PB>(^b literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m2ts b/tests/integration/converters/outputs/ffmpeg/sample.m2ts new file mode 100644 index 0000000000000000000000000000000000000000..64d903f3a2e37caff4052e1e4fc9f75ffffa3293 GIT binary patch literal 6144 zcmdVWUr1A76aet^-Tm{*%)2(%K+!F2lUTC3L59|@TDwzIjGz)CbRzx%Q6!AY>{Fs7 zh^|w_BFIWng2FO0pPbTzSXh)qe;za+VuaBwgIU_`=DSZm=s7Rn`M&d=!;iCV%)3+I zbsXe`cL5m(kcb3ig&KU@iQ4O}t*@wLk5)7^R+m>eoM)PHr=+bF3VWJQ;DG}ej9K#o z`3#}uQx~=tb6w5e8^&58TlO=9iEI9_F0554eFqDVwJBqzl@&&QfD@hNPu3l=sRg_0 zZ--E`Z7cEf8&bf7)xFSN$2Dqppae0$gB zm5PAgWJ*ocNvOKVq)uVxU*v-uo@+|X))3Q|LVoZrt2w$;aktvt%LPvd7E_0JJkD+K zq?#MPj0&92nFSkI3OcQNZ&Pbs z=uhR>f_tm;AS!q*B!Zuar3QG}qwiAjMeeZ(OQ+5{$Rqcqf+9l8T(%{3a{p55!sMr# z@hH-gEG20ATf}}-!o+8uM}hUTRZ9+ zG5h1;_$|!-*jmp7X20U2Eri*hA#gF6{q~`V3$x#1o-4uZkGnQ`5woBDJ=llYf1t8^ z3bQ|bhK4cwZQ0dE%>MX?N3t;cx%hp4%zkB?r46$`;}`n?vwu(7;#C&qe~Q`v52&3$kpKVy literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m2v b/tests/integration/converters/outputs/ffmpeg/sample.m2v new file mode 100644 index 0000000000000000000000000000000000000000..b6a48c96bcb72f608e9663591af020afc42507f1 GIT binary patch literal 285 zcmV+&0pk7u00FZB01y-Z|KJz^00FfWiU0us00001xBv(MKmY&%000mF_y7O_wU7Vv zL4W`N0Ra>Fr~;4^fLs9h127CjKz0G4Krt+a0)B#!z#ze;q?iEEFba~9z+z1%4gCbq zk+<#EmPY?h0DzhTU>JZg0e}Xe7zQK);>$_^Gyud0Ss*6p0;MDY@<1~tAPSTNqG>dw z5WsYj@hG(yvO{t|D7TOSNC|*00Db|O1|fhu0Mwuu7D53(Nl9=JaMF@Z0B9Hm324AE zCKE<{f^X>iXX;C%{o(+S13(M_9sptikYE%5%%BsN1wc+TzxWA&%6TvWu{4BBP62>n jGbi*0Bd7Ez?8w_{!3Y6?BmW!+r-6{C7#zav)Jg#q)i`5f literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m3u8 b/tests/integration/converters/outputs/ffmpeg/sample.m3u8 new file mode 100644 index 00000000..4c2227ec --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.m3u8 @@ -0,0 +1,7 @@ +#EXTM3U +#EXT-X-VERSION:3 +#EXT-X-TARGETDURATION:0 +#EXT-X-MEDIA-SEQUENCE:0 +#EXTINF:0.040000, +sample0.ts +#EXT-X-ENDLIST diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m4b b/tests/integration/converters/outputs/ffmpeg/sample.m4b new file mode 100644 index 0000000000000000000000000000000000000000..32809527292095d690a5242d3adcaa4d423625ef GIT binary patch literal 1592 zcmZuxUuYaf7@tcpN>B(jg=p_#Y(uFex$N#;u1R1e5<~C7sxPJrg=KDcHoM&J&fe_Y zZa!_o0O0-qGgzg7>~u;u1N@az?Ym8GCmP|Ou^^9iTirJy_*}qfBox? z+Lv$5U#B-t{ducnRV#FXx+%~J!4Wx*fgHV$y$)hODfR;PUo~r=dW^5Z+0`qo6!fnf(H%;oZOgU-R2vhCR zPtZ&q;rkg^c7>`yB0%SfglMn;igU6YjRKNkcDFGF?&0vjE}Jbq=C?E5vg&O?v8{5+piR9Q+bC55Q=K@MtYcSKKxB%is9~6*M>r2?A#$-M+OL~Qc5!4c z@RwgAkN19j)SVLF?|!inUY?$tq;FhUF&mXT=Wc%R$-}4bz1^(5Ke>79nUc(a)R57B0tL$iUIqJGyrZ^cZ>mN*=cmc#+HzUivlgvCukX!W+r_!i=kAgFUpcm4 zAQQnKzg($3)w_LL=P0&Xq1Oo3{&HrYz53P4M<>1;KlQgZU|{We(KXg9z=M7x277Te zz!>lcavHXszG>{X0Bzh6#Y1a0u<&s%44eMWU)_AG_ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m4v b/tests/integration/converters/outputs/ffmpeg/sample.m4v new file mode 100644 index 0000000000000000000000000000000000000000..32809527292095d690a5242d3adcaa4d423625ef GIT binary patch literal 1592 zcmZuxUuYaf7@tcpN>B(jg=p_#Y(uFex$N#;u1R1e5<~C7sxPJrg=KDcHoM&J&fe_Y zZa!_o0O0-qGgzg7>~u;u1N@az?Ym8GCmP|Ou^^9iTirJy_*}qfBox? z+Lv$5U#B-t{ducnRV#FXx+%~J!4Wx*fgHV$y$)hODfR;PUo~r=dW^5Z+0`qo6!fnf(H%;oZOgU-R2vhCR zPtZ&q;rkg^c7>`yB0%SfglMn;igU6YjRKNkcDFGF?&0vjE}Jbq=C?E5vg&O?v8{5+piR9Q+bC55Q=K@MtYcSKKxB%is9~6*M>r2?A#$-M+OL~Qc5!4c z@RwgAkN19j)SVLF?|!inUY?$tq;FhUF&mXT=Wc%R$-}4bz1^(5Ke>79nUc(a)R57B0tL$iUIqJGyrZ^cZ>mN*=cmc#+HzUivlgvCukX!W+r_!i=kAgFUpcm4 zAQQnKzg($3)w_LL=P0&Xq1Oo3{&HrYz53P4M<>1;KlQgZU|{We(KXg9z=M7x277Te zz!>lcavHXszG>{X0Bzh6#Y1a0u<&s%44eMWU)_AG_ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mjpeg b/tests/integration/converters/outputs/ffmpeg/sample.mjpeg new file mode 100644 index 0000000000000000000000000000000000000000..5652e52eaaffa69cbebcefb4a6757306ec1925aa GIT binary patch literal 517 zcmex=S=WL9J_bQDq&W=T{Q`G0^xkb^;hL4cW2h=ECnfmw**|1Aa{pw&!* z%z_N|45$9q%Lgw#^W0tUSIQj2#S6`M9!st}Tl{y@acM(AYi_lpmGR9_X8C;mJJ&DY zcy7)P&2{C+nwqXXmEy5Bz4*ajcF_rsM;epWAJ+9Zd9I!MuVIB-`;hz$)?l&gaW^xSWz|;Qp&NneAALM~0kGwb;A)!P76S zn^*aGUX72MW^NJV_9QDi*4JBSbj!K9}Y> zsbtSu=4bU5@qcv`&2$)cEm#sH_%cdRLdM7P^wl+cwjH~C_{ga%YaQR86X%xJt^a=$ E0AnJf^Z)<= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mjpg b/tests/integration/converters/outputs/ffmpeg/sample.mjpg new file mode 100644 index 0000000000000000000000000000000000000000..5652e52eaaffa69cbebcefb4a6757306ec1925aa GIT binary patch literal 517 zcmex=S=WL9J_bQDq&W=T{Q`G0^xkb^;hL4cW2h=ECnfmw**|1Aa{pw&!* z%z_N|45$9q%Lgw#^W0tUSIQj2#S6`M9!st}Tl{y@acM(AYi_lpmGR9_X8C;mJJ&DY zcy7)P&2{C+nwqXXmEy5Bz4*ajcF_rsM;epWAJ+9Zd9I!MuVIB-`;hz$)?l&gaW^xSWz|;Qp&NneAALM~0kGwb;A)!P76S zn^*aGUX72MW^NJV_9QDi*4JBSbj!K9}Y> zsbtSu=4bU5@qcv`&2$)cEm#sH_%cdRLdM7P^wl+cwjH~C_{ga%YaQR86X%xJt^a=$ E0AnJf^Z)<= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mkv b/tests/integration/converters/outputs/ffmpeg/sample.mkv new file mode 100644 index 0000000000000000000000000000000000000000..4209b0c71b85728bf239961b9e666067d892ac9d GIT binary patch literal 1400 zcmb_ceP|nH9KOW1(}LR7Rpu;ubTHi7CU;4eb%B#MAFRc-m8Bmj!tvha&E?4D?s9i+ zll>vRHm>QqvFV1cYuQ&sah+p2=FlQ3=wMO=QLqk*P6rN|tbT#R4dd@kR_FfrxO?yS z`P}b$-n-in`L0k1?y()gKjHe#t_uEcKNuX#r;uf6W)cM_AoPmuTpt~k927aK!)v=| ztc7B(CO(zwo}Y@&$v@=|~b&DeU zw%f&=WNvYr=5cXhRJuGJDNICqLcQV0uJFYDOwF&wg(>mg0*3L<)EGpeJ~Vyq?kMQ*Y(EhHdP2YZHf%+JYG{> zD$OiMe){;wE1ef#Z~2D4vhn5$fu&n%Q8O^j`nQ7F>4K1(=+^3^K{Uw4un38ere_r# zw`dQ;cw0S;hg2slOAol+BO@cOVL6611*tC0klX~t<5cNks)9t@BzuZeok`(N@BM27;q#S`sC|;qS#vMHXR{)c`}QM)?t<4Bs#r zLsl(pC1rF!&x)?f5$Z(9y52j9l%XgIF{M#X5T381S zWgYei-Urx1z(Q%*ezKY56{QAoK1XdXEo~6%v@b_5MC5nZHP_Ow4Q^+XzS}#N3vWNR z>F*Sp1Kflx5$^VdktG*#V$K07c^yH>Ceeb2=+qF%N k!{=M4$-nN6V(!M;=T6KYIB!!I_rgE+*D>e1U+jne0ZiN2L;wH) literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mov b/tests/integration/converters/outputs/ffmpeg/sample.mov new file mode 100644 index 0000000000000000000000000000000000000000..e654a93856b3e0a724d1b248785562a85341094c GIT binary patch literal 1531 zcmZuxO^6&t6t3CDRn`@jIDu97P{bufcBi+yXENCgv_v+W%)v-5ZZ1MoT~$5ZO#e+) z&EHWI9^z>cL=U=9(`*=VUt!xcs}vQf z_xnZ<_Dds@7^!HjYhEKzaRf1GrouFl4NQqgsAFNleW!{U_o9@x9jjqBOiU6I4JCKX zLA7BHEUSuR?gV^*W!D4k0?y~jtVXVNEg&SDp&gjb*S)h>_J;~SztJJ)i7~K z7vq>l9n?${=aLMZ`b7Yw;u-WX%;1jTJ-`(L7wN$D>&ryD2%#JN<{RjR(NE9P#q@{W zueQQ3%B%DE-5VFJcJ1NSd!Kyv^w~$ZI<=4Ix9@-R;{MyW&%Cm?|J2Tp7nZ&|Ty46) zc0N6I+P`fce)!&VXE(C9zU@7nKeOEXvho4E{)0G8d$2_m_W}lTYRvut#yM0%`gc73 zV*q@@zH}VVnEat5uPS`@-k86hzG5(f@hh*iyOyju7z=))(@rfB9OPFl9S8R z_)XHI7Dzqv{jXfPc3l^g&qZic6I4C*D3xD^_l%No53Q==-)=(BSU57~agh$qYMx-oAO+ z?B<1Y7XizyMVp@qfj&h)t!HVx`0I!$WCbq!+oh%i0!#ZnOEa16zWZsP=d6Wry z(#e7#7us$y9V!G+o;b_8JcQsJ>GC-8u$8gGWT`4X;YA78w2dg$Ld6_T(7W-L;zP&F z63I1W4;|8qM=4UkQE~DK6i-BsUb&7O0!O~x0OmfIRD|oe5zpx(krG8&+alTwwF_G& zMe1y364p{F5!w|)^1*_Y-d+Fv!pFVo}{(HUFhcg?uzkO!^&1cPm#8xLJp9|ux>dK#28$z?emteET<1q40QxbmRsJz%Mz@TUo8WKlE&Z^I zb3y0su?Js2v0pK!!@qvJ-g$0x=MF{A;dqw~t!_wCfaY^uG@CH(4KL=5=A#CW0O&w} z$md|&DNWV;2X^SZtke~LCNSUfH3xq=5d|mnlam9%5EYk_dUi->qjKttpXrPeF5p*B NNoW%WIundL^Dozec$xqJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpd b/tests/integration/converters/outputs/ffmpeg/sample.mpd new file mode 100644 index 00000000..2a301e2a --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.mpd @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpeg b/tests/integration/converters/outputs/ffmpeg/sample.mpeg new file mode 100644 index 0000000000000000000000000000000000000000..a95370dfb6e22572a8731eeb57ccce3b78bfe825 GIT binary patch literal 2048 zcmZQzVBDq1z{tRO*f^bmfpIqjCy1f=|G|T2K<)!ZK1BxR_=!N~W<~}9;s5_1NC4S8 z7&sUlfHVUG|NkFAno;=Y3Z@Cd4KWNqm<@QG9m*INIvDD-G1WCqIG}KF>5>@?7Yw*2 zO+1j~tH%46<^06$Z?8>r`|rolFpDWcqQQ`{fo*{Vn+nsT(_RcF3`f`_71UlZEmdLs zV5lbSR@0RK;&=Kh@5O%~F-%}~;9-zsNMf9jAi{8Ff$%g|2S1bj zKR6psRT?mEG->hnV{Aw?R{z4Ly!?yCn-jOQ4su8c*~_pmZ=A4PLgvt$D_)EuK+o=D ZJI()p6pV(zXb6mkz-S1JhQN>x0RX@DEI$AM literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpg b/tests/integration/converters/outputs/ffmpeg/sample.mpg new file mode 100644 index 0000000000000000000000000000000000000000..a95370dfb6e22572a8731eeb57ccce3b78bfe825 GIT binary patch literal 2048 zcmZQzVBDq1z{tRO*f^bmfpIqjCy1f=|G|T2K<)!ZK1BxR_=!N~W<~}9;s5_1NC4S8 z7&sUlfHVUG|NkFAno;=Y3Z@Cd4KWNqm<@QG9m*INIvDD-G1WCqIG}KF>5>@?7Yw*2 zO+1j~tH%46<^06$Z?8>r`|rolFpDWcqQQ`{fo*{Vn+nsT(_RcF3`f`_71UlZEmdLs zV5lbSR@0RK;&=Kh@5O%~F-%}~;9-zsNMf9jAi{8Ff$%g|2S1bj zKR6psRT?mEG->hnV{Aw?R{z4Ly!?yCn-jOQ4su8c*~_pmZ=A4PLgvt$D_)EuK+o=D ZJI()p6pV(zXb6mkz-S1JhQN>x0RX@DEI$AM literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mts b/tests/integration/converters/outputs/ffmpeg/sample.mts new file mode 100644 index 0000000000000000000000000000000000000000..a550b90e62073332f282b33af6ae2d3b8bfe4604 GIT binary patch literal 940 zcmZ>F5ENi=`k>0dc#whNKjVJ}#y<@r9zu+4Zf>~+sp*`-sYPX($*Bg0~;pm4-8rxSvCzWC*pLCdjQbwOdEv2Zhy$|fq@A`%w5z|Nm#l1|Wk`_~#0y3BnCA3_q9+c$^)|7#BJi>a;P{HBC66aB%6884MQ; zxF$_JkmRez`_J2$Ivi~DM6yakgXm*drCxUN9|H zVf^G^tfs&=>6)#2+0Lc%PB>(^b literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mxf b/tests/integration/converters/outputs/ffmpeg/sample.mxf new file mode 100644 index 0000000000000000000000000000000000000000..4c0de51b02472ccab5d8e991153f54db4dd19744 GIT binary patch literal 7737 zcmeHLUx*!N6+hoMGxzS^>~8MZOl+NYxRLG43C%KH1AneUsqvlll_ zZ4}uFn>%yneCO})obSxnnE23=jf@#L))*Vgd66?>BoMJO{5nvOr-r`x-DP)>a z@)`WK3%VUQ0aTqfd#{7v;*MS_r{Sw%zF zx|B7oX#*|NjT{9@G!d3{n^g)}q}yz@R@rEwX$Ya72Nfw?)$=x!5|HAxlR^u7p|gh+L_vDqFH)N1@m{F!u(9VoB~Oby zBUL#K$eH){(059n_x30SUL3CSaFL`=a%h5(2Fj}AVJ?^?8Nv@q9rURUTAEJnebr@;Jvc z6^bG=cG-bsEhdSlJP*Vo?Gn!xln5m`4T2<Wpk=2kB85R*E+yxsBg;-ZcmO*{UUq&_ zj_O)2b=gp{nz{@|sAYynQis(@YX{*-9acesXsk<}7h%{?U`pyF1DJVFNL|E2T$=aP zVJsqr%2J0YQnU&(9U$N$5Dw9RT~_)|3Q8q&zUMp;lsWA=1!a(x(cmh0kvV&E9+bgy zX%FJV8eA^zv3bvQ=qbk(d6`lAzqsg}{RC$PG0}LANQym+3ZSj=%V;u44DVHa|dPx4=g4=fHgC#C+Iol`?1#yR(}SyL(E_ zgSK{L{iT|%s^xn?cQw)lnKqteVK4{&^Cp=*Wn$r)zEMf{o1HX4`yVo=7BQp zq+mApi1IL_;Ja&nHURtvjUOHzQ$)vJLv(84A08c!(ADT@r@xBmaG$Fwn3M-=(NU(I z6iij3Gr2P`&7@VF=>A!z<|DGcQPZxqaurZF*8p`}sXL-LxD8>f&^RVtRf6rifPXCn z!xN0%d?3N^1pYMz!{NW9f_DM`pbGz4%mweDIp|1H0%Uk}H~?HL{A&t^!+%Ewb@&rF z|L!W_Ujx@&JX=|;6@Y@U)5y!EQ)#Q6&^zt-;W$vfcAS@2JC2Iyye+rmTn;`fl#Y*y z;{8bR+bZaL^4}zH>mx}~u1U^k6STgqq{-8#q!69ts{WkhD*hOcp*zOo!VQf@tWB0N zi6^vca}P6dnYaL-4`}O?l94wUU&)$c`Wbs{7K$-hgJQA~{y*4s7o}f|nQo$ouc8g5 z#e9?&@ugr4Se3Ibd5kvyw=Z?ro&Vtj;rzDqznPke?)qakIzgrf8_txPv#ZHSJhE`n?dV!iV8c%#8a3x5Vm-J$5~SGGFTht zOkMQu^LrBktwD50ri?o%_KEkQTz`!AIlZ;@2YlO^=VrdC^(*El=&vhU%zL-4@Xfcj z{{GPnH)i@D-?JOj**$V4=!_j(dDwh=<>-gMZXZ3jvAOW#GfzJ$zv;9tJid9~i9_RW zhrfRO`M><`iQ`)*C40)Ap39D+1z(zL9JH^$dWS5@OU+L$9D2h(bI|;4B{{Uvx)^-t zfu*P0n_s^0*CWsE|Ix9B(j(7rnEq&XlRRpkYY6A368MH~xA5pVq$n_Up0{tc=O~b=Ou8d}{e63@C zxb)cCNt4~19Db{@c=@d(Z~pT4pL=n{tS@fe(7e39ae3~BpTGIq9mbzGRZatb`rf4G zx=1bSA0WV4^Y;Gl`n}r++_N)}Td?lKj-Z?9ZvXe;_@BPf{OkD-@{dnl{%_+&uO-;#6R7lRxD@n}EOD$sX^Q{V#k7rry#mw0Fzn+n?c>==$1~vu| zU|hh!#K@?@$e_uf$T+`VfoXnyV*)Leo zA^OwL+inaDEN;F5CJcN)Lm3$KfND1|0*S4i!ax#afda#k-VTPd3@uC|$w2NVpTx3c zGh;nNJwpQ{0Rf;2!Gy!#{5)4@Y@N2NLLSIxU}R6tOU_S8En?yUDo%qb7GE)YKTMqk z$Y>_GIw5336>x8+!YqRX2XKO|~mR667qSp~hg z|8?Q_&o}3<($&o=m@S(f6NEktj-FqZ(n1^E6J+yapA3n z3VZhU^Sh{p{;>1U(>`xxo7tOEVn5&LpqCwolSLc*RsJJp?LJEcU+3gIiTWKs{^0PV zhYF5g1TTpn+uy@qzwgeM;KbzQDYtGj-DEp>p+%rc!YQFf;E(Didx6I}Zx@M#-Rp1c zZhz$P{DX(jr25jP_xayzLS#)We0vRa3Q`*%*?)bZ71+43Y2pFvQ;dyy5h6?uf9L<- a?-y}5U0?Z`p8x}+5HPC2KyrQ9Pg?+t&d_K8 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.obu b/tests/integration/converters/outputs/ffmpeg/sample.obu new file mode 100644 index 0000000000000000000000000000000000000000..14e766e48ff7eb729515ddaee585c011f9b21a2f GIT binary patch literal 181 zcmV;m080N7016Bs0004>`StTaLqG^Jq5%*9zyKfy2q+D30MI50eAiqga0Y9b=A8%^ z_g}Q}AL~cdgth~WFZ#z=VnBlMs(XY!-87-0klw;YRG)9I8!$J4q+Q@hYsTZtVdH8g z0-{@%Li>mfK64(LoM9Ko)C%Wiu1G27IlR02uB1B>dQeW>3=Nh0vqiCJD=l(UJ%2un jFGJSv?9?xKhEDwO^XAUsCkkKm2pOFsH<&t8X+DsRo*z)T literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ogv b/tests/integration/converters/outputs/ffmpeg/sample.ogv new file mode 100644 index 0000000000000000000000000000000000000000..0ef14493195a005c81dda9b7129fef81be30f9d3 GIT binary patch literal 3749 zcmbuCc|26@`^OEki?LQhgNN)y5{VHr2+a&bQ^MG(u@jPgnQTRt2bIT??AiBa(9jIo zw-GD7&N=t{{#@6&?$`MNlIcw-spL3Ff(j{EQg(kFon@P{V@rw-lJHQFlwBibrJj*hdMOZvDL_5TPT zezYV9kTu5oJE^HCC@Ux{oul0?0$h&n_8tz7-daG;{=ai)?zq|=RYe>j=P?Jl1W*wk zAL9hbLGMUF{h`3P3Nz=F*ZUSc`vDhk-dUFU?ow)gmRDNh2KVp4i`j`zW~>3#Xz9lf zBqC0-1YZ(PV#v82U~fygI+Y^paYj+(RN(u{ScUe!%XfMO>Y3 z__-AQT&|VJnT->UN*VEgp)%D|3?PqUyE~`m-BeGo6YX+!9>K)8fdJvPtsEaqWVlY{ z*Z))m!Z!#MiWnNAfFVev&ip)Jkw^pu1Xc!!1c7NI5(znUNaT?_3>^-1genj;xrzYP zLy(=FmGi@Z?d&8_K+4#v;o(lOGTWU5&h1&kd%@5exa*qIf;CVYn@RD6#K#PWCZF)sPv&4@9NChkZv!Tgo~Q$Zle zs35*iBtsT_^+^Ax0xMf(L*ubd%=(y`W%7#EzPpnlc1g zAW36*ehdJ$bK5lc@1^{|o%sLFAixjc6`ox62c1W*bNDa_^oo`PF#HFUBS)be27v~G z!CBUgUBcPCn4uwjl1yQJ!yg$eVfk4pkF8c5zME(KeVK9=B z5d`D_FoKT2M1Sa*SpI;8F4)@2_rCSJFWQO~m8YDff}@2x$9eC0_v<$&T_A)k@#wX6 zR;BEXqg4AVh*MFluRGU-jWY(Yb)}pMC8*Y4cezNKc-PEZ@l}k9$?%v`#2ts$5bt$6 zOL%Rd6zeY902;Sk44|SXLM3%1a{AJ06NEsXu=jYP9rv}BXRBdfO1MyDcm<``L;rcg z$qaG3{iHkuz7rnA_pPeGMOJ zO#A18snH^0*Fz)ayLlSRmbz(L*_6VCIPk6Tf^gD@*cQJzszcA_lr(b

|a>NzTHa zD~y~3OVk@7)ltWuH@!W5Jy=wVafDPGAV072`J;dZ;|+UK8ZE_IF4FpiX-uEWF!l33 zYg5#hy_>e>o|5S%zC_Tn=?2;$Ok#5NU7M+7h8yQV4VGu@0=q1yHcfFo=(Kne>G?GLX`>H!tk?P-(N8%2vn&;!#8r%b+CvGOnY$3RvHO1~bmwaCInBYDt|A0=02bN2p5*z^PHWMKeI?2%(P-@9oA z&Cvi`_Ek(#*k=);;O1OY*_+S2{qfsrdL!_kg)rV_!GQ`w?A8k}T-?eKo13eP=h6ui z*=dO_tAq>vrqCb@$VyUn?_B1?3# zT^b8=Xrw-jE56Z1x3{CjyZG+*w8E1vxpE&6Mb_>?TZ$Gtrh|eO%XsCXx&O4sMUMa7 z`!F|S9K4#uYZ{Na7}c{EZJyAiF~Ga;ejFS{ zeW~33L9asI6(7(3Q-~QGrwrNOe2q`+-sDL*M2)PK_g;AVYkqG$EduXJ^~yk)%M@t3 zus)wQaapE3xj?vFyZ`<4t?L$nQEUBG^C&R{XJH0LH98c|+!RpT-436SRdyC#WL@__ zU~U=RWnC9%d{dWUcrLm#wEcMWNy_wGlCj-y5L!yi_;33~rgbj6TE9&}A3PaUU*oE9 zx8lIjuEfBiEytUgD_=z6z|mQM(|-|*SH+dRCFh@wHg5oB!={%K8t$_)#72MNGx-rm zbk)?jvEv(zmqE=3DGRxg3VpGm{zADHby}}nnnkXj$)+|jbDe*$wJarJQWV4F7cY%Y z_PO!`t6F_ebY<#>DEH59q5cMKP54Wdcv&l#Pu!9ju3Gu@SqbyCH`*CiL>r!P^6~K0 zXWImK&BFzQmoSb-*K7P(g8SIeqRlZN9}%GmjB5Z-A+9V7o+Fhstd-}v_ZfYB)?;bW0+~Wz(gT=>64@5th@BPt>_Mr0OCD}{PmHEEY5e}l4y%P)X`xh zs0j7L&OmKk*06?*zuD;bF$8-`cHh!AC#|#vikN+_#C$t%zTw3z{wj&%O`Xxmoxds6 zSm`lXbyb@Y;wyMt!n!jaQeT|qtoWO7(X=^Yt~8)Z(4LG|mryh!;EGe@h<;_V&-W0knqR~^I`U0nEV2RR!mhw=3rf*_!t!E3S!r@A+`A%#w~xxnp~uP?+ns z0Xow^;xyft4i;bUs#Oe9|K-&*^opchh^tG3u`0sJS$M9?WtBM%4FX?7`NX|0H%%Fj+mt0?Tt>0KzGaCaKe>12@b-gHO|1NcG<-BLkEO|j(3GCSTpM-rqW1H$-U3Z=(IP5)-zCfGjYSkx_?�R!-roM z9Gv|qBOUOe>%4o)el%ZX011K*^VHz*bWXmrx^Dbq68_6OzvHTGpiBwuTgnwM-MsIK z`9ZO_lkYOWRXp5Tf`_DAY@*E*7bIfDK!lIVozL`ZUN)&L+!9?QCmqO@FP0SZqdaqp zKs;ZKM^$i+WSIJu4`gC%`}VE3!lLW!_A$>Dtvdd}STSculQ>Q!6uM^CSI=oPhl+jV zT3I2Z<;p~ng5?w)PXp^z;3W++?W5o4-yFhV$djW#U=%6b!5LlOkW{72blEp5xbiW* z!o0_?!?(Bn7jkr4#KYX>wNKiOo^uk+zU|v)$f?VB&BD^CfFV!>wCT8OT6;VHAi>i) zwY9}Fzvwl0z67iOL}hEH-pYOLJ)-T5tORQ^R$1_y~7<2qt2f#25pB!+cb?N ze&nR5VzueA$wI|+eqg3kcos$xSaEHjp$k|H`iS(IAR#R(e6}TLp{mi?E6ny4f<-xS z&T1O*=(#i~Vb*u+O`gXo$t*Ky_Y0Tst}h=SSLbZLoE^P>hMp6y!=a_8bjteay_-vy z)fwOF%WA#|YR(99%To7tX^FCF^ZxB*e_KPYC8clW=A`BXNvc=7&QBmwP*^of9yhH} zU-R4~4r#qMvp(^_(%sw0?`7@yRg}4({K1E__4RjVn(LbW`DZ#u<^62&SjveW4b`6} zd`1#^Y%F=Gaik?2>1Ua4Gf-M*RgyLC^aXwFn1zd~%XsNGy@39pifj%qLfFj}z3`!u zH4C>I^bGyah2`aHnX?}fxKZb*Ezd5NP5Rv*H$w**Y2uZW+{)1V<5m|FLaDRF@rA)a zRwK!5otCR}yL06(zjQChEE(5`vAj2py=*rU-{1Z;;|_I8?A6b#%cB7mYuG+hy8i;> CpV>kH literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pam b/tests/integration/converters/outputs/ffmpeg/sample.pam new file mode 100644 index 0000000000000000000000000000000000000000..916d4bb8cd50b4e446956d6a12855c40e6b332aa GIT binary patch literal 1091 zcmWGA=L+|93Gq-cG~@Dc^>p_L0kK?M1Asy%T)vJGVU9iuMy94*A)x_2A&~*D3PJ8p z@s2(L9*$hDel8v^L0k+_P+B`_y;pGRKU_GosP)>a9an{5>e1=onEbnf66*hPVIfJ4 z|G8zIhv(1V&w;KN#3!U5WUiR3?*FRh8LJu^8ko?{AVxpP3|SSE|IIy%dhqF&)m8=j zLsrEIsNM*|hKhmA2#(FWgG;}TlhXg@(_;U%9F+d=J8%SyL2Qs1NRE(xQ8~5$wy_HT zMP$|fyZMBJF^CNk1IZE6Z)ooF|Im>W|Mg9s{(BY4fiZ{;5(CN6T0b`TE9k5IcTSi8 zuVA1;(0**;XY8x^zvYbBe-nR2g8D)JlR=9=F$J~%DyAy`#S{sLA4oqTj4%EP=>^Ht WLVro!#0|i_`=1zG49x4W^a}t`jZKUI literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pbm b/tests/integration/converters/outputs/ffmpeg/sample.pbm new file mode 100644 index 00000000..3b5f994e --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ÝÏÿ¯ÿ÷îëßÿú«ÿÿêëÛßú«ú_îëßÿûûÿÿê« \ No newline at end of file diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pcx b/tests/integration/converters/outputs/ffmpeg/sample.pcx new file mode 100644 index 0000000000000000000000000000000000000000..98587f804e935ff1ed9715a208d65ae350a086ad GIT binary patch literal 739 zcmbu6Jxc>I7{^mY5EqTKM+8%^<=RMFsnwQFg>n{$qBvx5v11VjE!3Ams0gQn;9@5? z!O>6Pq~`J9u2)yTkC!xA+=>b0{^a@n?|I4mY+??@Ya!kUC8V5g%`8sG|Dge01nuKj z9|0N!y#FS}FzDWiAE|hNmrkC)Vs#jh!{_Zh9K?s=D+0>UE(@p_M_u?e=+}f_ zH=dRVT}ZnkZ2ixrYO}X(lS$Q9KH4yORBg_xW3s63w{EM3pLD+`zW0qob)T^^+5vba up0DLt+A*20UCU^GGT*#ox{ov$>3F37Gv)nx)IO8%bsh16{60qAA)sFdGvfLH literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pfm b/tests/integration/converters/outputs/ffmpeg/sample.pfm new file mode 100644 index 0000000000000000000000000000000000000000..ccc19d6260532a4aa013e1f85a1eabddecb82f09 GIT binary patch literal 3090 zcmeH}L2DC16vrpK*~3C0Zch#@Jl?!{^P9Kty_tvi zVu_JUiIG_1#&BoESipeGTu3HqfW1W4$RelZ@I`(-Re9goM}s%$d}KBNGf<5j%VEV> z!4LUUq|B69_wu+XU!SJjVOZs>C`C(wpaB#A`FsCgp~ruZ?crMe9WF$(zPvhcUG&Qg zCS*~lvJ-bitHKaBZS=btJmNbr&5U^OInX@|gVI+0gu#!Sbq7|=LX@XSt0ZZ%@0)N& z9bBm{VOpC;)J&0Rex%!4p6)gas*K6f2Ih=8aBh+Q%c2K;8^XEoV5+o*`RF`!X@$)% zmf}m|cddrOx{aqhb+qeCw2qiq@D{~E&Bb8VMw+K#8#b1;WmWFPe(c;DOqRh+^%*v` zP2ri|$$F5?cm9RaD?*9?I4|G{FX6dN(VgZe8rKUn(JW$&uXXYvDJ{G@%%W_RMQym| zlNB4^TE%DB@rSaPk3nJcF{@`$Y?#*Lk~tvhMn)Qk#Km6`L^X*T=8y_0RMt?=F*PFeSH0Ka-@htu$TM-vm4p0@a zp(Y^_1L0dNG&^v>Y@r2=FXJQa?Jeyi1LK+Q>!nM literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv b/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv new file mode 100644 index 00000000..9eab331b --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv @@ -0,0 +1,4 @@ +P5 +16 24 +255 +{WWWWWWWq­_$$$$$$$%uœ_$$$$$$$$)€~_$$$$$$$$$/ˆ_$$1$..$1$$__$@š>µµ>š@$__$(R'QQ'R($__$?¸=__=¸?$__$?¸=__=¸?$__$(R'QQ3X4$__$@š>µµG›H$__$$0$..*7*$__$$$$$$$$$$__$$$$$$$$$$__$$$$$$$$$$_|WWWWWWWWWW{€‰‰‰‰‹ƒ€€{|||z€€€‰‰ˆˆ‰ˆ€€{|||||€€‰oƒƒo‰€€{w||w{€€‰zz{{ˆ€€{{zz{{€€‰zzxxˆ€€{{zzz{€€‰oƒ�lˆ€€{w|{v{€€‰‰ˆˆ‰ˆ€€{||||{€€‰ˆˆˆ‰‰€€{{{{{{€ \ No newline at end of file diff --git a/tests/integration/converters/outputs/ffmpeg/sample.phm b/tests/integration/converters/outputs/ffmpeg/sample.phm new file mode 100644 index 0000000000000000000000000000000000000000..13e0c7e1d0260b5ef38dfc6b88fa9f1704a38b37 GIT binary patch literal 1555 zcmd6nJ5s|i5Qbf+fsS-`M-xRWp_kRj9dt=aMSO&u06SE4v)ppiZu5^Y=d-bfK4~`9FLByA`ze literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pix b/tests/integration/converters/outputs/ffmpeg/sample.pix new file mode 100644 index 0000000000000000000000000000000000000000..4b52cb77b5b514b58911b87a852b4adf6d0780aa GIT binary patch literal 598 zcmZP&U=Uyc0SP7`!8ob5lsz@ri?OvRlkw_~RV+X;uy}qOs7{yLEGb%Y~F&#Ou4@5)wKyi>>YL>U!gZ5h>MMVP{U+(0yh4;06x z$Hm-`@x+lsj83NdOmanDAR5dEiBnS#y4zIr6&U5yof%aO6mZ&u9tMiO#*AWTS{N1m uO|a>KhOrDt4jjg63Sx{ZrYekTielK*b7AoxQDPJ8O1MDjW>Rf2DBb{c-ePwE literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.png b/tests/integration/converters/outputs/ffmpeg/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ab952a1697e68c8129bf57731d98f850c8a32c GIT binary patch literal 455 zcmV;&0XY7NP)OJc+>b7H8eCt0P#PP z3;==Ozke|-UN|Q-EhFy{kXwS&03P9g3}4+e1(gB`SO|J!o@QII1P~2 z`pppD`GsM5DG$SxhDl(toQ61t$nGx;E6aHpo?c@`QIBE3%R4L#yC!ilyt>Q6(9ts) zECynO#6WWB07FDZQjVcDy@et7Mim2#+Hr`hUaA1a+8FY0)i6AG_!z$dqyh{Bo;-iV zP(3q(;pq!D2Ju^#V6l(C&N4JE4rh4(6Xbtp{04}t{9$m*`^ND0F%v^YNiJBdv^SQ) zG4(sc#}`aMOuzt8D9=pbXZQ+?viOudu-MN(tPBe>`4~REVIu4W5CCZg0Z{xy03*;v x%-EFDAP~tmKv7BQvZb}15;2+-6jUz5*Z``=h_VfInppq<002ovPDHLkV1hwB!%qMJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ppm b/tests/integration/converters/outputs/ffmpeg/sample.ppm new file mode 100644 index 0000000000000000000000000000000000000000..a4181cb4b9cc7fe436445e3b1bb28db9fc20dc47 GIT binary patch literal 781 zcmWGA<1#c;Ff`*bGBxF50E5!nNnXLJm?*QTb=8im5H-kTa7@0SggPb?lGMm8>zqG- zKeA#V8<%>Z31YIkRn0RR8XAzb;873MBCBH3+_MO)dRc8%umU4l6(bM>%mp%nWAiZ8 z>o_SjpBB?{P}+Ck2oM1oKrT=amwHh-HQQJP5m_}ipKu@oGJss5ATITW<}QbhoX|IQ z@+y)8A|M0E1qxD2J(_zI^i`bGpc8_{`~zM|AD#~4)YowTiW@*s(Hq${|yZdObmy34Uezs{NLQOs0YM8@K07- z)o@Mw0Yf#z1OJ0#^X`DP0cHN_I4S*WJ}vf7%R%Yiz5_=NDDoTr1KEMBXj$Sv+gOEv zBC=}#+XP1=66cv%>Q91BWL0{#c zbGrOL1p^gSO(2)?D{>$BXY8x^ujP!`KNEjN43{1FCj<1D+<`d(|5Qv>{)s87p&D`m e#hti$|4Zs7ZU6=O{}ca; literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ra b/tests/integration/converters/outputs/ffmpeg/sample.ra new file mode 100644 index 0000000000000000000000000000000000000000..3d81eabd5e26fb1bf2874a30c9f8e88da2b58fae GIT binary patch literal 512 zcmdN3@^xciU=RXg2w)8e@(%zqjewY$*8z+f1b`eyFacy}05J@lVqj!ocJ}uR0SX|@ zVDNPb2m*?ffR$mI0@JM_5R#Fq5SE#eny(OCQk0sQD^dpH=vU|#t^2ByYFM@~mhhGw7&els@a z9i9va_!vGo>I*qo1~`Y=GkoP*VBnZg8!Ob1N+KQ$0ly( zSNl|(8H`j}7~eNGev{|S(g{)d_v^gx;-$%#UVn9*xx;`dk%O7RfZ4$?U<%_t4y_{_ z_=DEnVr;1Y;>E_0;K{*!znMuW#x6K(q4xD}znhGfvR({YaEeF7;YeMEIGgxKwiQef OeCD4YbU;E07&rjHrh_K{ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ras b/tests/integration/converters/outputs/ffmpeg/sample.ras new file mode 100644 index 0000000000000000000000000000000000000000..e752abbfdd2c25b94ccefb36afd748e68e09b907 GIT binary patch literal 650 zcma!CmNk`ufk6O@B^Vf(vVd$RAO?d5R)$HnrK!PQn5eZV^XiUO4T22$F~RB*f|y7{ zQmC^mcmMqP4SYD&0Cnlgip^-QYG7(;;Krv6sM175c2Q3=vNBa|S)jO)iYyQT84xaz zkrx{bSEl5oBX+u3$wBMLfqg&(WPrF%I%vw&ZPjE&!hPI;2*?0&2nxYt{GN1@ngdA>I6+i?@QZ})!1T*mpVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I L!NtJ54oklPw97p% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.rm b/tests/integration/converters/outputs/ffmpeg/sample.rm new file mode 100644 index 0000000000000000000000000000000000000000..3d81eabd5e26fb1bf2874a30c9f8e88da2b58fae GIT binary patch literal 512 zcmdN3@^xciU=RXg2w)8e@(%zqjewY$*8z+f1b`eyFacy}05J@lVqj!ocJ}uR0SX|@ zVDNPb2m*?ffR$mI0@JM_5R#Fq5SE#eny(OCQk0sQD^dpH=vU|#t^2ByYFM@~mhhGw7&els@a z9i9va_!vGo>I*qo1~`Y=GkoP*VBnZg8!Ob1N+KQ$0ly( zSNl|(8H`j}7~eNGev{|S(g{)d_v^gx;-$%#UVn9*xx;`dk%O7RfZ4$?U<%_t4y_{_ z_=DEnVr;1Y;>E_0;K{*!znMuW#x6K(q4xD}znhGfvR({YaEeF7;YeMEIGgxKwiQef OeCD4YbU;E07&rjHrh_K{ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.roq b/tests/integration/converters/outputs/ffmpeg/sample.roq new file mode 100644 index 0000000000000000000000000000000000000000..d77bad404e095785b433f7b87b3d504226b5f3ca GIT binary patch literal 288 zcmW-cJx_yB6owDCK%pP@R;?a{cEL2!!Htj6xWaVf2D^ikLkI4Kw80LA^iNbbOf-%HO zG`H?z&6juxyJnWxykK2(c)+DJ^Z&oD-;|;a?yq_Fyt&-(M1lpYxr>coir8s`g2O3j zz4N2Kj#ER0695ggfifErGMS9Q0y-pTs$3`i1*L@8$EGu-vu-4O{lHLFjQ;z_$W*m~ J4sXQNdw)_IM^gX* literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.rs b/tests/integration/converters/outputs/ffmpeg/sample.rs new file mode 100644 index 0000000000000000000000000000000000000000..e752abbfdd2c25b94ccefb36afd748e68e09b907 GIT binary patch literal 650 zcma!CmNk`ufk6O@B^Vf(vVd$RAO?d5R)$HnrK!PQn5eZV^XiUO4T22$F~RB*f|y7{ zQmC^mcmMqP4SYD&0Cnlgip^-QYG7(;;Krv6sM175c2Q3=vNBa|S)jO)iYyQT84xaz zkrx{bSEl5oBX+u3$wBMLfqg&(WPrF%I%vw&ZPjE&!hPI;2*?0&2nxYt{GN1@ngdA>I6+i?@QZ})!1T*m``wFd zMk1t(9KanT;%e_a|3ChTKhQb$m;sU?1^U2APy%Pcc~A#;z#Lcv&%qn;4txY(z&G%d z5Jd$C0elqrDDY9>qrgXjj{+a%0eAwQffwL4cndbcXYhj%6+S9_RQRayQQ@P)M}?1i z6)$6LPv9%~4z>x=bdUf&zyo;xWJbrN4jMNH|=KwQZOBCiy#E*$IZZDqD|do*0mcV*G!hUFxS-?2<@WbzV?5Y+4D+8fDu)YP)W_kg<6YgyP!h%F5~WGg3%ZoQa9t^l>Q+w+gjdp*0*X z@Fh+qB`dh;=vq+Y5+amiTn{j43+Hi>ro5 zFNS4}s^=Z?^7*Wr^>`74UaPm&%2*jGWYgKnN%ycTg|XFQDpgz^3m5nj1X;mN5v0Jk zMGyk5#=T(Zk!Vx**s=R!x~k@}zS}SP+0ANG!L9dvx<#W+7kKd&vJZbW6GyNWZwK>H Tv9aC`Ug^BW1#LUnNW{o5Ixh4k literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.sun b/tests/integration/converters/outputs/ffmpeg/sample.sun new file mode 100644 index 0000000000000000000000000000000000000000..e752abbfdd2c25b94ccefb36afd748e68e09b907 GIT binary patch literal 650 zcma!CmNk`ufk6O@B^Vf(vVd$RAO?d5R)$HnrK!PQn5eZV^XiUO4T22$F~RB*f|y7{ zQmC^mcmMqP4SYD&0Cnlgip^-QYG7(;;Krv6sM175c2Q3=vNBa|S)jO)iYyQT84xaz zkrx{bSEl5oBX+u3$wBMLfqg&(WPrF%I%vw&ZPjE&!hPI;2*?0&2nxYt{GN1@ngdA>I6+i?@QZ})!1T*mZPjE&!hPI;2*?0&2nxYt{GN1@ngdA>I6+i?@QZ})!1T*m$lQA1*ZLZ`z4b{2sqyAZ|& z2RQhTY;{;5l>1@&Q|Ax7dh#`O91QZJZD|L9N(&5_6b@K4Gd$p7&X~gZ;DCiV6T=@x zW`@V!$M0WAV9A(d7X}m+YGFuVZsZMNV?3hBA`!Fx@B`lPukoK&EIatHLSD!&&W>So zK?1uYg9IZ(0*hlqJ{yBe4da0W=BwBk&(wiTb^7@KEgORqXX<~32ML@EHWCaE?A9?e z$f&Srtp6|1!Wtj`f0Zobq6aoA6+3De0}>82Gjn`hurf!2e+rkw2ZM$z#>F)?tO`PG KH~%;QgBbukOM`y^ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.tga b/tests/integration/converters/outputs/ffmpeg/sample.tga new file mode 100644 index 0000000000000000000000000000000000000000..c9bea77e1790abc31a5bb5b0bd4af3109a791d40 GIT binary patch literal 718 zcmZQz;9`IQ0R{mE1&u~9cT#QX`nJ?yuYZiKMVZ&G?pP(%3=)S(=EnrzZBv&J{LiEz zDfGXyEcfvK`SUrNP!+U;73j)}{h!fXwW^_^feEY`VL}H;0i%hE?EghQ%{^$6jbKSt zZQ1`IMxzl>6(fiR5&_FGT3&jMnB zL_jjM(1__&6@7*O^6Ae1RSXpH*@zi9ioVAG#m=<+SM)c*qLBdEo)$002I1>i7Tv literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.tif b/tests/integration/converters/outputs/ffmpeg/sample.tif new file mode 100644 index 0000000000000000000000000000000000000000..c4b82b6e60eef6a64a7dec555710eca793390a7d GIT binary patch literal 1067 zcmebD)M6-PW?=Zqpk7)#X}wo)>OWjKv#9mjsvTE_J^~eM2gl^!6_il_j|&S)YW&YF z>pVPv{(g?H#ApB+Bqpo-zp8o0s(%d(Oh18|^aW|Mg9s{(BY4fiZ{;5(CLmPZKuhDd?;GcTSi8uVA2p z-6m`SVeG5;zvYbBe-nR2?3zGsmO%@0F$J~%DyAy`#T0P_1V|Ghj1fwltI-17vF;nQ6$##J~&GmjVOWjKv#9mjsvTE_J^~eM2gl^!6_il_j|&S)YW&YF z>pVPv{(g?H#ApB+Bqpo-zp8o0s(%d(Oh18|^aW|Mg9s{(BY4fiZ{;5(CLmPZKuhDd?;GcTSi8uVA2p z-6m`SVeG5;zvYbBe-nR2?3zGsmO%@0F$J~%DyAy`#T0P_1V|Ghj1fwltI-17vF;nQ6$##J~&GmjVF5ENi=`k>0dc#whNKjVJ}#y<@r9zu+4Zf>~+sp*`-sYPX($*Bg0~;pm4-8rxSvCzWC*pLCdjQbwOdEv2Zhy$|fq@A`%w5z|Nm#l1|Wk`_~#0y3BnCA3_q9+c$^)|7#BJi>a;P{HBC66aB%6884MQ; zxF$_JkmRez`_J2$Ivi~DM6yakgXm*drCxUN9|H zVf^G^tfs&=>6)#2+0Lc%PB>(^b literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.vbn b/tests/integration/converters/outputs/ffmpeg/sample.vbn new file mode 100644 index 0000000000000000000000000000000000000000..a48a76806833c116f374020f7fb52c6c185df967 GIT binary patch literal 448 zcmb39$UA|Vfq{Vqhy|b+#0H760x=jc!WdX+d~#TnQ(Ndi!^sI8of9}d7c(%lK7IQ1 z|9^-LYrKvMFocGNV(=Lvm{bFpR6**4qNAh#GXOOM(YYW7hND0LQy;udMKVA!qe5^g`pyyN95p*ZyOfZPLge(V2#AoovD0l6RO ie1`u*AU>PMjHMv{RQ>-937b?rC#i_f1==4K5()s!q+H$r literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.vob b/tests/integration/converters/outputs/ffmpeg/sample.vob new file mode 100644 index 0000000000000000000000000000000000000000..1b719c6d03b6a9e7dbed5284e0ec8f6eeee16f03 GIT binary patch literal 4096 zcmZQzVBF=xz{0@7*p_zw2Ll7+ZU)Z7#_0@-{~tVf2ITHzzx#g_jE2By2#kinXb6mk zz-R~zuMhxM@!ts-3vj0`}) zxPyU%!2w7!F!28ewHvnf|NrdR0Aw%<|6IW|LAW7?;Rmw;kF!G=<3a~Roi?VrrU?fW z4lZ3XgW-Y!*QALDl6=*8|FWE)xc%+5X>R}h7#e0VB}g0!Gz%m zd!&Ne3#O$ijGr8g)fBjT-Ui|jSFPhj-mY|vwLLG#*HQ|-hPY?iN@+**p!!l(Rg#>cGf`-#zy7;GVIG6CoGqc jIrQd=7o!N!xBJ-k4zC0;>YLFJ7!85Z5Eu=C5fK6a$@&Gd literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wbmp b/tests/integration/converters/outputs/ffmpeg/sample.wbmp new file mode 100644 index 0000000000000000000000000000000000000000..549b41a3c6db578cd1e0001a9d98fcad0d8742b8 GIT binary patch literal 36 ncmZQz5D-u@UJ$(bU=hIuWD5W>KNvas1b8?Ad5rlB)F!EzR`|Sp`oYXziRr|v z{-o^>oi$eF&ffL9RKSfR&_&Rdcd_;Ny_prpj7q=cGgOotbXVS3{b15+`){)ufhH^T z0L>|2VwlUQB>=R6iNQp53R6k5LP>+vuU`KL6Eqn9eV-V8`?Ztsxn)y6*Qd^J&#t=t z<@+6(#+8xs-P6x)o1Xmt%jai@j2X=*vCaMeubRg~?Mlv;`FbMfbf^Av{nxi}M)CAB xJ@)l4CF(CrKJ(x1CFy0fo9}+I^645^g|Pc(n`TOudiC6DoY0iF*?&0$0|56rW)T1Y literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wma b/tests/integration/converters/outputs/ffmpeg/sample.wma new file mode 100644 index 0000000000000000000000000000000000000000..ba09be5291e8f5295a12de793fe1815efb3b7677 GIT binary patch literal 3819 zcmXp|+f>?@c3yDVO@>trN#}ANGcteyE0APlT6kx5kNe8=f_+aI4)7=hr)EGTG04|^ zP@x99tM@j}WrP~S;Gl3H%xsWi11pf>fv95wQVl>h2s`jHGi+tvAFl_p=P|?{J*aVl zmoBf~1rmP-5r>%Ku;jue_Q#h5r+;8ra58R1KoV3nBZCG*ID;>PK7%Vm9z!xiK0^va zCXkiR5X_LuPy&PyUNKm`6oU^#B10KN8iN^wF@qk1As8Dl7y)G`vftUh9m(ECs0|0+ zOYZTFJ}P(i<)vT#ef_2I${K-Ce)h*7Z+jm9=lPBORjp$~({a12 z2@67Eq8nBxMs?fF&x@SAW%bjwu^*>1pJZ=7_~P@a_8swGlfT+;>u0wPWfCfSbeGlG zM|1nBO>cK>xP3}$-p9Vh*XHsX{NtWsRI~j^^x2b-czP_L-W{bzLtr!nMnhmU1V%$( wGz3ONU^E0qLtr!n1~ddFa4;Bee0pB6^9!i=<9Rv^hie+9&49~*I;{8s0QeK)N&o-= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wmv b/tests/integration/converters/outputs/ffmpeg/sample.wmv new file mode 100644 index 0000000000000000000000000000000000000000..ba09be5291e8f5295a12de793fe1815efb3b7677 GIT binary patch literal 3819 zcmXp|+f>?@c3yDVO@>trN#}ANGcteyE0APlT6kx5kNe8=f_+aI4)7=hr)EGTG04|^ zP@x99tM@j}WrP~S;Gl3H%xsWi11pf>fv95wQVl>h2s`jHGi+tvAFl_p=P|?{J*aVl zmoBf~1rmP-5r>%Ku;jue_Q#h5r+;8ra58R1KoV3nBZCG*ID;>PK7%Vm9z!xiK0^va zCXkiR5X_LuPy&PyUNKm`6oU^#B10KN8iN^wF@qk1As8Dl7y)G`vftUh9m(ECs0|0+ zOYZTFJ}P(i<)vT#ef_2I${K-Ce)h*7Z+jm9=lPBORjp$~({a12 z2@67Eq8nBxMs?fF&x@SAW%bjwu^*>1pJZ=7_~P@a_8swGlfT+;>u0wPWfCfSbeGlG zM|1nBO>cK>xP3}$-p9Vh*XHsX{NtWsRI~j^^x2b-czP_L-W{bzLtr!nMnhmU1V%$( wGz3ONU^E0qLtr!n1~ddFa4;Bee0pB6^9!i=<9Rv^hie+9&49~*I;{8s0QeK)N&o-= literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wtv b/tests/integration/converters/outputs/ffmpeg/sample.wtv new file mode 100644 index 0000000000000000000000000000000000000000..164fb12b76c17843953ec1cca5a43a60081f2ad6 GIT binary patch literal 28672 zcmeI)ZEO@p7zglYukE!Zplzqgw@(=i>+t)fD}UCIIkttJIkdB ziD|ZtF-?`QJ+(#rQlwZkX(Ax02_clqhek=B$yZ^V4{*(GuET{|!2zxson*NDi)E9Hqz zCgo&`l*nx-({8h;J&ThNfB*y_009U<00Izz00bZa0SNqC0=tyweJ?-o^S>dU`^A!U z7MT~vI@>mG5ibM`qW7u%?H2=wN2^Xo2cCR=|2^xU{XBDxfbK`?n0KaRj)OtV1I&wZ|gM$iCFNUfsyPh~s{v z{ZiG%6Zs#WBBNpRp{rji`9Z~{+^NiZ7m`wOYMtWn^Qv36Na2-%w4L0D#a9%4>C>4ZHsQ0H;nm4kTOjUPTkNmx)|GKQN?i+ls zx}tY(VYq%#-{5mx7njkqWW|3nmF>#nZz}y-!39Lyx9imoXq4wkCNFt8`hx|1b{Djd zD2H^bKX)gm#F_2M?;kUGNAuj=>oPsYdYZ}z&aTiqwOxA2;#XWz{Kg^F;sH^|J$2$vQH2x*EMkiDtNmyzYgr%b(Uz86C@B>+@f6?OCXOr$%_Z#uyxVEyoI+hnZov5W& zZ&q&Wc!}Rr^-@pt%1@E2t9IYIOlF2Yo9?G(&1@{7<3pZ-EWNJm$W*TJ$=0B@uk7Vj zb(+ys`rr+B@yLz9waJT{j^=3H#mS=Vk#2LuTQqU)OpR6`5s^Xw0uX=z1Rwwb2tWV= z|EPd`E)viESReoa2tWV=5P$##AOHafKmY;|n3)3gKY!LfId6N-TMK^NS5#iGTD%4* z&kw9WB-oG{$d!qLX_wt_O^H)qdaWvX#$mit6H~;PY_5Wt;+y5|s=O5=U z|C>24_Jh2(@?H~<6bMrX=PG$rK$yo2#7T@2_~Uv0oT~p)B1ami{fIfWI`a#fJ|}ub)m?=to$+g|<=y zr($e|h`iaFx6!G>O4651EtP&>jaT~C+n1#H{x)7!^G`2l$e$vNt#zw71Q_4nWJx)lbI8mAMVoJZ447pM9=$VhL` aPv|s&1OgC%00bZa0SG_<0uY$70>1!09n>=b literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.xbm b/tests/integration/converters/outputs/ffmpeg/sample.xbm new file mode 100644 index 00000000..d6e045bc --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.xbm @@ -0,0 +1,20 @@ +#define image_width 16 +#define image_height 16 +static unsigned char image_bits[] = { + 0xBB, 0xF3, + 0xFF, 0xF5, + 0xFF, 0xEF, + 0x77, 0xD7, + 0xFB, 0xFF, + 0x5F, 0xD5, + 0xFF, 0xFF, + 0x57, 0xD7, + 0xDB, 0xFB, + 0x5F, 0xD5, + 0x5F, 0xFA, + 0x77, 0xD7, + 0xFB, 0xFF, + 0xDF, 0xDF, + 0xFF, 0xFF, + 0x57, 0xD5 + }; diff --git a/tests/integration/converters/outputs/ffmpeg/sample.xwd b/tests/integration/converters/outputs/ffmpeg/sample.xwd new file mode 100644 index 0000000000000000000000000000000000000000..338702abbb2dab4495e04f482c94bd85a316ee86 GIT binary patch literal 1135 zcmZQzV8~}+U|a9an|m8qgTQG5L1|CDi}p!a|Z7|8vVa56_>!AK7Ve zQwZq?nJXr%`@gDr#;S&f22jwT0Alom%#c+v`QO~Ls0T$ekb|sWR$CS94_Or>pn4++ z8!84eBRDqi4leyVPD=lqPmBH6a!~re@4yi-2C+e6AUQ(%Mdj4~+r}#V7m-!_@8%N@ z#vnFG3?xTLzoEIy|3gPk{MR>i`tMaF2gV>aNDL%LYyH^Vub{8;-#K0Wzk-1ZLHn_V zpRupv|CTdi|4sZA3F-&=PX;ai#1z#2tC*_%7gHo0ejxpXFuwRFq!%Pl3;iW^6E^_! O?tfx%F)**g(k}pdEk)J< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.y b/tests/integration/converters/outputs/ffmpeg/sample.y new file mode 100644 index 0000000000000000000000000000000000000000..83679c737a5ca2df787d6d9f499fd5f48e7e07ee GIT binary patch literal 1024 zcmZQzfPm84N$b6WQ~%+@nMJMFR_(Yd1XYef1;^yy6_il_j|&S)YW&YF>pVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I L!NtJ54oklPw97p% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.yuv b/tests/integration/converters/outputs/ffmpeg/sample.yuv new file mode 100644 index 0000000000000000000000000000000000000000..83679c737a5ca2df787d6d9f499fd5f48e7e07ee GIT binary patch literal 1024 zcmZQzfPm84N$b6WQ~%+@nMJMFR_(Yd1XYef1;^yy6_il_j|&S)YW&YF>pVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I L!NtJ54oklPw97p% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/ffmpeg/sample0.ts b/tests/integration/converters/outputs/ffmpeg/sample0.ts new file mode 100644 index 0000000000000000000000000000000000000000..0742776387f48e46f5c613812454475fa53a5df3 GIT binary patch literal 1504 zcmd5*OK1~87@qhlEedV4;Oj6}6tp&-O=4ODBi34zi&7Bk!NW2;JIOBD$7FWfBvm8_ z4=Q+2L6mwB1U-o01MyT)(2GS7J*eQp2M8i)58f=se}a#bN1=Q8_xm5;zu*7QPGL_^ zH`+VD1tlIL)Jn8aVxhUFm`tqLzu%Xl+<8c-DVGak)Q*ilX)Ug&um^P`bZb>xJ4(!> z?YEcRSzHqTsirUv+Lzo)wza=Q^Js%My|V`<{z+LhiNXjX9peZcU3nZKlz59!v$=c| z>UhPp+c~do`5WpwJJbKHiO^C6W?jdrj$I+w(Xb8)w0aUQ2vZ;|GKmvn(w=Qf`cQk-uDi)Ll zHFB6cD)gBNR0GFKc%B;p8m*VC09|qO&&WEj zIOVE@eGAsBM+1kZGbw_rdLT+tIe=0(ZogTb=5|3KiiLzdx)RO`{tGxt=*6n=8|Xtt zpgns8{lDu6*8?TQ$rET>>*adh9X@Z~8*^{2>F>hl4(~E5+3$rnSFf+$`r~3Xd!=jQ z>x12MXKwTzoS9oS{bFeC(}n(``M!EB*;~3n7A~LPuyt6TemwQPt8e4f-GNI#0b#9W A+5i9m literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.art b/tests/integration/converters/outputs/graphicsmagick/sample.art new file mode 100644 index 0000000000000000000000000000000000000000..1920582e203695df77b7f0512f88c04e9c9a4e2a GIT binary patch literal 40 jcmZQz5MW>cVF3mX1|9|$1_ssz3=Av^ED8`70~7!NB3c34 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.avs b/tests/integration/converters/outputs/graphicsmagick/sample.avs new file mode 100644 index 0000000000000000000000000000000000000000..aab9188896d5efa77ca91b64f164fc80c069da8a GIT binary patch literal 1032 zcmZQzU=Uz{U?9c7u)ef*(m$`@R9yI4W>KrqsvTFsim?!PgJbgl3reWt#6pr9hjYt1 zIp)vbk3~BJLH!`J#bk9?RW;9GYG`OcH-jksATwlDOnRDo7U9(|tE~$5hpdVbP`wd^ z4HW~LaVI!752t<|C#C<*r^WtjIVk<#ci;#ZgV-Q3kQ^cXqH=2gZDSSwi^!_|ck>Ac zV-Oo829hJB-_YFU|Dhu%{_C4M{r4)817i>yBnFbBwSH{wSI}4a@0>3GU%^0yp#9jw z&)8S-f6E!M|0e#51oZ>`_g@Ar{=^j2{;Qa({1;Os9DX4E1TfzCC!m)o_Y*J!oBbO~ T>L&gN=3ip)`r_J2u=EQ6$GbgF literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.b b/tests/integration/converters/outputs/graphicsmagick/sample.b new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr00002|^pup8jy_+Tq$QcpX3co}ZSSnN@4GwN+S=-uykcjR zlZ$KH(zEB@tw}qCVt!S&{5PzrJk1hvns?goPfxXDcv$Ad+i{6GlFH>>CBGgjyL}fZP+xY{ozZ~usy#bZ~QaPxbZ(}M_ohjL67?aI_2*k zRkHcE$Mcx;Z8H4x^Jqu-{-!-ThmYJ7YrAtui!JlEb;8c&?V%EC-?tk+5x;I=Q}JWQ zvR@l_{=fEkGtVip{gUtIrKJA&(KPeP2kp1LsT^zmpW3i+rgR3IblhJBGjoG=`;?B} zKW`r|@xuk^^s2*0KK!;;cKq9NAmK`Uka^+Zt*gWTbY5J)a_R1c+b#74j<7NO5qikT zAP5Oi1_nlE258_i2tdUcv4}AN#aN*79KbjML1rX%pjZL{HY717h!6uWBNKxMl)Vos zD99*)VXqL9UYMIik;Gv3iy?`@+$@e{o+nhZ43avSd73~mn7e?U2fNA;=sp*y``DNv z3|l0zLg&`&HV&@V|XE-BW}%qvMvFG?)Q%+J$L&d)1LEh mBLgEdT|)z10}F*fLo2 z*^nCS^`96#skV4MvR)87KPLFDx`g0=VsKt;@SVY|UsYQM><=Rq+5aG{rXcoT#Z=|L znxYt39H0A@oOJ$+oo@cGHc$bo%etmtd}U+hfFe?@;2g8J3uME@(q+WuFQ75N|T z;|9hm`U?N$)1CjT7$^|b?_zHF|HP3)|D8AmDbJox@P+n~CfT&m1 zmI1oTNJSQi)D*;2OjXnr#egDM-J|5BBX+u3$wBMLfqg)v=xZ!?rbW@;1eba>IZ=gJ zTQymca341yQqfnCPj^-^P{5_$#oX}3kwZ?V`f^2HKm=p}xj;c`sYi1U&|x6w$%*1J zAI-l&kAuALq=QR6P+V187Dz(E6VAn>9w>#0OjKkS^)wTi9&}~JW;9ndG&B&SUPDr- dvn+T2{Q1a=f$T}OrC1YlYfaNH2FCYRkfLx#;wbY}z z2k0=6^W;QvnUCgQpvOVpchbS79w@G=Eej+e;R)yBQ4f^DL?$Y-i+Y-gOb@!UVl$en l8X6jiQLiB>)LE9hfBt-A#X$C?+ET2ExwRW)>&iUETui;n;R literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.brf b/tests/integration/converters/outputs/graphicsmagick/sample.brf new file mode 100644 index 00000000..65e7f6b2 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.brf @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +=Y=(=7D= +=YQQ]]== +==P&]_== +=YV&YX(= +======(= +C C@CC@C diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.c b/tests/integration/converters/outputs/graphicsmagick/sample.c new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr00000g7&P=gV@bmX`RiHaaDJ~gM`%5ZH(lT=f&i`qd=>umuFt&?}lG6(^1}gRy z6o8SRQ#^3iD-@Mf7NlA!7}7oALoF=IFUm~KE3r~AFfhNJBkWYbCRL<8yK4D z0G$D(=;w-}l+?W9l1iZejST4Sd7wA*@=H<&GX2pnq(^NU4FSv$P+P40^v>gsgpGTO p`#XFtPvu literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cin b/tests/integration/converters/outputs/graphicsmagick/sample.cin new file mode 100644 index 0000000000000000000000000000000000000000..efc69dcbd1316afe9996dfe94df6cc2b8f29a062 GIT binary patch literal 3072 zcmZqBioedlz`?-4zyifUih+kA%tX%=#L`bJD9|rSEiNh6&&(@HO)p9;$;{8wPtMOP zOD!r%Eh^T}FD)r31xf>@3NkX2i*pmxGn2FRixYDTa#Hn@GxI>k-~~noMrKxq23Ce< zRt$!gR)(fl1{R?q&Up2}C7FRNMlKLn0E$6u2ABE+3=Ygf`3y{WmGjT^Xd-;>Ccc^XzBF!ktkd(ujd@EKu$aN$UaC9I=5d$FODk7QRrL%&H-i}cAT!dX(|e{q<2->+f4a=JCs4H&K=l=1HdGA6ZcjSN zf=hq#0=7LaK%}>G_Kp4aZiGk#3tsk5Fvt-k5G%RkLkR?0q1|j>gg}5({zRa literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cmyk b/tests/integration/converters/outputs/graphicsmagick/sample.cmyk new file mode 100644 index 00000000..bc53ff31 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.cmyk @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿŠ‚mmµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬šš–�zzUG**ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØíæ××’‰vv``@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØéâÒÒ…|ggÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØâÛËË|s]]ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØâÔÚÔîçØØâÛÍÍâÛÍÍîçØØâÔÚÔîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÓ½Ý½|4é4Õ¿Ý¿A?;;A?;;Õ¿Ý¿|4é4ӽݽîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØêáÙÙ¢ߢëâÙÙ¹³¨¨¹³¨¨ëâÙÙ¢ߢêáÙÙîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÎÈ»»=;77Ðʽ½µ�á�µ�á�Ðʽ½=;77ÎÈ»»îçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÎÈ»»=;77Ðʽ½µ�á�µ�á�Ðʽ½=;77ÎÈ»»îçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØêáÙÙ¢ߢëâÙÙ¹³¨¨¹³¨¨ßÐÛм˜à˜ßÏÛÏîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÓ½Ý½|4é4Õ¿Ý¿A?;;A?;;̲޲{3é3˰ްîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØãÔÚÔîçØØâÛÍÍâÛÍÍéßÙÙÛÊÛÊéÞÙÙîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹�nnµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššŒ‚mmÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cmyka b/tests/integration/converters/outputs/graphicsmagick/sample.cmyka new file mode 100644 index 0000000000000000000000000000000000000000..c65f546b8a0bd026bc1247d709bfc72c6d06ef19 GIT binary patch literal 1280 zcmezW|NnmmApXzL)s&mNe(Rc9v;N^Hru9};T?=*B(h>q|!%3`JJYmA!ch7I!_>Z4> z`|SGl|C2h)$_^(aI5==nY#!LQmya%8`rlfUp1!Ic2$--LO04@3u77m<^y&XK#j&wH zM40#J%B?F9pFg^N_UwN!0X7OD0p_k*G;!h`{N`QWdw1{u8k3hM|F7=9yZ^tVy|p!j z0CT|-U?s$w_v+!zoBt0jy1(fE>qkJ=&dn=UKnO4wECE(Rta;~7?B4y~*4o_s|AkX~ z_x|77`>+>6fVp4^u#$l?52t_cU$}kY|DG8SX8gZ@{`PrDY*7*)XExp2^uOBprSbpM z8}4l&+B|T$JjRk literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.dcx b/tests/integration/converters/outputs/graphicsmagick/sample.dcx new file mode 100644 index 0000000000000000000000000000000000000000..022c1eb6638789375a636e92b21dd21baf1542e9 GIT binary patch literal 6021 zcmdm(anFiHfMFDjhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb24R5a42E z-~f4%9|*|;zySnCvNXapm3l!y<|>FtZ7>8B?SSwnr9wdKRS19mKM1%c1mOn@LV!^2 ze6T=_1O!NyLHPOV5TMbyA1r_OKNK7Wdz=BLUr?;70i*z?UqZGS%!lb$*PQ|8!}b4P z#RO6h*DomB4C2G}OQ`gK_;CH|CW}CPg#Q0vd7yq-L0KRY6buH*1NCc5sHgx5iC7RH zs9#mx$OuTN=YjZ0`tN}F!Gb!?TKo2CHS56iJDqkoaKPcT6HLF7n9`9WKmwP3QCkr= zHxXM=n0~ofSsx$SSUH$}H3hZsa3Fz8zu_T$FE9N=hA{o+M@)-~Oplnu^t+sJl9O{f z;X*6@VD~FHE5PgryI()u0A@ef{VMV*xa{0pRtLFus$ mnty>*Er>r6nty@RBoKcCEdTxgzn+1C2P8BKMnhnvh5!JSERc49}iq&71B@E!mBgu2pz}H}iOJ-pBkhnMm{d<;r$G?wh20jI?FmC9Yp~vH-p_dJ9V(I!6z)UyeyvWFOwWyXR8LrOjT3(xA zSM_nW5=Fkjd9&G6e_gM7fz1cjCFj3Kpc6lTv8(v3!@jPFvfcVPb&8{-dpCMv8&f=9 zo2gu8oXt6|Wd=X3q!5Aa6A*_iVMxDo9amhr-8|>KHQQfUxsV)&90z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)BJkf3 zz<&;%#={qjvsG)PpE$vj)34ur`HE|kqi7DRl@hd{y$T1#%V$rBeaK1yP%ySq1aR8~W1X4~^yE;xdDSat^M{-4ud4+R&F4ub-cW59=R+mn$$Ej0r&6IzNn0lR@u4Ef)R5 Vh>spUUx>e5_#Fx3Z@qVZe*nitq!R!D literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epdf b/tests/integration/converters/outputs/graphicsmagick/sample.epdf new file mode 100644 index 0000000000000000000000000000000000000000..c12ae10a107517a9c3a30d7c07a192bf25616599 GIT binary patch literal 1420 zcmZ`(OK1~O6t&_9o)%iMs2hE##ad|IyreTu>IZ4Ywti~UwEid}lgVp3X_6ObUToTx zRFL{v2r8CZTqyo(5nQieB;+tt*gS2R0$`)XulO~pP>lwus^~!IY4zA9vzp zHQKNNv2;u-^_MCh&M-_urZAH{j!4*yGZzPd5Ge_e=VFUqfX72*s~vN3A8wX>ychcA z*|fm4BvgK?43&i(2GqZmNQAjO>sU})y12V5nqZcIcT6^?6s&vcK|cXYtR5!tnj+H4 zVz$}JbGT0d3~Zp9)Zy?3QmPj8ausE3XvYe33f!!f6E*~cwEePrLe9l{eNKZB@ zJj9DZWV@Myxq&-~wAo1kTLP)ulCWn6vv`cjY3#CN&0owz00slEA)e$;PsX$u zrm~X=BCWP?!^{csREDSJRCGl0J_J1mSf6h&_u~8SWwW*nt{R?wIePxV`KLS9UjKD> z#vS@~biv2*j*iHRo73*EA3u$$xy$LEms9VSR99Ea!=Ad6@6K)7{p5b)+GyS4s@lnU z#+@6(;~%q=rzX0N*};ZSYcsRP4$jAm8pgKXx-vPDnjRgSo;cg3*HkUp=nL1J840;( zLhak%pKTegyH{0vqUz1e*;g+veYhTdYkc(KGn&(Ae0%nM*NwNw$B*1z?)$QF<)MY= zqA1aLsWEyqk$e2QRqWgsSyMYWa`?il7n^HN&seE-AF3RlY}p&0Qk6CLGgFGROP(?6F5+ mDFbk`()}DuV_`WXoC_>%^lq#xOhZRihfnw7=? literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epi b/tests/integration/converters/outputs/graphicsmagick/sample.epi new file mode 100644 index 00000000..f2551be0 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epi @@ -0,0 +1,303 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epi) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% FECFDFF7FFF3FFFFDFFFFA5FFFDFFADFFB5FFBFBDA4FFFFFFFFBFFFFFFFFCDF7 +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps b/tests/integration/converters/outputs/graphicsmagick/sample.eps new file mode 100644 index 00000000..f7611771 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.eps) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps2 b/tests/integration/converters/outputs/graphicsmagick/sample.eps2 new file mode 100644 index 00000000..d5e544d6 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps2 @@ -0,0 +1,177 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.eps2) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +%%BeginData: 663 Binary Bytes +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps3 b/tests/integration/converters/outputs/graphicsmagick/sample.eps3 new file mode 100644 index 00000000..b0b773d3 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps3 @@ -0,0 +1,234 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GraphicsMagick 1.3.49 +%%Title: /app/tests/integration/converters/outputs/graphicsmagick/sample.eps3 +%%CreationDate: Fri Oct 16 19:15:08 2026 +%%BoundingBox: 0 0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 3 +%%Pages: 1 +%%EndComments +%%BeginProlog +/ByteStreamDecodeFilter +{ + /z exch def + /r exch def + /c exch def + /ASCII85Decode filter + z 1 eq + { + << + /K -1 + /Columns c + /Rows r + >> + /CCITTFaxDecode filter + } if + z 2 eq {/RunLengthDecode filter} if + z 3 eq {/LZWDecode filter} if + z 4 eq {/FlateDecode filter} if + z 5 eq {/DCTDecode filter} if +} bind def + +/DirectClassImageDict +{ + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode [0 1 0 1 0 1] + >> + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode + compression 5 eq + {[1 0 1 0 1 0 1 0]} + {[0 1 0 1 0 1 0 1]} + ifelse + >> + } + ifelse +} bind def + +/PseudoClassImageDict +{ + % COLORS IN PSEUDO CLASS IMAGE + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % DEPTH OF GRAYSCALE + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + { + % RGB COLORMAP + /colormap colors 3 mul string def + % INDEXES + currentfile /ASCII85Decode filter colormap readstring pop pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + ifelse +} bind def + +/NonMaskedImageDict +{ + class 1 eq + { PseudoClassImageDict } + { DirectClassImageDict } + ifelse +} bind def + +/MaskedImageDict +{ + << + /ImageType 3 + /InterleaveType 3 + /DataDict NonMaskedImageDict + /MaskDict + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 1 + /DataSource mask_stream + /MultipleDataSources false + /ImageMatrix [ columns 0 0 rows neg 0 rows] + /Decode [ 0 1 ] + >> + >> +} bind def + +/ClipImage +{} def + +/DisplayImage +{ + /buffer 512 string def + + % TRANSLATION + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + + % IMAGE SIZE AND FONT SIZE + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + + % CLIPPING PATH + currentfile buffer readline pop + token pop /clipped exch def pop + + % EPS + currentfile buffer readline pop + token pop /sp exch def pop + + % IMAGE PIXEL SIZE + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + + % COLORSPACE (RGB/CMYK) + currentfile buffer readline pop + token pop /colorspace exch def pop + + % TRANSPARENCY + currentfile buffer readline pop + token pop /alpha exch def pop + + % STENCIL MASK? + currentfile buffer readline pop + token pop /stencil exch def pop + + % IMAGE CLASS (DIRECT/PSEUDO) + currentfile buffer readline pop + token pop /class exch def pop + + % COMPRESSION + currentfile buffer readline pop + token pop /compression exch def pop + + % CLIP AND RENDER + /pixel_stream currentfile columns rows compression + ByteStreamDecodeFilter def + clipped {ClipImage} if + alpha stencil not and + { MaskedImageDict mask_stream resetfile } + { NonMaskedImageDict } + ifelse + stencil {0 setgray imagemask} {image} ifelse + grestore + sp {showpage} if +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +/ClipImage {} def +userdict begin +%%BeginData: 98 ASCII Bytes +currentfile 16 16 4 ByteStreamDecodeFilter +/ReusableStreamDecode filter +GhP5%It7P!qZ1;6&-13R$s`~> +%%EndData +/mask_stream exch def +%%BeginData: 336 ASCII Bytes +DisplayImage +0 0 +16 16 +12.000000 +false +false +16 16 +0 +true +false +0 +4 +GhQY8!.iSP8RB64Qmf;>Fk)MQ$lC*H-=9S9*>8`NC?1\'cC_kD8G,4n-ECA$4JSUDJOoH!,c +bD&gp79eH;mVH`&bE4Ie>'QE6!qSk?!b?4Kh24^q^T%E&MrrY`2+N2A<= +Z,9L2Cl<(0JX%?Gg?LsG9Yl6]t7cYuig3shVo!8:8+4T~> +%%EndData +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epsf b/tests/integration/converters/outputs/graphicsmagick/sample.epsf new file mode 100644 index 00000000..6b54882e --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epsf @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epsf) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epsi b/tests/integration/converters/outputs/graphicsmagick/sample.epsi new file mode 100644 index 00000000..f2518168 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epsi @@ -0,0 +1,303 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epsi) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% FECFDFF7FFF3FFFFDFFFFA5FFFDFFADFFB5FFBFBDA4FFFFFFFFBFFFFFFFFCDF7 +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept b/tests/integration/converters/outputs/graphicsmagick/sample.ept new file mode 100644 index 0000000000000000000000000000000000000000..3f0e8f586c69dec1b2818d55270a543356ad10c2 GIT binary patch literal 8440 zcmeGi&956reP2>gWC=tg`uI>@m_*O7NtcN|lmFUL=qps@C?{US+-O z?ylcQs-Q|K2c%x$#H|v?Uf{?H5VQyh4oFow!5_haLoQu@znNKk*7m-yP*p;;wY%f_ zea`$o<~Otc@b4e}`KqEQgDY?opLd`gzn~~dQoOdix4qL3x^&wpsieKT*TF`iSZsyV ziG#2~Zrl!?$;jUAS!$jsR{r)=uOAekAa8NAT5tNey!=o0J-b< z!>Kc*cj-R$8bpJxUHBRCX4~(#f-zD?1>{eMu5Z(UGxeaOSOoCwR|?(@11}gBiiIMv z-Du)DN5mmL=nIKE2F@iy9*ih&6E`A#jzs&!^#xww1MzMU#ZfPGCo$P~=>ZKR0xTw> z>&MuRM@~$l>0}awF({T?#5Z>PDF;Ga}@O)kCs5Yvh9Yn7q>hoigume zBN`XpDiBh{i`=F$C@o=-2}3E(Fm|2L8B^4x!6*m`X`g`!0YQ}d>5r~A1%b$w5Rdx9 zc+?>NbljyO2?k{19#StNW7nU;_ZQzyJAm<0AW;F3)j$J#c4yLsT8t5!jC7!rY0P|J z-|+zX2^j<-JO#SCz!TJ)AwMBq*Y7h;GUmU7ZYf!R?zXZAaOVX{=pxZk6w`6vg*YrT z}$WV$119%ln! zGln{+E|D?MN-D`lc@cWd$arY43|vqH!;{6WXk*xl=4TVNkT6q^XHiDfl3uT4EP-0g z>M2;mAOvv5sK~Xgw1x1_PZ{!{AY*`T=gk!8in|e=_JiXV3kgFk7Uyt9NKX`2ZuWpX#3rn0+}LAh z@+qw%Cs?Q)3)$kqWC~i@1GvpNOKJFL?9nkkwuc8T31E@hDFdE{af( zF6|Vc24gkwstPh&F!4f(C2}y+d>_Mma0|D%Vo4ORJTyRh{}!*bZV@c9`0^%FOoVG3 zH!n8otU>JzHJb~QbPTUuyUbbLjzBiZ~ zcn+TL4`73d+lYl70wH{l0E~$gF|#6j0%F+A^(R+e74 zV-Vgd?H;6NCPj(OTz-0z_9l41AkE^*+3JvNks}g^jvsjrZq(BfjRWTC3Vhmgy3_-w zgqkRFAJ2{i*ibkyCFWh=Z7g|gF~g^@S$R4!`Rp=Nr9$&NxB1h$>&xoFM_>olSvI}PgM327mdbTEhW zb68C;sq7rK5Pgdqo=Gty^Wb1;(wEbMAqW-7O30R_Ef>bhs7<9*t)8jFacGwYPKphe&;;`$}ol1mL=p3 z!O)DFX|`Y>Elckh6%!n|rfcm2fAB62=BRl?$P-Y=lW1)2P<8j;D4>| z`EzuN_~K0Y{mgSD6U*&%XgTuFK1Vr>WSMe%SwLovYG$on*G`kImvJCOFxA%#O#8C? z7Yfwxi#Kr(LI>XUgz#(LYTxS=?%a7rxqDGjo+&R+pZwz2ukF!K@-8?0=|A58?Z=n@ z4al$V{W$p7i(h{^$-6Fp<3=*x|Jk43d++y`{&N}vWVF7qojiW}%lAKdTeom>_gZ}BCTd8fBfJtNx9NYUJI|X3)|R-u>T#= zD)mTtGieRKl@N7vwWL)OVZ44VdFOBIiFxnZY9iG6%EFYdldWX4vYD)3%b5ryI_X-n z(@6vfe?Fr4CqMrUghFzfD}vB@rhG+F)-Eb*@FpKx%9_-^0Bv}wuUv-PMbZC-w-x1! zqJ05iUs}7Md>NkC0q4cF7Z{&QNF#8N?@OYMyw*hbDuM&6)}q5*#! zS}G9V7dQypgEsQ}Cf?w4NqpCU2EXE;1or67d(|H*u$PwpaX_?^Q8Mf7p99;Px($CK Z_&yY=qd1;4%H@NDgHjg16okXF@?T)f@&y0@ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept2 b/tests/integration/converters/outputs/graphicsmagick/sample.ept2 new file mode 100644 index 0000000000000000000000000000000000000000..9ab87802d13dd7519a6f4963c33ab81decc7fdb3 GIT binary patch literal 5805 zcmds5-ESOM6(1)BMJs`5M9o(nPJ*3&#XGxpY?4)}z}~n`>JZnqRG|=|*_pe$SDBqz zX71YSMn;hW4@iBXPrOy)u`lJ3CqPh8rSgD;=u`O{5S986Rm$)?ckYa5*1L^OP^s9R z**$aaIp==;e)pa`fBNg+{(Q!=tZ$sgkNI4NtRAzhB$+$Au{HlaFKmhV#cGYNY;3Ku zP??)sjfA7Zs6kJ^7&-l}bmQwzN4mG4LD{xczCeksdVRaoTkBqQuXVXVJIOF;I*QBJ zB1tz~MfGK>UvAWw8nsKbP+M4L)0J=#crxg$gu@2a@MWWA6s$WzXW(?iy4VqZgBGCL zz+>E?I>al1w;J|(B2aOKqlk_SnxgFtd?<8r{*)DOM4=ycDsz=NYRb6pJA34i3tdFA zhsaf;?XE~=k}-Lyk?=?c#x4xtyb;DKb|cwWv?Il?h+;yBek23Mvg$gD;z7S3Mk;l? zK%wf2XjjGp?oyS5J27=4XD@agUsTaLyD1~#s#V{KpxiO8n^fQ0;9}sP`xTW)#aWHdO@5i zUlOv@RTPE0xoSnKctb>(mVOvuV(3z4+!Su;3A%~No?d?ex+=t476j`L+z$dK7*yuGu*|vz$+<__56+>gn+(@}n zHXqL?qMO*j0#6LFXBYN6L!&x&I!}9~A}5G_MT+YpqtDPFKx-0!GTGh(`cLZE1X1SS&laU zeppatejrMU=OPK2%$?ZT5%{+aQI_fpW%k*n45`ROy?q{qZH3)ynC~5^v!LJ0^@hd6 z!bEZViWQINbRpW2YdKcb91EjuwO+~u9Vg{99}BvA-29yt?7?>u2uN^aWXU5f8*MgIDExbdvUw!KE zb^2>h_jZ2%=9|C!aIy`&rf23~yZ6fncRxzLH7QaWduI0Hz1M$LG@E&D4n;Gw3%FR& zj}W$Q1-aRUm2>yrn|}7Y=YIS9cW^<#Ba|a%Pnfdhu z;hlHwrIl;Z8C($X2<3lfHc~0sv#XtNQf+o5+DI1`ub=(tU#2hKI6Gp7$0rK|GEL`a zmu9EWj&=cNldj^pO|pUhSZ3-czc`GYq9)#d=PlS@*4{0Nb}w&4Wod;QK!Cd-`86eh$F<2RfEax&h?`SpFlxeCng4 zIB*~UI{~uadT`e|aUV|h!)nQD2hbBB{q;jm0Jv@<;GXc!4w;T+Ow0!*Cm<&Q+!LTa z0r>UJGV8c(tP@a~0Q?C!kbnyMW|?(dHr5FoNI-=Ij7UHXeY4CuF8l8}jcXp5lYlx2 zxHG<{aRUJ!B_L7)CXILEHiJ>RFdK5PDgmt$@M^LXJATrAXr4aFI4gTJC(!WMph9w# z8;pGWzV#)`nmTDs;q@ydYpNihfQ&b>)@l5lH2TlowXDw@`2@N@OrTPuq-re1;mhG!y)UmC9 E11Vw*%K!iX literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept3 b/tests/integration/converters/outputs/graphicsmagick/sample.ept3 new file mode 100644 index 0000000000000000000000000000000000000000..a47cc901a2c614758eaf5b5a8ccad940998c7189 GIT binary patch literal 5924 zcmd@Y&2QV*old$T5U^nlR__B%_ERR=NgSK{vLh*uJ(>EjY<*c&lQ^lJB=w&_aR-ngT*5giF(RIUs?J!{2PTL=`!w$KW`@Kg}mSTE|+ohLLAobq+ zeY_ukpYO-t|K+cLxX5wb2j}tOU7z6CevRWCCmL>u^SO@RCiBUK7!(>}kq$!9s9+Mw z*3B%GOv&gevQ?G3io6H$h2%mig9t6fR!J6kyKnH_eyQ0mH!41zqHB4{MrhGgpf1}G zUxIih8(+-E(vXNHmJo4GA7~v#>#phhS%~3};!wc4(j?Z2(2AsW2U3?*$Rna=A&CSH zoLX6kgS29cSuoDZDNLoAprgfkbSua z9kNSj=EO{%nB_#FTuv{#EMV8=0q_LkKprA7We2dl%>IzqCd|kEv7oDizGi{!FEsVX z7MN_dvcmp&K`6IcMQQ)}4Guw}vOR$W?gK-)O2u#1U4~#j4!B9Sl#o@S=)V z3dUG;G4ev|IQ$UWiq>K33h{ZxB(g22l4X_qXofN*qNhWCAG3D@i@<@?M zv$O^lv5&Br0**Atn6(ZJf`+9!MP=SrI(83`f~wJ9TqjDmXM>5l^q1BY+iDOKJ;Bg5 z^aV)!5cEn()CVTYWGMSYeaB)R;e)FK)m99Z9HCjTE2$Ro5tvX_$u^aJxaSGNoR@A7 z8tLMM4tIP4PkHyyy{U`S+l4WMA0nFTF`iO{>h|XUjaEDz0a~G(FFf_W0e!5XxWSnPalra8)rBfBIP7hkbug2J$- zYgNhGBc1082(2lj!U{pb3N+@25LAO0C}_8!t-P}1dLt`3N!MM<8Xgi2RLqpcl!G0@X_;9@03TP$jq;sB?K)4q)ZCZ-5RIlEZ zNdr4CF+E$M@kGbEeMp^Pfe_y$150YF6D_;nZT?pC;mog&4a+ZcpewU05t+n*-tjVxd&1 z)Z5xlhZhvFk#4RnrMCLJH&%*!SE^ePRk*r7e={RyuCAmX)P&Xe+q1Ip&R#xUx|Y)B z3qmfE+7RE$Z`Aem@HIKq&d+p>>lw1XT)NWU-dc^Q8@jx)mz=qkE$!$VSy4~z7>OU3 z)Lyf8J9Bp{+`5yM3$@wy%8mZ5^#?P{Eqh77TDnsT&1G8mx{=MBR&?!t%eW$CI%#cQ zn!7K~Ws1w2EA2w6Ojc&M3QOUK;@)bwy_(wWB~tev-fu+gRwM+?nClhB! zqe8tHDwnTvm9rf8jGG-Ce(1bi$8?Rt{&z${;sGCVgzk?Vh(&^T3Q|O} z8g_pA=V>QZ4+j%bncsX)<42?boc~CP@)&z$L#bX0t)|XME1MC_yj}2d70b7 z(0RsvhvTNsa#Q%#7f0OG*!T>N@dGe-9v^4D^>4h#ao_aDXAt(SsWaTS@&6Lyygv0B z<8zMEcsP{r8{U}mn)b$YukU&Id5q*Y$MCPyCoKco-5 z&UwEnq@h3Wi}O-b6~sIj_<5RrW1f%4=J9j$7AEMPZ5vshfBg9I!X*BJZgzR@Kl{NY AHvj+t literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.fax b/tests/integration/converters/outputs/graphicsmagick/sample.fax new file mode 100644 index 0000000000000000000000000000000000000000..50df873251bd0e43caa55c2800df428ee944bc4d GIT binary patch literal 119 zcmZP&4(#8Zpu^x>ctj3FIqy3V!7!`o4Qm7EItyjS1g5Oy<<7G~v_LUP-lxRQa)TIy z+A=#UnH$^;!of1hV6}EuC2t!xFq*Q01OptuF&$vJA`a5vSO#QXuPFwZ?!W>=0Of`w A+W-In literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.fits b/tests/integration/converters/outputs/graphicsmagick/sample.fits new file mode 100644 index 0000000000000000000000000000000000000000..316f21ee59799ae3df516eb3ded323e57cb27ff7 GIT binary patch literal 5760 zcmWIc^bPQFRZy^1zydguv!GMqo3~$kdd8W-QVkp1~ph zL6Hj1MX8A;sVNFcl?v`fi3J&%$;G~j>6yvd3Wj>ddM1{7SoC5Oa`kh;COj%O8Umvs zFd71*Aut*OqaiRF0)sXL7#M1U;Gl*92%^Q|AeuY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000`@)F7H(&=jIdc6`UFzlOG(Lms!-BTh>`z zJE^pGQc2y!s^%HZr^Q;%h&41cH1{l;KY#zK9ar}qICAL7iU0rqgIquXQ2fcl$iSe* zpaU`kR9-c1vS)#l|`7d nXR-1ya`7`@)F7H(&=jIdc6`UFzlOG(Lms!-BTh>`z zJE^pGQc2y!s^%HZr^Q;%h&41cH1{l;KY#zK9ar}qICAL7iU0rqgIquX&;jWM`GtY4 z#$oEK$(mBeb0!z8yu>o^Li+I|Ic|$v1v+2uaS~U3XKa{Yz>$8)O-InvPoq6rS1yE2 z!snr1yp^IRzqojVK&?}~CU-NxW}8$DOEpg=k68MIIu<@HY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000 + +sample + + +

+

/app/tests/integration/converters/outputs/graphicsmagick/sample.html

+

+ + + + +
+ + diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.icb b/tests/integration/converters/outputs/graphicsmagick/sample.icb new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.info b/tests/integration/converters/outputs/graphicsmagick/sample.info new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 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 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.miff b/tests/integration/converters/outputs/graphicsmagick/sample.miff new file mode 100644 index 0000000000000000000000000000000000000000..0e3ce934f12cf96f8bf9386badba8d603541c4f6 GIT binary patch literal 480 zcmc~yvGvSNOi%SqOwUZtR!}HQEh^5;&$BhuGvG?jNh~h5b;&GBO)hZ;u@w|@6H7`` zZ9|GmQ@N7!a|?=6i@~a+G7EtGoYLI9Vp~Hq1%;ygatI?OwV))!)`F`5Xa!KF!q80H zK-+*TzbG>`uOzVqWK&3fflq2$30Fa0x|OGgOOPJWp!_1;lFEWqU7)&jTQh`IQf7%R z*hq+s1($1tr<;{Ol4*uqJX}^%3=9lR6}Nz-PjW&-!=+oEulF_u|9^OBrt8}4VQ+V6 z9cf@@IsW9n=#+r}{oLH1S%1#!zP7Qc|5wLX^rd;jj5Y86uX-lAT1rZ4#)*skhc;=c z{hwVe_7!B_gUkA>*K&nsvm85-q#z?RyPSP`ovixO|7VvU{g-X2@%MiD0}hGi8w!RK zWEB4{D$4qwn=JaT`^2ih<)1m(lLe$z*d{42xqso#)Bg*VLFTFddp+Cg?{}?9%n-@N zTkCS(gB|gZ!kQr#6fWiEK>TKf7pRIi48Md6Z)dK)N(!gRtlHy`uV36_ka0vp^0#FR3Pypv4abG8(2%D3mv-f{6Sg6U+2o&M-4_?MRGm3wmkg!W#!Uj6pe z&9(KfFPYlc|FxJN6(us2Vdc`Jd74lEoH?_*o0<8d?Dlt$C8|FE3Vr|m>U#a;jWgc6 zFkIF#`mJEe+GK&It);ym)6E02RF~%4GQ2qY z-Dciizp~@+cWzzY{41DM@BZCo%Pu}UxYwHJZkl#NGE&YfO;4o%RdIiP(Num~0vYzpI*YQo77fx<%4O zOTusHo5yk#e&A7(U4FUsv$&FbqwAr$nb-fb9lJc?&b0i^XMvF`RN@)|M4oO|{zaLo lc_oP@nfZAPhAk0q-UDSBJYD@<);T3Kf!Mx4wxYuKs{j>13XlK* literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mono b/tests/integration/converters/outputs/graphicsmagick/sample.mono new file mode 100644 index 0000000000000000000000000000000000000000..2b1772c709a86c1dee9fe96f79cef523e6b670a9 GIT binary patch literal 32 mcmZqRVG&?3U|?WjSis7_vVcW_RY741F9QRE0uVF!2mk;=w*#~Q literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mpc b/tests/integration/converters/outputs/graphicsmagick/sample.mpc new file mode 100644 index 00000000..0638e788 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.mpc @@ -0,0 +1,12 @@ +id=MagickCache +quantum-depth=16 +class=DirectClass matte=True +compression=Zip +columns=16 rows=16 depth=8 +page=16x16+0+0 +orientation=TopLeft +png:IHDR.color-type-orig=6 +png:IHDR.bit-depth-orig=8 +EXIF:Orientation=1 + +: \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.msl b/tests/integration/converters/outputs/graphicsmagick/sample.msl new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000e0H8X6jqwct??)FP{5(%iEMt9n^&Rj>jhSrsD?1Iz_7f@AYA)$2GZHJ=vK za!}fL;0O=_89**j5SMyUIW^l@1rb>_H=l4I0y2PHpdc>whUPAZj-1dpb@D2b10o;; z$OQ^gOFf!<6!cY`)8!QmRB)M(=3ir9#g;Q-CjN@J)C0w3kit_;K~2R}MNAQ=e}U?8 cA*|t#OEFNKLiHte6EPDrvPg05BuIJy0LDOyH2?qr literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mvg b/tests/integration/converters/outputs/graphicsmagick/sample.mvg new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 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 WLVro!#0|i_`=1zG49x4W^a}t`jZKUI literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pbm b/tests/integration/converters/outputs/graphicsmagick/sample.pbm new file mode 100644 index 00000000..42a3583a --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ÿïÿ÷ÿóÿûÿÿú_ÿÿûßûßÿÿú_ÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pcd b/tests/integration/converters/outputs/graphicsmagick/sample.pcd new file mode 100644 index 0000000000000000000000000000000000000000..3d22a68a93e79ecb2276efbced553199e04229dc GIT binary patch literal 788480 zcmeI)&Ff}KbpYVbB3Wb+lmX*n5L`s!s6+^UERvl{8nR=;P=Tx0{&htZv@!mRB=ec$2RQGhxuYNWD`J;!QM{oc9 z-owxDKm7dW|Np~>pWpoV(f@rqZuHzU0t5&UAV6TRz?VP&S6}_om%sD}duKHp0RjXF z5FkK+009C72oNAZfB*pk1PBlykSXwUKSu?=ll=3ICjWWz_W4fo_W6cScvisv zIqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx z&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~ zKllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4 zfA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6zT?w==5CI{U4-+zDWt-JofKmE~v zC9i*SJ50Ymw|^c#{LGC=<@v=|KK_Y+zT+MA%P)T7lP~@`{(CB{n3wpn#!LYJiY%;?w{$`C(oZ+{VV(H zz6;_{ZisI8=Xb#u&P`!*|4hF=cmB-3ovS1IErIC`F*#sdofcYIUH{w=)p63coZingD=XS&V+qpWT-x8SK5R(Jucf{O?TlsmO zD=@horeB}i4fAj3>WF?zV0uGL4w&B&b0co$=XtKcz^>z~pwA zetm8?%)gzhBl<0Y=?yVCV17r;jkuMc=eYut+hO|kx!o}TcCL=-w*;m)#N>ea9WgiJ zR(_u63QTT?>DT9W!~EO1I-=hanBEYR1Lk+c+=yHGd7djUxgDlopW6-dZ|CZWeoJ6_ zLre~s-w|^oZsq5BuE6AWn0|e3H_X4Ct0Vd?f$0q~IbeQA%#FB}pXa#(liOkX^|{?J z|8}m9=(hx>H^k(C`5iGg;#Pj1=L$@2hw0bncEkMJkNglIK!5-N0__BHZ%3jNs4Xyk zAul#y{>EQxMD5*Sbp&z+iXA7@%c*sm%&#W*>xxdGw!n137aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt z!514aU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SV zC)3NRb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yk ze6a!Z6<=#a?cHH@1abw69VgSvsdbvnuO|2FicX-mz;wYE8!%t-wMNw59acvmSD@H& zGQFHyr^)xxdGw!n13 z7aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf z)61!Kn#`{z_v?yIptitt!514aU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$ zu>tcHUu#6|-C=bEas`SVC)3NRb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALT zy_{O7$^2?^zpm&6Y70yke6a!Z6<=#a?cHH@1abw69VgSvsdbvnuO|2FicX-mz;wYE z8!%t-wMNw59acvmSD@H&GQFHyr^)xxdGw!n137aK5N@wG=mcsDOc#8y z0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt!514aU-7j@)ZQIdM<7?A*l{ww zoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SVC)3NRb(+ktCim-#PN25Hbio%J zFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yke6a!Z6<=#a?cHH@1abw69VgSv zsdbvnuO|2FicX-mz;wYE8!%t-wMNw59acvmSD@H&GQFHyr^)xxdGw!n137aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt!514a zU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SVC)3NR zb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yk{M3La zPo7M@KmYQ4#n&29dw1Mg-CJ+Hb?X(+(*%C@lOO;1KmX^xzrcLOPmOr}^{LnAUrs$u z9zXp_o#7j4n{z|pH@^7EPkridUi-y{sZ8;^0&hM3(0ktVp7($Hzkm19{roTU6+biL z&F_8hyEE_4zngkGJbv|+S6di7`ekKkrbG&-VXcf8m9@-v95A+dcfx&(8n9 z_%r9vJD*73eeK(Cyz|qDC%N|@=g*)JpWXl8``!;Ze+EdIkDmSd_mf|IBXf@I*b!&I zJI8qV_1By4{50Z8?)l@_U!(o^^!Go1{NtbeZ1j$2nF0^L|9{WF_%??3tX7C3r%1WcZKIBW>sd-ut{yFkDZa5Th* zBO-N*?)y*vy#q;fP3`qWk`ne{X@KheyEVsfWXc z;JtUB?7IsD905l|Y&arPr|7=_8y?3ANy9)#y0Y^h@I3iM~=)V8t-&^45 z;Sn%->fx{4YA>fNS&hl{*!-ifun~GL zy6->v_ZB#McmzzIdN^zd-h21SzPmuc5pXobh9e?%ithVQ{=Ef`9v%UcrydR)g7@Bi zvhOYsa0DC;vEhhFoud2xlYei4qlZVp%??3tX7C3r%1WcZKIBW>sd-ut{yFkDZ za5Th*BO-N*?)y*vy#q;fP3`qWk`ne{X@KheyEV zsfWXc;JtUB?7IsD905l|Y&arPr|7=_8y?3ANy9)#y0Y^h@I3iM~=)V8t z-&^45;Sn%->fx{4YA>fNS&hl{*!-ifun~< zz~rfi!-n9!cc1LL3j`biM?-8lB2uU5zW?OkTj1#75ioh`;jkfi@7*W+?g9Zvz|jyJ zj)>GLy6->v_ZB#McmzzIdN^zd{>Tpj0t5&UAka>r_w7^m1PBo5D-iHYU?CO+HvAIb z6a#_2l`nGw1PJsNSZLjb1_%sVvqu{QdRM>f2@oLAS0JE;3$Y-up~ahGAkeq+Wln$q zf!+cOt=rH5fkA8bXoEoS>X$tM0tEUB1hjA=76dl5cvB1n`c}To2@oLATVSDe8yX-m zXw4pN5a?a~vL`@*Kwp7?7B0ksz=jrYih)4i%9l9-0t9*sEVOPz0|W-G*`o~ty{ljL z1PBo5D-h7ag;)^S(Be%o5a?U^GABTQKyQJC)@^8jz@RmIv_YVE^~;_B0Rnvm0$R8b z3j!NjyeS3(eJfw)1PBo5EwIqK4Gj<&v}TVs2=uOg*%Kf@pszqc3m0NRU_*;H#Xz8M z<;$D^0Rp`R7FxHV0Rn^8?9m2+-qkOA0t5*36$ohILM#YuXz`{P2=uLdnG+yDptrz6 z>ozn%V9=U9+91%o`ejdm0D-;&0WDmJ1%VAM-V_6YzLhU?0t5*37FcNAh6V@>TC+zR z1bSD$>Q5DNkuTD&O+0(~oA<^%{3=q<3&x(y8w z7_?@OHVE{te%TWsK%lQcKnoXQL106RH^o4pZ{^FJ009EM1r}Pjp#cJe*6h&+f!@_G zdjbRq^c4tb;X*73Y-sVO7zp&Oe3=st zhy{TSE#4FZfxeY5a{>ei^cGlX-G&AT3|g~C8w7e+zw8MRAkbGJpoI&uAh4mun_?i) zxAJ99fB=Es0t>C%&;Wr!YxZb^K=108Jplp)`U(WJa3K~1HnezC3_AkbT2 zp>-P?ATVgn9&HflUH!5rK!8ABfq)h+#Dc(v7H^7yK;O!jIROF$dJ8PHZbJhE2Cdnn z4FbKZU-kqD5a=rq(87gS5ZKV-O)(JYTlq34K!8ARfrZv>Xn??=HG8x{pm+7lo&W&? zeFXwqxDX2h8(O?61_FI6U*-e|5a=zi(7Fu`5E!&(k2VPOu724QAV8q6KtKx@VnJX- zi#NqUpl{{NoB#m=y#*Fpx1j+7gVyZP27%tyFM9$62=o;QXyHOE2yAHarWgqHt$dji zAV8qEz(VUbG(cd`nmyVe(7XC&Pk;b{z5)R)T!;mM4K3aj1A)GkFLMF}2=o?MXx)Ye z2n<@YM;iosSHJ8D5FpT3AfSZ{u^_Oa#hYRv(6{nsPJjS`-U17)+t2`kL2LGCgFx@< zmpuUj1o{dDv~VF71U9sIQw#+9R=&&$5FpT7V4-yz8Xz!e%^qzK=w1D?CqRHeUx9!Y zF2sVsh8Ay%fk5BNmpK6f1bPcBv~EKK1O~0yqYVPRt6%m62oUHi5YWPfSPf2@oLAS0JE;3$Y-u zp~ahGAkeq+Wln$qf!+cOt=rH5fkA8bXoEoS>X$tM0tEUB1hjA=76dl5cvB1n`c}To z2@oLATVSDe8yX-mXw4pN5a?a~vL`@*Kwp7?7B0ksz=jrYih)4i%9l9-0t9*sEVOPz z0|W-G*`o~ty{ljL1PBo5D-h7ag;)^S(Be%o5a?U^GABTQKyQJC)@^8jz@RmIv_YVE z^~;_B0Rnvm0$R8b3j!NjyeS3(eJfw)1PBo5EwIqK4Gj<&v}TVs2=uOg*%Kf@pszqc z3m0NRU_*;H#Xz8M<;$D^0Rp`R7FxHV0Rn^8?9m2+-qkOA0t5*36$ohILM#YuXz`{P z2=uLdnG+yDptrz6>ozn%V9=U9+91%o`ejdm0D-;&0WDmJ1%VAM-V_6YzLhU?0t5*3 z7FcNAh6V@>TC+zR1bSD$>Q5DNkuTD&O+0(~oA z<^%{3=q<3&x(y8w7_?@OHVE{te%TWsK%lQcKnoXQL106RH^o4pZ{^FJ009EM1r}Pj zp#cJe*6h&+f!@_GdjbRq^c4tb;X*73Y-sVO7zp&Oe3=sthy{TSE#4FZfxeY5a{>ei^cGlX-G&AT3|g~C8w7e+zw8MRAkbGJ zpoI&uAh4mun_?i)xAJ99fB=Es0t>C%&;Wr!YxZb^K=108Jplp)`U(WJa3K~1HnezC z3_AkbT2p>-P?ATVgn9&HflUH!5rK!8ABfq)h+#Dc(v7H^7yK;O!jIROF$ zdJ8PHZbJhE2Cdnn4FbKZU-kqD5a=rq(87gS5ZKV-O)(JYTlq34K!8ARfrZv>Xn??= zHG8x{pm+7lo&W&?eFXwqxDX2h8(O?61_FI6U*-e|5a=zi(7Fu`5E!&(k2VPOu724Q zAV8q6KtKx@VnJX-i#NqUpl{{NoB#m=y#*Fpx1j+7gVyZP27%tyFM9$62=o;QXyHOE z2yAHarWgqHt$djiAV8qEz(VUbG(cd`nmyVe(7XC&Pk;b{z5)R)T!;mM4K3aj1A)Gk zFLMF}2=o?MXx)Ye2n<@YM;iosSHJ8D5FpT3AfSZ{u^_Oa#hYRv(6{nsPJjS`-U17) z+t2`kL2LGCgFx@jDHU;mU}=V*bwtN&c~j~@N~U;g^% zZ@=~E;pf~+%uHavz@tYmKKJ&|S6{OK_kV!5XI$ysr^mkWgQq`lo?gb%{G;An{n^)F zdHVBe^<@s%cdYQ5PyAcw{~!P3Ke+!i-wy54|E>N1-1Glr|DW0bOU?W6;5UEx^#1e1 zHx4gjY5HMvF8=V1J6D8qVvD|e(09})BXRk zuYKgnlaGAuWA^{KufNp14-bCx2j6`1RmyFaOKS5C6IA-vBySdA(wC*T|f>GetQ4;_y2JJ zIeGv2+Dq;~S8K2HxToj;v)}*!^RIov`QLdb^vwO~{(tyKzt2Da{y%xY{eNx`9KOOV zP5<eK|4Fc<*Ox9J zhX+6V^UvS^q5Dt7W#&SRxBvXJKmU_doA2hZ&i{Aw*Ol8Xf&c&aKRoQ`5j|Xt>jI^V)8YsaAV45Zp!xOVc>32nw~-M7X@w;) z0RjXFlomLC0cgH}h#oG+b%D~wX>kMy5Fn5y(ER#wJpJpP+sFukw89dY009C7N(&sn z05o4fL=P9^x(0Gcl#qKAud zU7&PvS{wla1PG)FG{1fvPyc%7HZnpWt*`_pK!5;&(gMdX0L>Q=(Zj{KE>OBSEsg*I z0tC_onqNPTr+>Y38yO*xR#*ZPAV7dXX@TPxfaVK`=;2~q7bsnv7Ds>p0Rm|P&95KF z)4$%ijf@aTD=dKt5FkLHw7~HTK=TDe^l&k*3zRNSiz7gQ0D&}t=GTwo>0j^MMn(vv z6_&sR2oNApTHyEvp!otKdbk+Z1xgpE#StJtfIyl+^Xtd)^sjerBO?UT3QJ%D1PBl) zEpYq-(0l>`^%@+{S!^OBRP`WrRjsO7y1kwbWUq6ngf4y@X z86l8XSOOCuK!8ALf#Vl|<_n1E;bL4DC|#TuM}PnU0%-!xuOG+Lzuvixj1WjGEP)9S zAV8qB!0`(}^94loa51h6lrBz-BS3%vfi!{U*N@}rU+>&TMhK)8mcRrE5Fk)m;P?fg z`2r$(xER+3N*AZa5g&Nl*uXk=EBLvb4OJD*72oNYOaQp($d;t+XT#V}i zrHj+z2oNAZAWfk8_2YQ@*E_e75dvw2B`^U31PGKCIDP?WzJQ1xF2;3%(#2_U1PBly zkS5Ul`f)t{>z&)k2!XW15|{u10t8A69KQfGUqD0;7vs7>>Eg6F0t5&UNE2v&{WzZf z_0DZ%gg{zh2~2?ejHE#dgnGWLLjZM z1SUX$0D;m1$1ecQ7ZB0I#kej|x;QP4009C7(gd1cKaQt=y>lBGA&^#B0uvxWfIw-1 z;}?MD3yA39Vq6y}U7Qw2fB*pkX#&l!AIHGK%lh1@e4rn1w{04 zF|G@gE>4RhK!5;&G=b*VkK^fI@7zX42&5I3zyt^oAW&N1_ywT(0wQ|27}o_#7pKJ$ zAV7dXnn3gG$MN*9cWxsi1kwsiU;+dP5GXBh`~uK?0TDf1jOzlWi__u=5FkJxO`!Sp z<9PblJGYS$0%?UMFaZJt2$U8$egSB{fQTM0#&vQ`5j|Xt>jI^V)8YsaAV45Zp!xOVc>32nw~-M7X@w;) z0RjXFlomLC0cgH}h#oG+b%D~wX>kMy5Fn5y(ER#wJpJpP+sFukw89dY009C7N(&sn z05o4fL=P9^x(0Gcl#qKAud zU7&PvS{wla1PG)FG{1fvPyc%7HZnpWt*`_pK!5;&(gMdX0L>Q=(Zj{KE>OBSEsg*I z0tC_onqNPTr+>Y38yO*xR#*ZPAV7dXX@TPxfaVK`=;2~q7bsnv7Ds>p0Rm|P&95KF z)4$%ijf@aTD=dKt5FkLHw7~HTK=TDe^l&k*3zRNSiz7gQ0D&}t=GTwo>0j^MMn(vv z6_&sR2oNApTHyEvp!otKdbk+Z1xgpE#StJtfIyl+^Xtd)^sjerBO?UT3QJ%D1PBl) zEpYq-(0l>`^%@+{S!^OBRP`WrRjsO7y1kwbWUq6ngf4y@X z86l8XSOOCuK!8ALf#Vl|<_n1E;bL4DC|#TuM}PnU0%-!xuOG+Lzuvixj1WjGEP)9S zAV8qB!0`(}^94loa51h6lrBz-BS3%vfi!{U*N@}rU+>&TMhK)8mcRrE5Fk)m;P?fg z`2r$(xER+3N*AZa5g&Nl*uXk=EBLvb4OJD*72oNYOaQp($d;t+XT#V}i zrHj+z2oNAZAWfk8_2YQ@*E_e75dvw2B`^U31PGKCIDP?WzJQ1xF2;3%(#2_U1PBly zkS5Ul`f)t{>z&)k2!XW15|{u10t8A69KQfGUqD0;7vs7>>Eg6F0t5&UNE2v&{WzZf z_0DZ%gg{zh2~2?ejHE#dgnGWLLjZM z1SUX$0D;m1$1ecQ7ZB0I#kej|x;QP4009C7(gd1cKaQt=y>lBGA&^#B0uvxWfIw-1 b;}?MD3yA39Vq6z^vl{8nR=;P=Tx0{&htZv@!mRB=ec$2RQGhxuYNWD`J;!QM{oc9 z-owxDKm7dW|Np~>pWpoV(f@rqZuHzU0t5&UAV6TRz?VP&S6}_om%sD}duKHp0RjXF z5FkK+009C72oNAZfB*pk1PBlykSXwUKSu?=ll=3ICjWWz_W4fo_W6cScvisv zIqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx z&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~ zKllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4 zfA6!~KllCx&#vG8IqQG#v)e!S{sqsj-~Ku4fA6zT?w==5CI{U4-+zDWt-JofKmE~v zC9i*SJ50Ymw|^c#{LGC=<@v=|KK_Y+zT+MA%P)T7lP~@`{(CB{n3wpn#!LYJiY%;?w{$`C(oZ+{VV(H zz6;_{ZisI8=Xb#u&P`!*|4hF=cmB-3ovS1IErIC`F*#sdofcYIUH{w=)p63coZingD=XS&V+qpWT-x8SK5R(Jucf{O?TlsmO zD=@horeB}i4fAj3>WF?zV0uGL4w&B&b0co$=XtKcz^>z~pwA zetm8?%)gzhBl<0Y=?yVCV17r;jkuMc=eYut+hO|kx!o}TcCL=-w*;m)#N>ea9WgiJ zR(_u63QTT?>DT9W!~EO1I-=hanBEYR1Lk+c+=yHGd7djUxgDlopW6-dZ|CZWeoJ6_ zLre~s-w|^oZsq5BuE6AWn0|e3H_X4Ct0Vd?f$0q~IbeQA%#FB}pXa#(liOkX^|{?J z|8}m9=(hx>H^k(C`5iGg;#Pj1=L$@2hw0bncEkMJkNglIK!5-N0__BHZ%3jNs4Xyk zAul#y{>EQxMD5*Sbp&z+iXA7@%c*sm%&#W*>xxdGw!n137aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt z!514aU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SV zC)3NRb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yk ze6a!Z6<=#a?cHH@1abw69VgSvsdbvnuO|2FicX-mz;wYE8!%t-wMNw59acvmSD@H& zGQFHyr^)xxdGw!n13 z7aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf z)61!Kn#`{z_v?yIptitt!514aU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$ zu>tcHUu#6|-C=bEas`SVC)3NRb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALT zy_{O7$^2?^zpm&6Y70yke6a!Z6<=#a?cHH@1abw69VgSvsdbvnuO|2FicX-mz;wYE z8!%t-wMNw59acvmSD@H&GQFHyr^)xxdGw!n137aK5N@wG=mcsDOc#8y z0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt!514aU-7j@)ZQIdM<7?A*l{ww zoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SVC)3NRb(+ktCim-#PN25Hbio%J zFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yke6a!Z6<=#a?cHH@1abw69VgSv zsdbvnuO|2FicX-mz;wYE8!%t-wMNw59acvmSD@H&GQFHyr^)xxdGw!n137aK5N@wG=mcsDOc#8y0rM4KYeencVRZy@1&SRf)61!Kn#`{z_v?yIptitt!514a zU-7j@)ZQIdM<7?A*l{wwoLZ;J{AzN)uIL163rrV$u>tcHUu#6|-C=bEas`SVC)3NR zb(+ktCim-#PN25Hbio%JFkkVtM%3ONR!1OLpxALTy_{O7$^2?^zpm&6Y70yk{M3La zPo7M@KmYQ4#n&29dw1Mg-CJ+Hb?X(+(*%C@lOO;1KmX^xzrcLOPmOr}^{LnAUrs$u z9zXp_o#7j4n{z|pH@^7EPkridUi-y{sZ8;^0&hM3(0ktVp7($Hzkm19{roTU6+biL z&F_8hyEE_4zngkGJbv|+S6di7`ekKkrbG&-VXcf8m9@-v95A+dcfx&(8n9 z_%r9vJD*73eeK(Cyz|qDC%N|@=g*)JpWXl8``!;Ze+EdIkDmSd_mf|IBXf@I*b!&I zJI8qV_1By4{50Z8?)l@_U!(o^^!Go1{NtbeZ1j$2nF0^L|9{WF_%??3tX7C3r%1WcZKIBW>sd-ut{yFkDZa5Th* zBO-N*?)y*vy#q;fP3`qWk`ne{X@KheyEVsfWXc z;JtUB?7IsD905l|Y&arPr|7=_8y?3ANy9)#y0Y^h@I3iM~=)V8t-&^45 z;Sn%->fx{4YA>fNS&hl{*!-ifun~GL zy6->v_ZB#McmzzIdN^zd-h21SzPmuc5pXobh9e?%ithVQ{=Ef`9v%UcrydR)g7@Bi zvhOYsa0DC;vEhhFoud2xlYei4qlZVp%??3tX7C3r%1WcZKIBW>sd-ut{yFkDZ za5Th*BO-N*?)y*vy#q;fP3`qWk`ne{X@KheyEV zsfWXc;JtUB?7IsD905l|Y&arPr|7=_8y?3ANy9)#y0Y^h@I3iM~=)V8t z-&^45;Sn%->fx{4YA>fNS&hl{*!-ifun~< zz~rfi!-n9!cc1LL3j`biM?-8lB2uU5zW?OkTj1#75ioh`;jkfi@7*W+?g9Zvz|jyJ zj)>GLy6->v_ZB#McmzzIdN^zd{>Tpj0t5&UAka>r_w7^m1PBo5D-iHYU?CO+HvAIb z6a#_2l`nGw1PJsNSZLjb1_%sVvqu{QdRM>f2@oLAS0JE;3$Y-up~ahGAkeq+Wln$q zf!+cOt=rH5fkA8bXoEoS>X$tM0tEUB1hjA=76dl5cvB1n`c}To2@oLATVSDe8yX-m zXw4pN5a?a~vL`@*Kwp7?7B0ksz=jrYih)4i%9l9-0t9*sEVOPz0|W-G*`o~ty{ljL z1PBo5D-h7ag;)^S(Be%o5a?U^GABTQKyQJC)@^8jz@RmIv_YVE^~;_B0Rnvm0$R8b z3j!NjyeS3(eJfw)1PBo5EwIqK4Gj<&v}TVs2=uOg*%Kf@pszqc3m0NRU_*;H#Xz8M z<;$D^0Rp`R7FxHV0Rn^8?9m2+-qkOA0t5*36$ohILM#YuXz`{P2=uLdnG+yDptrz6 z>ozn%V9=U9+91%o`ejdm0D-;&0WDmJ1%VAM-V_6YzLhU?0t5*37FcNAh6V@>TC+zR z1bSD$>Q5DNkuTD&O+0(~oA<^%{3=q<3&x(y8w z7_?@OHVE{te%TWsK%lQcKnoXQL106RH^o4pZ{^FJ009EM1r}Pjp#cJe*6h&+f!@_G zdjbRq^c4tb;X*73Y-sVO7zp&Oe3=st zhy{TSE#4FZfxeY5a{>ei^cGlX-G&AT3|g~C8w7e+zw8MRAkbGJpoI&uAh4mun_?i) zxAJ99fB=Es0t>C%&;Wr!YxZb^K=108Jplp)`U(WJa3K~1HnezC3_AkbT2 zp>-P?ATVgn9&HflUH!5rK!8ABfq)h+#Dc(v7H^7yK;O!jIROF$dJ8PHZbJhE2Cdnn z4FbKZU-kqD5a=rq(87gS5ZKV-O)(JYTlq34K!8ARfrZv>Xn??=HG8x{pm+7lo&W&? zeFXwqxDX2h8(O?61_FI6U*-e|5a=zi(7Fu`5E!&(k2VPOu724QAV8q6KtKx@VnJX- zi#NqUpl{{NoB#m=y#*Fpx1j+7gVyZP27%tyFM9$62=o;QXyHOE2yAHarWgqHt$dji zAV8qEz(VUbG(cd`nmyVe(7XC&Pk;b{z5)R)T!;mM4K3aj1A)GkFLMF}2=o?MXx)Ye z2n<@YM;iosSHJ8D5FpT3AfSZ{u^_Oa#hYRv(6{nsPJjS`-U17)+t2`kL2LGCgFx@< zmpuUj1o{dDv~VF71U9sIQw#+9R=&&$5FpT7V4-yz8Xz!e%^qzK=w1D?CqRHeUx9!Y zF2sVsh8Ay%fk5BNmpK6f1bPcBv~EKK1O~0yqYVPRt6%m62oUHi5YWPfSPf2@oLAS0JE;3$Y-u zp~ahGAkeq+Wln$qf!+cOt=rH5fkA8bXoEoS>X$tM0tEUB1hjA=76dl5cvB1n`c}To z2@oLATVSDe8yX-mXw4pN5a?a~vL`@*Kwp7?7B0ksz=jrYih)4i%9l9-0t9*sEVOPz z0|W-G*`o~ty{ljL1PBo5D-h7ag;)^S(Be%o5a?U^GABTQKyQJC)@^8jz@RmIv_YVE z^~;_B0Rnvm0$R8b3j!NjyeS3(eJfw)1PBo5EwIqK4Gj<&v}TVs2=uOg*%Kf@pszqc z3m0NRU_*;H#Xz8M<;$D^0Rp`R7FxHV0Rn^8?9m2+-qkOA0t5*36$ohILM#YuXz`{P z2=uLdnG+yDptrz6>ozn%V9=U9+91%o`ejdm0D-;&0WDmJ1%VAM-V_6YzLhU?0t5*3 z7FcNAh6V@>TC+zR1bSD$>Q5DNkuTD&O+0(~oA z<^%{3=q<3&x(y8w7_?@OHVE{te%TWsK%lQcKnoXQL106RH^o4pZ{^FJ009EM1r}Pj zp#cJe*6h&+f!@_GdjbRq^c4tb;X*73Y-sVO7zp&Oe3=sthy{TSE#4FZfxeY5a{>ei^cGlX-G&AT3|g~C8w7e+zw8MRAkbGJ zpoI&uAh4mun_?i)xAJ99fB=Es0t>C%&;Wr!YxZb^K=108Jplp)`U(WJa3K~1HnezC z3_AkbT2p>-P?ATVgn9&HflUH!5rK!8ABfq)h+#Dc(v7H^7yK;O!jIROF$ zdJ8PHZbJhE2Cdnn4FbKZU-kqD5a=rq(87gS5ZKV-O)(JYTlq34K!8ARfrZv>Xn??= zHG8x{pm+7lo&W&?eFXwqxDX2h8(O?61_FI6U*-e|5a=zi(7Fu`5E!&(k2VPOu724Q zAV8q6KtKx@VnJX-i#NqUpl{{NoB#m=y#*Fpx1j+7gVyZP27%tyFM9$62=o;QXyHOE z2yAHarWgqHt$djiAV8qEz(VUbG(cd`nmyVe(7XC&Pk;b{z5)R)T!;mM4K3aj1A)Gk zFLMF}2=o?MXx)Ye2n<@YM;iosSHJ8D5FpT3AfSZ{u^_Oa#hYRv(6{nsPJjS`-U17) z+t2`kL2LGCgFx@jDHU;mU}=V*bwtN&c~j~@N~U;g^% zZ@=~E;pf~+%uHavz@tYmKKJ&|S6{OK_kV!5XI$ysr^mkWgQq`lo?gb%{G;An{n^)F zdHVBe^<@s%cdYQ5PyAcw{~!P3Ke+!i-wy54|E>N1-1Glr|DW0bOU?W6;5UEx^#1e1 zHx4gjY5HMvF8=V1J6D8qVvD|e(09})BXRk zuYKgnlaGAuWA^{KufNp14-bCx2j6`1RmyFaOKS5C6IA-vBySdA(wC*T|f>GetQ4;_y2JJ zIeGv2+Dq;~S8K2HxToj;v)}*!^RIov`QLdb^vwO~{(tyKzt2Da{y%xY{eNx`9KOOV zP5<eK|4Fc<*Ox9J zhX+6V^UvS^q5Dt7W#&SRxBvXJKmU_doA2hZ&i{Aw*Ol8Xf&c&aKRoQ`5j|Xt>jI^V)8YsaAV45Zp!xOVc>32nw~-M7X@w;) z0RjXFlomLC0cgH}h#oG+b%D~wX>kMy5Fn5y(ER#wJpJpP+sFukw89dY009C7N(&sn z05o4fL=P9^x(0Gcl#qKAud zU7&PvS{wla1PG)FG{1fvPyc%7HZnpWt*`_pK!5;&(gMdX0L>Q=(Zj{KE>OBSEsg*I z0tC_onqNPTr+>Y38yO*xR#*ZPAV7dXX@TPxfaVK`=;2~q7bsnv7Ds>p0Rm|P&95KF z)4$%ijf@aTD=dKt5FkLHw7~HTK=TDe^l&k*3zRNSiz7gQ0D&}t=GTwo>0j^MMn(vv z6_&sR2oNApTHyEvp!otKdbk+Z1xgpE#StJtfIyl+^Xtd)^sjerBO?UT3QJ%D1PBl) zEpYq-(0l>`^%@+{S!^OBRP`WrRjsO7y1kwbWUq6ngf4y@X z86l8XSOOCuK!8ALf#Vl|<_n1E;bL4DC|#TuM}PnU0%-!xuOG+Lzuvixj1WjGEP)9S zAV8qB!0`(}^94loa51h6lrBz-BS3%vfi!{U*N@}rU+>&TMhK)8mcRrE5Fk)m;P?fg z`2r$(xER+3N*AZa5g&Nl*uXk=EBLvb4OJD*72oNYOaQp($d;t+XT#V}i zrHj+z2oNAZAWfk8_2YQ@*E_e75dvw2B`^U31PGKCIDP?WzJQ1xF2;3%(#2_U1PBly zkS5Ul`f)t{>z&)k2!XW15|{u10t8A69KQfGUqD0;7vs7>>Eg6F0t5&UNE2v&{WzZf z_0DZ%gg{zh2~2?ejHE#dgnGWLLjZM z1SUX$0D;m1$1ecQ7ZB0I#kej|x;QP4009C7(gd1cKaQt=y>lBGA&^#B0uvxWfIw-1 z;}?MD3yA39Vq6y}U7Qw2fB*pkX#&l!AIHGK%lh1@e4rn1w{04 zF|G@gE>4RhK!5;&G=b*VkK^fI@7zX42&5I3zyt^oAW&N1_ywT(0wQ|27}o_#7pKJ$ zAV7dXnn3gG$MN*9cWxsi1kwsiU;+dP5GXBh`~uK?0TDf1jOzlWi__u=5FkJxO`!Sp z<9PblJGYS$0%?UMFaZJt2$U8$egSB{fQTM0#&vQ`5j|Xt>jI^V)8YsaAV45Zp!xOVc>32nw~-M7X@w;) z0RjXFlomLC0cgH}h#oG+b%D~wX>kMy5Fn5y(ER#wJpJpP+sFukw89dY009C7N(&sn z05o4fL=P9^x(0Gcl#qKAud zU7&PvS{wla1PG)FG{1fvPyc%7HZnpWt*`_pK!5;&(gMdX0L>Q=(Zj{KE>OBSEsg*I z0tC_onqNPTr+>Y38yO*xR#*ZPAV7dXX@TPxfaVK`=;2~q7bsnv7Ds>p0Rm|P&95KF z)4$%ijf@aTD=dKt5FkLHw7~HTK=TDe^l&k*3zRNSiz7gQ0D&}t=GTwo>0j^MMn(vv z6_&sR2oNApTHyEvp!otKdbk+Z1xgpE#StJtfIyl+^Xtd)^sjerBO?UT3QJ%D1PBl) zEpYq-(0l>`^%@+{S!^OBRP`WrRjsO7y1kwbWUq6ngf4y@X z86l8XSOOCuK!8ALf#Vl|<_n1E;bL4DC|#TuM}PnU0%-!xuOG+Lzuvixj1WjGEP)9S zAV8qB!0`(}^94loa51h6lrBz-BS3%vfi!{U*N@}rU+>&TMhK)8mcRrE5Fk)m;P?fg z`2r$(xER+3N*AZa5g&Nl*uXk=EBLvb4OJD*72oNYOaQp($d;t+XT#V}i zrHj+z2oNAZAWfk8_2YQ@*E_e75dvw2B`^U31PGKCIDP?WzJQ1xF2;3%(#2_U1PBly zkS5Ul`f)t{>z&)k2!XW15|{u10t8A69KQfGUqD0;7vs7>>Eg6F0t5&UNE2v&{WzZf z_0DZ%gg{zh2~2?ejHE#dgnGWLLjZM z1SUX$0D;m1$1ecQ7ZB0I#kej|x;QP4009C7(gd1cKaQt=y>lBGA&^#B0uvxWfIw-1 b;}?MD3yA39Vq6z^f#i88Zr24)5h4i1pCqqJ6%K_rkc@&yvc zrs2OCWJ_x&c?G9pqRgV!RXeVJWdJF(1St%T$rqGR$3#Ms8o6bi|K~I8{{dDEGTP82 z{2x%In5=G9bHa>r^U1!9w_ZQa0H079yovmfWlA(qH=1su?ixx57gXz!huNSfhC=69# zXzp_8$O(PZ2Too^azLd2z|;vS02Br)FbKzCjKTwb73Xw$1p^hR0(6HMKk!v-IU{D` zuLxBDbheDPs-VOJpzlC_5qqGZredlhrU-V3VYoj~!DAo>qXW=DggF7?4p6X}7y<)Y Xxuk9)W^^En6xUAr4GiicCuvsz2ho-3 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pct b/tests/integration/converters/outputs/graphicsmagick/sample.pct new file mode 100644 index 0000000000000000000000000000000000000000..45d0dac6466883c08a06a453b31b3b3e7230da2c GIT binary patch literal 1386 zcmZQz7zHCa1X#1cz87E+U=U>b&%^NlACT_>#ULq=39X=YPh-9Df)Xf`17z3FXcQvSNNoFiDnySoy!ynKU~0|AVOf@t<)O(_f&< zpMp$cRSiH^%ufj>*=7(c|ED^O?u-To233%m-~Ti8fE4}^WRz_NsrwXVC=_3@F7m4oV2Q&0;J z2NIb23=iphdFdZAgz7UtVp>#Wdc+*6&*g-ZoSf4M7wYK)yHmkg0ok4U=?2K|RFPM~ zv=1CE#w{ku;o^J7A30nU#S}613CaNDK}g1-wg z03(he=DP#~Fvb}2zpFC=ql$V;HUN{;dZ582-@O=$fpp#XV1`;CJ@I=g(;FN(H6aK; zSP%k)a_55uVk96yvJAq{SBC(N&i!EdyZ@o!FxcY^F#UpJRSh5oF#Qs;&0s!Ezq;-W zFdwe}|0*VsdboZ;*=7(Qu3ti>2gHZ#S2tM%;v@9`2g?KX%L>W@k)U8ONFJzPTS7$z zNJzwj_(1)t>PALDLOl<}N78=>#19tKY1Z1ePper6rr+tb!+`@1r=4K>mBf^e903xz z^o!bxxVeegio*2E#mf5l$i~XS^s6bTg@*$PT>1?U>3ezUA2NjLH$P%pRAhR@9H!sp zgp-_{(+L+^=?A-C!C3)jKiK{H=>{ zxbzFk0OL4reK`*!wi6>AG+!7;Ci5p|3JVX0E9mnb~Ef`1#$oXVtV&3p9RM1hqLZOSPbtN r?lQcGvd=KM!P)PCMj*tOU}dAKLDma56KFfs6fCSCOuKjQZ~hMe>9m^j literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pdf b/tests/integration/converters/outputs/graphicsmagick/sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fbb2da58d6e37911664133bdd300a86c6bae7462 GIT binary patch literal 1420 zcmZ`(OK1~O6t&_9o)%iMs2hE##ad|IyreT`>IZ4Ywti~UwEid}lgVp3X_6ObUToTx zRFL{v2r8CZTqyo(5nQieB;+tt*gS2R0$`)XulO~pP>t$TRdgV9^4NdB zg&iKtTFk)>?T(olur0UKjN8^AroMo$S;sP26IGg&Anv9b9uOkaLdek2kndlwCb-V6Qm zY+7Ji5-LAchRQ+?1M1&OB*I*tbu1_?UEJLjO)yKqJ0_b`3J!YdK|cXYtR5!tnj+H4 zVz$}JbGT0d3~Zp9)Zy?w4um8F` z;|~2gy5Qq@M@MAE&1v`7kDtcW+~su7%c*xus;jHzVNc!3cjq?kesVu?ZM1H2RqfSYpRxP^o48AjD*}X zq4w?X&$bNL-K(lSQT1l#?5h`-K3tE!H9q?A8O>=lzCC-s>&DyT<40~U_kG#8^3cL_ zQIu%B)EGUQ$UT1DDt7LRtf?IwIeg*Oi_JBsXROq^4^<9Nw(Jd0DNfHbN@B!d2W*Q) z+FJ`Fqb1kBG8ZjewO~LkMC2USk6={;NGU#8Q`LZq`*9JICFO(DMT`bvKguwF05+=} z(_#P0ux70?pV|!C%Xq2^?U!SEWeq)8QG+T9T%>3)u-v9O#G&IOh>dNZRihq5S7RP literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pgm b/tests/integration/converters/outputs/graphicsmagick/sample.pgm new file mode 100644 index 0000000000000000000000000000000000000000..557ebc7b4f06852b23feb8f74408426513f34a5a GIT binary patch literal 269 zcmWGA+7Wyw1 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.picon b/tests/integration/converters/outputs/graphicsmagick/sample.picon new file mode 100644 index 00000000..b6269035 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.picon @@ -0,0 +1,37 @@ +/* XPM */ +static char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 15 1", +" c black", +". c DarkSlateGray", +"X c #7E7E7E", +"o c navy", +"O c SeaGreen", +"+ c LimeGreen", +"@ c SlateGray", +"# c sienna", +"$ c #800080", +"% c peru", +"& c tan", +"* c violet", +"= c wheat", +"- c gainsboro", +"; c grey75", +/* pixels */ +";;@..$..@.X-;;;;", +";;... . o o@@;;;", +";;X . . . @X;;", +";;@ . . ..@;;", +";;.o . .. . ..;;", +";;@ .%.&&#+. @;;", +";;@. O .. . ..;;", +";;. .&....*. X;;", +";;...=.#O.&. .;;", +";;X . .# O X;;", +";;X .+.&-.+#..;;", +";;X . o . . @;;", +";;X . .. . @;;", +";;@ .. . ..;;", +";;.oo o o @;;", +";;X...@X.X.@.@;;" +}; diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pict b/tests/integration/converters/outputs/graphicsmagick/sample.pict new file mode 100644 index 0000000000000000000000000000000000000000..45d0dac6466883c08a06a453b31b3b3e7230da2c GIT binary patch literal 1386 zcmZQz7zHCa1X#1cz87E+U=U>b&%^NlACT_>#ULq=39X=YPh-9Df)Xf`17z3FXcQvSNNoFiDnySoy!ynKU~0|AVOf@t<)O(_f&< zpMp$cRSiH^%ufj>*=7(c|ED^O?u-To233%m-~Ti8fE4}^WRz_NsrwXVC=_3@F7m4oV2Q&0;J z2NIb23=iphdFdZAgz7UtVp>#Wdc+*6&*g-ZoSf4M7wYK)yHmkg0ok4U=?2K|RFPM~ zv=1CE#w{ku;o^J7A30nU#S}613CaNDK}g1-wg z03(he=DP#~Fvb}2zpFC=ql$V;HUN{;dZ582-@O=$fpp#XV1`;CJ@I=g(Y|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000Y|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000YL zU|?WiU?{DfboJV01`HrCui)qw5ayu`7h!==_wL_4e)JHgh7-pQv#_wtpT9pb(GeoT z#DEw4|NnpG@+G&Q+-zuQAW8!R1H>9*X{}hgCNl{73(%KG>It2w42m=6B&T(jBO~6_J000tnMObu2SV=}YPjYExZggREX>V=- UF@#v`?*IS*07*qoM6N<$f|>)jdjJ3c literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png32 b/tests/integration/converters/outputs/graphicsmagick/sample.png32 new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000yPvc3CGuP*KqSg)Tv& zb|@$!q4Ec$(uzi`W}y?;;UOB-K%@E|9^Uu)Jbb_J`))c+rBG;Vi{maYOQnkotPfc% z77Il&jMF(kzp&tP+3jCvka|T`Jo|$;riO)04j=|>p)b}Hp|KRvbE1c6}~ zrq>S;U@+Kh-LBIa48Fb!LcNaT8yoBEYimG5q1|1tmtj^`-rhu!=W$#Vd48aPX0ucx zh-h?aX>6?35(FGyTwGob27$KQ-7Y~S6057DqtDNekGSSjYX*S88rG5|Nv+l=)9D1E zUjOdYYW?{~{@=gIYNctKb~t8d=jMK9M^O}Iv#C4ptCHfPG=Pbs0000IbVXQnMOaBj hI!|(GWo~p~bZKvH05ODE?C$^o002ovPDHLkV1gHL672v0 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png64 b/tests/integration/converters/outputs/graphicsmagick/sample.png64 new file mode 100644 index 0000000000000000000000000000000000000000..d1689d7950be0e8215866ac6f134f9de38d3937c GIT binary patch literal 691 zcmV;k0!;mhP)Cb{vvdCg;taK#rLJo7U(KWAKdN&{Q&hzoT z=Q~G+961~l6He#q>d{ds6b!bvqd@6&I-OpBd~7ybELN+@)Y;kA*4X&)@EK2Xjf;!R z%W$}+LB9`5Z~tpx|rXc`(s5f~iwdU+mDtLy4S5%Brk zZl_bK)TbQn%O{c#xV=3;Cj?kucREW;fxEkKm=IukdUkexUgD@vIog*`c{iZds@2ui zz|_>x(DE{%(NtAwwE!WtwSjH;1glSzdl`%f+}B7jO|Fr?Ff#bUR=ya4g|^)6NFI?~!-f32JFqI$(LL%`eBa>w}^tTh|>c=19j|cd01vND+ z%d)|s(b(MF(!#ReHAt`5>kWorFxUSDaX0kb7irXt0000IbVXQnMOaBjI!|(GWo~p~ ZbZKvH05ODE?C$^o002ovPDHLkV1muTLwo=L literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png8 b/tests/integration/converters/outputs/graphicsmagick/sample.png8 new file mode 100644 index 0000000000000000000000000000000000000000..a1373766515c3db3e02faeccff822406d39c5bf4 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}W`IwKE07kHP#2X`6Oz;rlhu{g zR+UvTl2tKL&{t70Rna$fGBkJ5a!}H7QZn{cH1Suoja6_?m-i}?bMp!J3Qi4<$q$ar z%PeZmE$b|;omAC4qxrO0%NenThKA;zMf2zHU$x`vz5_=N9XZjPSSb#)jIkuhFPOpM z*^M+1C&}C0g`tC0)&t0C@N{tuk+@uX{vzKY1s;csK?#c=8MQ3*3zYo-e_~#v-ptPL zA60Ur7-lTLrR%KQb?xtG=2suBnqJ)Jk>d62H8PW!=X`ET278G_Q(2V3jiOKc^rt!A zx>T9p?aEf7#WyKV84us_UiKZw5K*uUS5xrVW1H%F?e ur|1!&TZBqnBY?=$&C0(hGc~Uyu_QA;kHN4d;>~-YEQ6=3pUXO@geCx7{CY$H literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pnm b/tests/integration/converters/outputs/graphicsmagick/sample.pnm new file mode 100644 index 0000000000000000000000000000000000000000..a4181cb4b9cc7fe436445e3b1bb28db9fc20dc47 GIT binary patch literal 781 zcmWGA<1#c;Ff`*bGBxF50E5!nNnXLJm?*QTb=8im5H-kTa7@0SggPb?lGMm8>zqG- zKeA#V8<%>Z31YIkRn0RR8XAzb;873MBCBH3+_MO)dRc8%umU4l6(bM>%mp%nWAiZ8 z>o_SjpBB?{P}+Ck2oM1oKrT=amwHh-HQQJP5m_}ipKu@oGJss5ATITW<}QbhoX|IQ z@+y)8A|M0E1qxD2J(_zI^i`bGzqG- zKeA#V8<%>Z31YIkRn0RR8XAzb;873MBCBH3+_MO)dRc8%umU4l6(bM>%mp%nWAiZ8 z>o_SjpBB?{P}+Ck2oM1oKrT=amwHh-HQQJP5m_}ipKu@oGJss5ATITW<}QbhoX|IQ z@+y)8A|M0E1qxD2J(_zI^i`bGY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000T3 zo090)APBIC4O3KCbyan}t9|j!?XQ>DaegN+y(?#MaWOAtRORKAzWcF^ifyt||B5!r z>ht%2eM+iS0y2z>VpvI4sbP{;a#KcCl4rwJp54o`lBF8v`>NOj43MU=(=>)E+7+q1 zDil-GoUm^ZRZMhQCiHPtksFXZnYyE?Ga=!KfKg}pK8urVGs_>Ry&QuvMM8udJD9VWh`;%YqgSD z3|wAQX4_2`&+{E~Q3F6`a+72WxsLWJ7A`ITK74Dyw`HE@o5984f)5|0$YAWv!)!3dCUxJXL5s^)2=)NQo-EUUqv1ELH5qaS4jp)Cw5 zG|JTh<2EXzon%R-dIwP{V+|$(BPp}y%U!w$L#9fU%4}0@rO-1r3Q$@QZ z+v9whoV@`C@sca`so zQYr;9a31*wmiVAVLnFoSwFn-?at*+j1A@)!?x~VzSU9wS;?7W$kE<=Y6vZ)lwA-f* zaZ1)Wuf!GyfUX2C?0I+KUW=s(X=OAAMQ~{!xQ|jGf1!0=;1M(NTOR`u? z(lP%}?3R}GTer16z&I~Bv5TlDRmokPAZ8Kz@NEsH&sqME0c;cuzv0U@626^)e14fMjVdi6j0`KRrO##Q;$5!473w%mc-+Kz=}pZj-iVNhO3lm?3%yBiZ6y3^;gL$8EIl3$pf$!aH!jgJ&)Hp;jrt<=nUk5&J{!0YgTqtD zZT-$+TfhE2Q46PPJYGi`Iagvb;aGxL+UgD1QrgVNBWy63#py} zkc|6^@rwI#%sH3#F7*BGC8y!KdpFxV?dg8KMnla#aGIctHmz@!f0mhUg@>B1$zdof zO>4}|P*pZu9?q1mvqT9k(}8R(i)wpJwl1lRq3*pjGUR)2^JuGyiz52blSu(RnC^kkb&%bL$uvqjk;6>w9Aj2^ggdTS)((`1 zDY(ZUOsDmMxXCi*txhqDYn(AJ)L^#}FWaIPq3K|18^ahip#HE+SOes`RfCUBVacE| z81+c0Ry>$z#OPgg|6w1P~@GVh&CA*(t$Txs}Dt3T&r$ zObd;%TA8hh;cJg{w)NtPq4rj5dazzQDXJdk`qPs&oA3pLrNx)C)gygNPlUUaOr`p6 zrD@R&piNis=`^~NDV!2LkxKr1xDwDuF~DZCS%SCee=$0M;_J7FG>+tHs> zYNqcOIG6si&&*JBldbZ&y|}>r!D%?Mdu&v6&*RYW&cxx!72TvY)LkUnadZ7(GFi7n z^p1e_#6Au}8vrIR$Gw$-9}n3VJFWGn!+M)9GdYZ7Nyk2;zgP_4>09rAqTwbE+sQqR=x z){T!9Wr%YH?hQbwe@kdk#7P;Z8&tED)fR$#Sxsb;zB5u^Ds;J5!~2B?RT5O zK+Jt1MCi?DZXm9GM~K=GI*zs@K2bf z@O>{ByG!ACj_}{CqdqGSjF~;pUkEq!=W{pke1FM~#Uc87BQ&u#KlW7Z@dCbu|0Kb4 zN5aRuD}p`-{W^L@d>NwV`DPv2o9*}JXg&PjuA?48Hc$KgltD*FV}E=zabJ_IPjL_; foa)COr+wS~`TuNOUOwSJbg3-yt$n-sxE%ZsLzaxK literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ps2 b/tests/integration/converters/outputs/graphicsmagick/sample.ps2 new file mode 100644 index 00000000..cd06bf84 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ps2 @@ -0,0 +1,178 @@ +%!PS-Adobe-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.ps2) +%%CreationDate: (Fri Oct 16 19:15:09 2026) +%%BoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore + showpage +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +%%BeginData: 663 Binary Bytes +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ps3 b/tests/integration/converters/outputs/graphicsmagick/sample.ps3 new file mode 100644 index 00000000..a14e10e6 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ps3 @@ -0,0 +1,234 @@ +%!PS-Adobe-3.0 +%%Creator: GraphicsMagick 1.3.49 +%%Title: /app/tests/integration/converters/outputs/graphicsmagick/sample.ps3 +%%CreationDate: Fri Oct 16 19:15:09 2026 +%%BoundingBox: 0 0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 3 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments +%%BeginProlog +/ByteStreamDecodeFilter +{ + /z exch def + /r exch def + /c exch def + /ASCII85Decode filter + z 1 eq + { + << + /K -1 + /Columns c + /Rows r + >> + /CCITTFaxDecode filter + } if + z 2 eq {/RunLengthDecode filter} if + z 3 eq {/LZWDecode filter} if + z 4 eq {/FlateDecode filter} if + z 5 eq {/DCTDecode filter} if +} bind def + +/DirectClassImageDict +{ + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode [0 1 0 1 0 1] + >> + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode + compression 5 eq + {[1 0 1 0 1 0 1 0]} + {[0 1 0 1 0 1 0 1]} + ifelse + >> + } + ifelse +} bind def + +/PseudoClassImageDict +{ + % COLORS IN PSEUDO CLASS IMAGE + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % DEPTH OF GRAYSCALE + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + { + % RGB COLORMAP + /colormap colors 3 mul string def + % INDEXES + currentfile /ASCII85Decode filter colormap readstring pop pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + ifelse +} bind def + +/NonMaskedImageDict +{ + class 1 eq + { PseudoClassImageDict } + { DirectClassImageDict } + ifelse +} bind def + +/MaskedImageDict +{ + << + /ImageType 3 + /InterleaveType 3 + /DataDict NonMaskedImageDict + /MaskDict + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 1 + /DataSource mask_stream + /MultipleDataSources false + /ImageMatrix [ columns 0 0 rows neg 0 rows] + /Decode [ 0 1 ] + >> + >> +} bind def + +/ClipImage +{} def + +/DisplayImage +{ + /buffer 512 string def + + % TRANSLATION + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + + % IMAGE SIZE AND FONT SIZE + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + + % CLIPPING PATH + currentfile buffer readline pop + token pop /clipped exch def pop + + % EPS + currentfile buffer readline pop + token pop /sp exch def pop + + % IMAGE PIXEL SIZE + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + + % COLORSPACE (RGB/CMYK) + currentfile buffer readline pop + token pop /colorspace exch def pop + + % TRANSPARENCY + currentfile buffer readline pop + token pop /alpha exch def pop + + % STENCIL MASK? + currentfile buffer readline pop + token pop /stencil exch def pop + + % IMAGE CLASS (DIRECT/PSEUDO) + currentfile buffer readline pop + token pop /class exch def pop + + % COMPRESSION + currentfile buffer readline pop + token pop /compression exch def pop + + % CLIP AND RENDER + /pixel_stream currentfile columns rows compression + ByteStreamDecodeFilter def + clipped {ClipImage} if + alpha stencil not and + { MaskedImageDict mask_stream resetfile } + { NonMaskedImageDict } + ifelse + stencil {0 setgray imagemask} {image} ifelse + grestore + sp {showpage} if +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +/ClipImage {} def +%%BeginData: 98 ASCII Bytes +currentfile 16 16 4 ByteStreamDecodeFilter +/ReusableStreamDecode filter +GhP5%It7P!qZ1;6&-13R$s`~> +%%EndData +/mask_stream exch def +%%BeginData: 335 ASCII Bytes +DisplayImage +0 0 +16 16 +12.000000 +false +true +16 16 +0 +true +false +0 +4 +GhQY8!.iSP8RB64Qmf;>Fk)MQ$lC*H-=9S9*>8`NC?1\'cC_kD8G,4n-ECA$4JSUDJOoH!,c +bD&gp79eH;mVH`&bE4Ie>'QE6!qSk?!b?4Kh24^q^T%E&MrrY`2+N2A<= +Z,9L2Cl<(0JX%?Gg?LsG9Yl6]t7cYuig3shVo!8:8+4T~> +%%EndData +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ptif b/tests/integration/converters/outputs/graphicsmagick/sample.ptif new file mode 100644 index 0000000000000000000000000000000000000000..1dc6f4528386e6dc4f03ac0d5824f9e0466ae7d2 GIT binary patch literal 690 zcmebD)M5x?WMHVcm7LJfaOsxk>-BNF-<)q?K5<(6PC*Ix2F}kH>e_wnEY$wL+h=P% zrQl_HN=iycpRY~QlFVnbX1w^(9P(G;z^PNmCQO>Pch=kY-5qUhZS_lDu`|la#kFne z*>msKq#Z&rzbae)8`e~wW(hgXJMH(Ur`j<*EOTP+zF!w>GpkdXy!4oHm-u21&gk&`cMgd>+tDTc|k5t{^0KFpv#0PXQzW1RPMv2y_7m z>L(Ty=$E7xmlW$~=9Q$T7bTWt=I7}r=jWBB7L}wH73=4hmK2l%rGZif8JWq&xrynS z$=UkFiMa(isd@z^nQ06R?oc^ju$+RSp0S>ZrGk-xk(sWcfv$mtLZG3ULPkkRft9{~ Qd3m`Ws(QWrqI7)*07U8LeEY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000w~cg>Ia!ECab%us(A)eLqh{hAB-kSKgbMO6_cLko<%Ty zFd9X_thOrHAF?V&K=notHdG8~#+~5UJeWQh4cD*Zr1Zb}wAg0 zk|U&FR8H-`ZLGq75m~kWZa(2)3}S=CKyrli8=AZPKXl~8e|=M@|6WCMU<_h|#6WVi z){o8o3i>Mlozvz2D;TH{v>#je8T%^!Z#g6O-^5>$pnjnL{>z}npO}K$e-%@e|6+=S m!w;mN0LB~t1oRT+egbA-vwuTL-NgUE{7Vd8UtBv0mTm!^)IW0o literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.rgb b/tests/integration/converters/outputs/graphicsmagick/sample.rgb new file mode 100644 index 0000000000000000000000000000000000000000..273ff4aa7960d248ddcae7cd993af1c51a62d3c8 GIT binary patch literal 768 zcmZQz0D;olNnXLJm?*QTb=8imU?nI-a7@0SggPb?lGMm8>zqG-KZ!)CbI&5I>SeW6!3vCIRg6FkFc-)Oj?KeVuj8cDd|FJ)L22KC zBR~XX0J%UxTpVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I L!NtJ54oklPw97p% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.sgi b/tests/integration/converters/outputs/graphicsmagick/sample.sgi new file mode 100644 index 0000000000000000000000000000000000000000..8086f59c109e99552154b56a5133f6a03a2a3cbb GIT binary patch literal 1917 zcmeH{PiWIn9LHbx$E5KOrmP_oQ`-?6*(!ClwWq%qLG*|?igmh=XBzO&e5VGSKxCxfPH$sGcU<|Q4 zK^~k34?rF9ouCM2z&peX;3Sv@F4#h@0nQ>`0R=Dto`8?YiGtJM5%`SwUT_XP1s{+X z0$ET+d;)lN+yXDaSLDFE`yzM=z9VMl4@6&v?RlxV6uVO zjcts*PlzeY`(;g2bVc?`!AMzE2UJ~;=Mt({5k@S-IA~-tNj+(_6y_VGX#eu^(djHV zD69>ytc<-s#SQwDKG#hsiM9sOp`MYE_=z|-h*h-F(e#BQ+#nfGj*sgH^tJ|r^>nF} zt`Bm9yql}la&Dd*6juweSYfreJqG?1dWNFB0)GlxCB`f8r+}ty1^y!T(-b%G7jby4 zzzzIGMAOzl*07CexPiZoXt;sDjc8g8a9GW->}ZsowQ^W>^m|NOVZ+HjXWBcC!LTXH zRJnaOh!<6=(V%0A20i>Z=rqDjXTF0)nSx9sSDxW#hR>A+mG<5UI+kG2L$hz#n}*nQ l-il0L7fQ~hdHhq6F(sHzZHehQq3X8wYfe*uY<@SOkv literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.shtml b/tests/integration/converters/outputs/graphicsmagick/sample.shtml new file mode 100644 index 00000000..59df2bad --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.shtml @@ -0,0 +1,3 @@ + + + diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.sun b/tests/integration/converters/outputs/graphicsmagick/sample.sun new file mode 100644 index 0000000000000000000000000000000000000000..06d67ab85d3f4b0c86a0a8bbf718f0dec969f6f4 GIT binary patch literal 1056 zcma!CmNk`ufk6O@6&M&;fJ_Ev5P=NVm)1`D=M|ia3t!7DY86_w<0`TqWcJw~cg>Ia!ECab%us(A)eLqh{hAB-kSKgbMO6_cLko<%Ty zFd9X_thOrHAF?V&K=notHdG8~#+~5UJeWQh4cD*Zr1Zb}wAg0 zk|U&FR8H-`ZLGq75m~kWZa(2)3}S=CKyrli8=AZPKXl~8e|=M@|6WCMU<_h|#6WVi z){o8o3i>Mlozvz2D;TH{v>#je8T%^!Z#g6O-^5>$pnjnL{>z}npO}K$e-%@e|6+=S m!w;mN0LB~t1oRT+egbA-vwuTL-NgUE{7Vd8UtBv0mTm!^)IW0o literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.text b/tests/integration/converters/outputs/graphicsmagick/sample.text new file mode 100644 index 00000000..2336758d --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.text @@ -0,0 +1,256 @@ +0,0: ( 0, 0, 0,255) #000000FF +1,0: ( 0, 0, 0,255) #000000FF +2,0: (117,125,146, 80) #757D9250 +3,0: ( 74, 83,101, 1) #4A536501 +4,0: ( 74, 83,101, 1) #4A536501 +5,0: ( 74, 83,101, 1) #4A536501 +6,0: ( 74, 83,101, 1) #4A536501 +7,0: ( 74, 83,101, 1) #4A536501 +8,0: ( 74, 83,101, 1) #4A536501 +9,0: ( 74, 83,101, 1) #4A536501 +10,0: (105,114,133, 41) #69728529 +11,0: (170,184,213,237) #AAB8D5ED +12,0: ( 0, 0, 0,255) #000000FF +13,0: ( 0, 0, 0,255) #000000FF +14,0: ( 0, 0, 0,255) #000000FF +15,0: ( 0, 0, 0,255) #000000FF +0,1: ( 0, 0, 0,255) #000000FF +1,1: ( 0, 0, 0,255) #000000FF +2,1: ( 83, 92,111, 34) #535C6F22 +3,1: ( 17, 24, 39, 0) #11182700 +4,1: ( 17, 24, 39, 0) #11182700 +5,1: ( 17, 24, 39, 0) #11182700 +6,1: ( 17, 24, 39, 0) #11182700 +7,1: ( 17, 24, 39, 0) #11182700 +8,1: ( 17, 24, 39, 0) #11182700 +9,1: ( 17, 24, 39, 0) #11182700 +10,1: ( 18, 25, 40, 0) #12192800 +11,1: (109,118,137, 60) #6D76893C +12,1: (159,159,191,247) #9F9FBFF7 +13,1: ( 0, 0, 0,255) #000000FF +14,1: ( 0, 0, 0,255) #000000FF +15,1: ( 0, 0, 0,255) #000000FF +0,2: ( 0, 0, 0,255) #000000FF +1,2: ( 0, 0, 0,255) #000000FF +2,2: ( 83, 92,111, 34) #535C6F22 +3,2: ( 17, 24, 39, 0) #11182700 +4,2: ( 17, 24, 39, 0) #11182700 +5,2: ( 17, 24, 39, 0) #11182700 +6,2: ( 17, 24, 39, 0) #11182700 +7,2: ( 17, 24, 39, 0) #11182700 +8,2: ( 17, 24, 39, 0) #11182700 +9,2: ( 17, 24, 39, 0) #11182700 +10,2: ( 17, 24, 39, 0) #11182700 +11,2: ( 22, 29, 45, 0) #161D2D00 +12,2: (122,131,152, 85) #7A839855 +13,2: (128,128,128,253) #808080FD +14,2: ( 0, 0, 0,255) #000000FF +15,2: ( 0, 0, 0,255) #000000FF +0,3: ( 0, 0, 0,255) #000000FF +1,3: ( 0, 0, 0,255) #000000FF +2,3: ( 83, 92,111, 34) #535C6F22 +3,3: ( 17, 24, 39, 0) #11182700 +4,3: ( 17, 24, 39, 0) #11182700 +5,3: ( 17, 24, 39, 0) #11182700 +6,3: ( 17, 24, 39, 0) #11182700 +7,3: ( 17, 24, 39, 0) #11182700 +8,3: ( 17, 24, 39, 0) #11182700 +9,3: ( 17, 24, 39, 0) #11182700 +10,3: ( 17, 24, 39, 0) #11182700 +11,3: ( 17, 24, 39, 0) #11182700 +12,3: ( 29, 36, 52, 0) #1D243400 +13,3: (131,140,162,115) #838CA273 +14,3: ( 0, 0, 0,255) #000000FF +15,3: ( 0, 0, 0,255) #000000FF +0,4: ( 0, 0, 0,255) #000000FF +1,4: ( 0, 0, 0,255) #000000FF +2,4: ( 83, 92,111, 34) #535C6F22 +3,4: ( 17, 24, 39, 0) #11182700 +4,4: ( 17, 24, 39, 0) #11182700 +5,4: ( 29, 43, 37, 0) #1D2B2500 +6,4: ( 17, 24, 39, 0) #11182700 +7,4: ( 29, 36, 50, 0) #1D243200 +8,4: ( 29, 36, 50, 0) #1D243200 +9,4: ( 17, 24, 39, 0) #11182700 +10,4: ( 29, 43, 37, 0) #1D2B2500 +11,4: ( 17, 24, 39, 0) #11182700 +12,4: ( 17, 24, 39, 0) #11182700 +13,4: ( 83, 93,110, 35) #535D6E23 +14,4: ( 0, 0, 0,255) #000000FF +15,4: ( 0, 0, 0,255) #000000FF +0,5: ( 0, 0, 0,255) #000000FF +1,5: ( 0, 0, 0,255) #000000FF +2,5: ( 83, 92,111, 34) #535C6F22 +3,5: ( 17, 24, 39, 0) #11182700 +4,5: ( 44, 66, 34, 0) #2C422200 +5,5: (131,203, 22, 0) #83CB1600 +6,5: ( 42, 64, 34, 0) #2A402200 +7,5: (190,192,196, 0) #BEC0C400 +8,5: (190,192,196, 0) #BEC0C400 +9,5: ( 42, 64, 34, 0) #2A402200 +10,5: (131,203, 22, 0) #83CB1600 +11,5: ( 44, 66, 34, 0) #2C422200 +12,5: ( 17, 24, 39, 0) #11182700 +13,5: ( 83, 93,110, 35) #535D6E23 +14,5: ( 0, 0, 0,255) #000000FF +15,5: ( 0, 0, 0,255) #000000FF +0,6: ( 0, 0, 0,255) #000000FF +1,6: ( 0, 0, 0,255) #000000FF +2,6: ( 83, 92,111, 34) #535C6F22 +3,6: ( 17, 24, 39, 0) #11182700 +4,6: ( 21, 30, 38, 0) #151E2600 +5,6: ( 61, 93, 32, 0) #3D5D2000 +6,6: ( 20, 29, 38, 0) #141D2600 +7,6: ( 70, 76, 87, 0) #464C5700 +8,6: ( 70, 76, 87, 0) #464C5700 +9,6: ( 20, 29, 38, 0) #141D2600 +10,6: ( 61, 93, 32, 0) #3D5D2000 +11,6: ( 21, 30, 38, 0) #151E2600 +12,6: ( 17, 24, 39, 0) #11182700 +13,6: ( 83, 93,110, 35) #535D6E23 +14,6: ( 0, 0, 0,255) #000000FF +15,6: ( 0, 0, 0,255) #000000FF +0,7: ( 0, 0, 0,255) #000000FF +1,7: ( 0, 0, 0,255) #000000FF +2,7: ( 83, 92,111, 34) #535C6F22 +3,7: ( 17, 24, 39, 0) #11182700 +4,7: ( 49, 55, 68, 0) #31374400 +5,7: (194,196,200, 0) #C2C4C800 +6,7: ( 47, 53, 66, 0) #2F354200 +7,7: ( 74,114, 30, 0) #4A721E00 +8,7: ( 74,114, 30, 0) #4A721E00 +9,7: ( 47, 53, 66, 0) #2F354200 +10,7: (194,196,200, 0) #C2C4C800 +11,7: ( 49, 55, 68, 0) #31374400 +12,7: ( 17, 24, 39, 0) #11182700 +13,7: ( 83, 93,110, 35) #535D6E23 +14,7: ( 0, 0, 0,255) #000000FF +15,7: ( 0, 0, 0,255) #000000FF +0,8: ( 0, 0, 0,255) #000000FF +1,8: ( 0, 0, 0,255) #000000FF +2,8: ( 83, 92,111, 34) #535C6F22 +3,8: ( 17, 24, 39, 0) #11182700 +4,8: ( 49, 55, 68, 0) #31374400 +5,8: (194,196,200, 0) #C2C4C800 +6,8: ( 47, 53, 66, 0) #2F354200 +7,8: ( 74,114, 30, 0) #4A721E00 +8,8: ( 74,114, 30, 0) #4A721E00 +9,8: ( 47, 53, 66, 0) #2F354200 +10,8: (194,196,200, 0) #C2C4C800 +11,8: ( 49, 55, 68, 0) #31374400 +12,8: ( 17, 24, 39, 0) #11182700 +13,8: ( 83, 93,110, 35) #535D6E23 +14,8: ( 0, 0, 0,255) #000000FF +15,8: ( 0, 0, 0,255) #000000FF +0,9: ( 0, 0, 0,255) #000000FF +1,9: ( 0, 0, 0,255) #000000FF +2,9: ( 83, 92,111, 34) #535C6F22 +3,9: ( 17, 24, 39, 0) #11182700 +4,9: ( 21, 30, 38, 0) #151E2600 +5,9: ( 61, 93, 32, 0) #3D5D2000 +6,9: ( 20, 29, 38, 0) #141D2600 +7,9: ( 70, 76, 87, 0) #464C5700 +8,9: ( 70, 76, 87, 0) #464C5700 +9,9: ( 32, 47, 36, 0) #202F2400 +10,9: ( 67,103, 31, 0) #43671F00 +11,9: ( 32, 48, 36, 0) #20302400 +12,9: ( 17, 24, 39, 0) #11182700 +13,9: ( 83, 93,110, 35) #535D6E23 +14,9: ( 0, 0, 0,255) #000000FF +15,9: ( 0, 0, 0,255) #000000FF +0,10: ( 0, 0, 0,255) #000000FF +1,10: ( 0, 0, 0,255) #000000FF +2,10: ( 83, 92,111, 34) #535C6F22 +3,10: ( 17, 24, 39, 0) #11182700 +4,10: ( 44, 66, 34, 0) #2C422200 +5,10: (131,203, 22, 0) #83CB1600 +6,10: ( 42, 64, 34, 0) #2A402200 +7,10: (190,192,196, 0) #BEC0C400 +8,10: (190,192,196, 0) #BEC0C400 +9,10: ( 51, 77, 33, 0) #334D2100 +10,10: (132,204, 22, 0) #84CC1600 +11,10: ( 52, 79, 33, 0) #344F2100 +12,10: ( 17, 24, 39, 0) #11182700 +13,10: ( 83, 93,110, 35) #535D6E23 +14,10: ( 0, 0, 0,255) #000000FF +15,10: ( 0, 0, 0,255) #000000FF +0,11: ( 0, 0, 0,255) #000000FF +1,11: ( 0, 0, 0,255) #000000FF +2,11: ( 83, 92,111, 34) #535C6F22 +3,11: ( 17, 24, 39, 0) #11182700 +4,11: ( 17, 24, 39, 0) #11182700 +5,11: ( 28, 43, 37, 0) #1C2B2500 +6,11: ( 17, 24, 39, 0) #11182700 +7,11: ( 29, 36, 50, 0) #1D243200 +8,11: ( 29, 36, 50, 0) #1D243200 +9,11: ( 22, 32, 38, 0) #16202600 +10,11: ( 36, 53, 36, 0) #24352400 +11,11: ( 22, 33, 38, 0) #16212600 +12,11: ( 17, 24, 39, 0) #11182700 +13,11: ( 83, 93,110, 35) #535D6E23 +14,11: ( 0, 0, 0,255) #000000FF +15,11: ( 0, 0, 0,255) #000000FF +0,12: ( 0, 0, 0,255) #000000FF +1,12: ( 0, 0, 0,255) #000000FF +2,12: ( 83, 92,111, 34) #535C6F22 +3,12: ( 17, 24, 39, 0) #11182700 +4,12: ( 17, 24, 39, 0) #11182700 +5,12: ( 17, 24, 39, 0) #11182700 +6,12: ( 17, 24, 39, 0) #11182700 +7,12: ( 17, 24, 39, 0) #11182700 +8,12: ( 17, 24, 39, 0) #11182700 +9,12: ( 17, 24, 39, 0) #11182700 +10,12: ( 17, 24, 39, 0) #11182700 +11,12: ( 17, 24, 39, 0) #11182700 +12,12: ( 17, 24, 39, 0) #11182700 +13,12: ( 83, 93,110, 35) #535D6E23 +14,12: ( 0, 0, 0,255) #000000FF +15,12: ( 0, 0, 0,255) #000000FF +0,13: ( 0, 0, 0,255) #000000FF +1,13: ( 0, 0, 0,255) #000000FF +2,13: ( 83, 92,111, 34) #535C6F22 +3,13: ( 17, 24, 39, 0) #11182700 +4,13: ( 17, 24, 39, 0) #11182700 +5,13: ( 17, 24, 39, 0) #11182700 +6,13: ( 17, 24, 39, 0) #11182700 +7,13: ( 17, 24, 39, 0) #11182700 +8,13: ( 17, 24, 39, 0) #11182700 +9,13: ( 17, 24, 39, 0) #11182700 +10,13: ( 17, 24, 39, 0) #11182700 +11,13: ( 17, 24, 39, 0) #11182700 +12,13: ( 17, 24, 39, 0) #11182700 +13,13: ( 83, 93,110, 35) #535D6E23 +14,13: ( 0, 0, 0,255) #000000FF +15,13: ( 0, 0, 0,255) #000000FF +0,14: ( 0, 0, 0,255) #000000FF +1,14: ( 0, 0, 0,255) #000000FF +2,14: ( 83, 92,111, 34) #535C6F22 +3,14: ( 17, 24, 39, 0) #11182700 +4,14: ( 17, 24, 39, 0) #11182700 +5,14: ( 17, 24, 39, 0) #11182700 +6,14: ( 17, 24, 39, 0) #11182700 +7,14: ( 17, 24, 39, 0) #11182700 +8,14: ( 17, 24, 39, 0) #11182700 +9,14: ( 17, 24, 39, 0) #11182700 +10,14: ( 17, 24, 39, 0) #11182700 +11,14: ( 17, 24, 39, 0) #11182700 +12,14: ( 17, 24, 39, 0) #11182700 +13,14: ( 83, 93,110, 35) #535D6E23 +14,14: ( 0, 0, 0,255) #000000FF +15,14: ( 0, 0, 0,255) #000000FF +0,15: ( 0, 0, 0,255) #000000FF +1,15: ( 0, 0, 0,255) #000000FF +2,15: (116,126,145, 79) #747E914F +3,15: ( 74, 83,101, 0) #4A536500 +4,15: ( 74, 83,101, 0) #4A536500 +5,15: ( 74, 83,101, 0) #4A536500 +6,15: ( 74, 83,101, 0) #4A536500 +7,15: ( 74, 83,101, 0) #4A536500 +8,15: ( 74, 83,101, 0) #4A536500 +9,15: ( 74, 83,101, 0) #4A536500 +10,15: ( 74, 83,101, 0) #4A536500 +11,15: ( 74, 83,101, 0) #4A536500 +12,15: ( 74, 83,101, 0) #4A536500 +13,15: (115,125,146, 80) #737D9250 +14,15: ( 0, 0, 0,255) #000000FF +15,15: ( 0, 0, 0,255) #000000FF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.tga b/tests/integration/converters/outputs/graphicsmagick/sample.tga new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.tiff b/tests/integration/converters/outputs/graphicsmagick/sample.tiff new file mode 100644 index 0000000000000000000000000000000000000000..90d6a84dba7a56b58495d4d38d5cb0ec71044026 GIT binary patch literal 702 zcmebD)M5x?WMHVcm7LJfaOsxk>-BNF-<)q?K5<(6PC*Ix2F}kH>e_wnEY$wL+h=P% zrQl_HN=iycpRY~QlFVnbX1w^(9P(G;z^PNmCQO>Pch=kY-5qUhZS_lDu`|la#kFne z*>msKq#Z&rzbae)8`e~wW(hgXJMH(Ur`j<*EOTP+zF!w>;9%2-FXP`iTVv`X#BwCB^!gc_pdoMTsSu`FZ-u`FUljMJ1_4#rpZBB?YBGX`oa= zMrLwxZen_7a<+bPVs1fBs$NNES{eg`J5?oXRK#psbFMaWTtCqple{E5NK$o YkWo@nV5P5LUS6(;s$MU@C|#cc01~t}!E39%g={ca>&dNU0{eewh2p_g6XiEi7qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vicar b/tests/integration/converters/outputs/graphicsmagick/sample.vicar new file mode 100644 index 0000000000000000000000000000000000000000..818d59e9cc9e4c010f674995be25a80e51faa393 GIT binary patch literal 2309 zcmeZq@(K2gaX7)4HSZ0oxw7OW(xj6?m*4Kf$9o=KDI!AU?p~Bwkdc{O?35odFD@#UVhVbP)<)T&Af3Bmk2a7gz3v^3}wZmBrP>#iJp7^982+_nR&-hw){6 zq`keRePm#Kv%@AaF(!x2aPh(FHA6IE@?i5E7COTC;;KOVWOe1>e5i|wY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000MkEZ90`Xa(G>DH4fYg8hKZF`32X_dRdO<+u zDu_FS1tCBvcRpAE#upT;Y5)nq`GT^|P`<37ED#9_21EEd&072RX*KJ>_@cHVZf+vB zqA0|{X>Sh_+a%4&I&MjuzAKUCNRFB4A4F?6)`v;>SE&fB~bqYsbY|OYl9)6 zXa|VLzz`z=0g`19|HJqavds<1@)8m%Jy5>3go=uUwuD41gzt3P;lKfh(@rqHT&%2* zk8G?QjBkF#w5Z7Rh&e7kSiOF_0Zbljp6?ld7$0brii(1%BAgF(F>(AlsDFV}Ey%r- zQX!!ADu~CxkgpB_8lC%5`0Bbd8j$7H)lC*b`KszhM(V2S>Uj{pl9_SCnx1|Np`9kHo)&qW}N@LCN0$^WXpf>lqjT?2|?j literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vst b/tests/integration/converters/outputs/graphicsmagick/sample.vst new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.wbmp b/tests/integration/converters/outputs/graphicsmagick/sample.wbmp new file mode 100644 index 0000000000000000000000000000000000000000..ba8246f7d197c9e3af7610a6f3b6dc34def09a28 GIT binary patch literal 36 qcmZQz5D;KAP~c$TVPH^TU|qnVz^cHqfQ3bM0|NsC3lK9HaR2~0cmq!W literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.webp b/tests/integration/converters/outputs/graphicsmagick/sample.webp new file mode 100644 index 0000000000000000000000000000000000000000..903981597825dceff09222eebf503e00ca56ce02 GIT binary patch literal 254 zcmWIYbaVU0z`zjh>J$(bU=hIuWD5W>KNvas1b8?Ad5rlB)F!EzR`|Sp`oYXziRr|v z{-o^>oi$eF&ffL9RKSfR&_&Rdcd_;Ny_prpj7q=cGgOotbXVS3{b15+`){)ufhH?V z0Gcy_iD53ImH^NOCI%DLDNH2>4(t_-Ys4a?&rfM!`1gG-=hfdY@-}_(7yG38I#grc zUcQo`ZQUD6&lf8PdRpxNfBB^B+!^AGC;Qa@Utf3ajvzyXP~NZgo}Y{Mf9OB>{iN%~ zNd>Q8d=Yr#|DxCA#oA-et-5@kA+cM#-b(X-(a>4R!^?8C@=n(+-?vYq5}teuVE_QG CzG#sE literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.x b/tests/integration/converters/outputs/graphicsmagick/sample.x new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr0000 c #313744", +", c #2A4022", +"< c #2C4222", +"1 c #334D21", +"2 c #344F21", +"3 c #3D5D20", +"4 c #43671F", +"5 c #4A721E", +"6 c #464C57", +"7 c #4A5365", +"8 c #535C6F", +"9 c #535D6E", +"0 c #697285", +"q c #6D7689", +"w c #737D92", +"e c #757D92", +"r c #747E91", +"t c #7A8398", +"y c #83CB16", +"u c #84CC16", +"i c #808080", +"p c #838CA2", +"a c #9F9FBF", +"s c #AAB8D5", +"d c #BEC0C4", +"f c #C2C4C8", +"g c None", +/* pixels */ +"gge77777770sgggg", +"gg8........qaggg", +"gg8........+tigg", +"gg8.........*pgg", +"gg8..%o==O=OO9gg", +"gg8.f:55>f>O9gg", +"gg8.>f*55:f>O8gg", +"gg8O+3=66=4=O8gg", +"gg8O;u,ds1u2o9gg", +"gg8O+=.&=o;oO9gg", +"gg8........OO8gg", +"gg8........O.8gg", +"gg8.......OOO9gg", +"gge7777777777egg" +}; diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xv b/tests/integration/converters/outputs/graphicsmagick/sample.xv new file mode 100644 index 0000000000000000000000000000000000000000..9484d38fd6c2191be3a331aedd9fb716e3ccf3e4 GIT binary patch literal 2048 zcmZ3@$jHpZFbYOPfI$El1|ZDv9}0j>MkEZ90`Xa(G>DH4fYg8hKZF`32X_dRdO<+u zDu_FS1tCBvcRpAE#upT;Y5)nq`GT^|P`<37ED#9_21EEd&072RX*KJ>_@cHVZf+vB zqA0|{X>Sh_+a%4&I&MjuzAKUCNRFB4A4F?6)`v;>SE&fB~bqYsbY|OYl9)6 zXa|VLzz`z=0g`19|HJqavds<1@)8m%Jy5>3go=uUwuD41gzt3P;lKfh(@rqHT&%2* zk8G?QjBkF#w5Z7Rh&e7kSiOF_0Zbljp6?ld7$0brii(1%BAgF(F>(AlsDFV}Ey%r- zQX!!ADu~CxkgpB_8lC%5`0Bbd8j$7H)lC*b`KszhM(V2S>Uj{pl9_SCnx1|Np`9kHo)&qW}N@LCN0$^WXpf>lqjT?2|?j literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xwd b/tests/integration/converters/outputs/graphicsmagick/sample.xwd new file mode 100644 index 0000000000000000000000000000000000000000..ea53f6b5bcb7423a454d94d634d7073fb0cc4a73 GIT binary patch literal 936 zcmZQzU|7Mxz`zc~Oh7CF!~#$Zq!<{1SOJL!$r}JME5m;vi6DUDAf;e{tRF0(pIA_! zUy@o}QmmhuSCX1ulvt9PpQoRkpI4SzRFYa$te;<6Qcwz%21*rVWF{BqCZ=a5XX_Uy z<`(3n>Q$7dK#eY~o#Yjqiit9dT37A33RQ$e1;^wIN~mKZAxVwgvd;PQ_amtVF>$E} znjj{tTh%-njsOvm0ptP&aj6%TQ?rd#5Rp}L^9ctcAOpw+3gS|4Xzp_8$O(N@C$AzoAObRg zT%aJe)T6maL0`o=U0%UJ1(*3~{x$YhY&j!l;;)EHJy2W*DLlm#)KpAW#1wJ*7pNW= b!W#a#6a&R6R9{jz5i>C(ixk&Rf}{rkUnr=1 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.y b/tests/integration/converters/outputs/graphicsmagick/sample.y new file mode 100644 index 0000000000000000000000000000000000000000..0dc39a5a62a4a34ad7e212034ce74dbbd86141a9 GIT binary patch literal 492 zcmVY|7_P_)R~C@&cqjm_I%<}fS#&4};idHVEwKF{y@JsRH9*<+j8 z+;W!_CF$v=ZA)oIQB_&q)q5@?n}b77zH4bg6HTzPyqF_|m~}YjOBxz14-qc$!-PU1 zrY9$g_D*)jtX8Y^YXN|wJTdOHS88SRz_$W9`6ax{3CME72Nnq2vc9oe5mjKwRcIdd zqt8}w+HE-PHuTwHX2?}kmx<5dd|xnUi|4{4=pP&g;KCDT=liO1bq7X$8htHO7*dUh zEEging(1~QU&|CmeOhe6Z=>qzqi}+{a%og`Alj1 z9lm3Uu8uYUI)`epG~MI(O8C7o1gBd%M(UFY`XuTa+W~ld)-l?e$jznt#p5lAQ0SFR$h16OIWdHyG5_CmabVXQ6 iMmkS&X=QG7VRUJ4ZU8ZaSnTfr00001A?!g9a!D&?7zZk;v$tHXqAnM*6Lli*_uywq+^1kQSh37B}(lp3I&-^*h z^ZAqi;-Np;B)&eJx4f-9!<6nD&n6#!zxY4)|D|6G#*9` + + diff --git a/tests/integration/converters/outputs/imagemagick/sample.aai b/tests/integration/converters/outputs/imagemagick/sample.aai new file mode 100644 index 0000000000000000000000000000000000000000..06c9627951d6a342c2f1e49486209f6a9bab3491 GIT binary patch literal 1032 zcmWe&U|0nKsiGC)#OC~Da6|TQ7w+Q* z#vnFW3@ArPzl*uyzY|9e{c|$a|0h@E1;!vYNDL%LYyH^VucEK;Pd?rGpNfG3LHn_V zpQ5kvKe00{{}laA2k Tx{?jJ@-Djgq}t;3u=EQ6J+wT# literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ai b/tests/integration/converters/outputs/imagemagick/sample.ai new file mode 100644 index 0000000000000000000000000000000000000000..0416f93b7e3644f4e92ff34347aa2df180c0e461 GIT binary patch literal 2247 zcmcguZ)h837|%LN&5Kg!5M`jeOk3+Z0I+4jfD07a1qo9N0zz-r72g45)hC?U{qWd8GAj~?wWY1I1oK@ z+}-m&|K8v4d7d|YnPh4&*%w6wi9dBqnFt%+P@#s zYLP4QW#6Ew&rGUls(#uKzU>y)tUtJsc3^$MCt5Xg(iA4Ubai6$93gg9uPo(CT{=N==P z4=A_hk|`_zDOkwU1&8ky$VdQ=o?Xn-0!&(5a4`Jznp}8rAt6^UI4*;(BP6`2SAb4H z5D6)>>`)7+5>jQ|p-F16BIS%7HjA)9q99?6nzJP!4_*_j%&c5ZHz+22e*jk8bnFbZ z60A~VRnD9W@zT2eGA2!Q1P?3C)rWjN3>G$w6QQMB8{@~;u3i{e{jh#}dF8>!vD$w; z6Mtf7czo{8JN5O8pI;pNedy`_m8sildu(J44W%63rQ}|VTX+Twa zbDu50oxNw0y**b>^(=>WoZEJ%t9$~3+b$>z2aHj-sowiau(&+8_C``_*ec#B`E^I&FIQ{6(J&n`7 zyBh16AK1{Z-%4UA^woQ-KW%}L-?dSB6Qi~k74oK2rg$(ll1hnUOcF(fz@3D55uORS zWf)<@b*IEEUrkYAIqKb@#?7Q*QH+2Kek)qjh3g9ZD01MNuk%oG&>w*(4;_JL3_>Mf zSULYwESSv2x&b4`+y8&RF_Tr3Fv{>i^0|l@0f2}?G$M=9XOWO*#lKr?mGXi`XAqnj zDgxlW3oEiL$#@30WYFFG!qt{ch9Mk~5dx(UkVQ1;jDSpvb?Ql5=tU)HzkqF2hUN>% zRJqfi8iPs==xJhyKO)L7BmSyK#2B21L7CQROZdbH=tNP znTC9TKpn2@LQ*7Ht^rvJ;q#}J{^1v7>E8WY$+fk0>NpMqU`8p0uIo5DI)dN^abl9> zvv?gUiUz|lu)MrHG%_->1FTPqq6k9W24uxXo6-eY=!7M&BNn@a!#$O?egQ6(QLCA_ z9IK&NETUe%gCF0wA33x!=@Af*{j?<#-54Dm#k;p3F*7p*xC+L`#_%Tn6mxTP$p7@~ zymK7Dp8*3QCGMLWRV=;#f^t2F>Dd%qM@G4pV^k4)NFQAhij+NqYk{of1U(56d%^ zXd5U~hC!U~pin3vlgVIzf1m3g4!3g^78Vw`3P6and+y69u%y5`urG4&PN;bH{0SSP zfr*zHNQ^a|PUG>=02UXwaJb_WxnhYqIp0Apm&4T56n-CQTn&*Nb7n7Bty-+&=D%9+ zi4(XQ9NU6n@8VeBg670g_~ma_N==BO%t~eG^(!2RibdG80>SEnB&z;9@bnA>0_?tF zF53zEndq{134t06!TUd+@fnE3;0vb}g{4Pu@*4%S(~s;5JW4fCHZQ}lV45au6j*oc z9kg04L?RKyO)8o}Qj;xw?Z!qk+Hrz*Dg}=6YEG0000< KMNUMnLSTYa-f9E@ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.art b/tests/integration/converters/outputs/imagemagick/sample.art new file mode 100644 index 0000000000000000000000000000000000000000..781d9256f9c480fff3f057dfc2b21046c107a2eb GIT binary patch literal 40 hcmZQz5MW>cVg&;R2?ibp76t~^1t1I|8K6Lc1pqv715p3~ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.avif b/tests/integration/converters/outputs/imagemagick/sample.avif new file mode 100644 index 0000000000000000000000000000000000000000..7ad15b453d2d73022868bd985ec4c2f1644b1dbe GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_-Ag7L(Giyw|;MfBkbYagM};ntid? i-nK5^pYUFX{Q)rSc=e7gnR^syD}$%2pUXO@geCyerLnjG literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.avs b/tests/integration/converters/outputs/imagemagick/sample.avs new file mode 100644 index 0000000000000000000000000000000000000000..aab9188896d5efa77ca91b64f164fc80c069da8a GIT binary patch literal 1032 zcmZQzU=Uz{U?9c7u)ef*(m$`@R9yI4W>KrqsvTFsim?!PgJbgl3reWt#6pr9hjYt1 zIp)vbk3~BJLH!`J#bk9?RW;9GYG`OcH-jksATwlDOnRDo7U9(|tE~$5hpdVbP`wd^ z4HW~LaVI!752t<|C#C<*r^WtjIVk<#ci;#ZgV-Q3kQ^cXqH=2gZDSSwi^!_|ck>Ac zV-Oo829hJB-_YFU|Dhu%{_C4M{r4)817i>yBnFbBwSH{wSI}4a@0>3GU%^0yp#9jw z&)8S-f6E!M|0e#51oZ>`_g@Ar{=^j2{;Qa({1;Os9DX4E1TfzCC!m)o_Y*J!oBbO~ T>L&gN=3ip)`r_J2u=EQ6$GbgF literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.bayer b/tests/integration/converters/outputs/imagemagick/sample.bayer new file mode 100644 index 0000000000000000000000000000000000000000..5fd5b6a48d22e168b3dabe64a3601c3ba1e85887 GIT binary patch literal 256 zcmZQzC=K=k!^|BFU=X7&0fv&D^TGUJ2|);yt!e-Xz~m*=RThExKzVIJ6Q%L6feMUNWPu3CfN+6~yx3q&^-4}UVyByx9JG!c z*at*F28ipVgG;@doTx&qt(vSzxQ`nU0U02!oG32!F6M?OjvR6_)t4*s0wN#-$OQ^g zOFf!0PwJhJpcdz literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.bgra b/tests/integration/converters/outputs/imagemagick/sample.bgra new file mode 100644 index 0000000000000000000000000000000000000000..e4262a132cb9a8ae5c0da7101a6c6a83221f94a5 GIT binary patch literal 1024 zcmZQzfPhK0rR!6Jz5e0CtwovFuI^YR1XYef<;MiyRhJO_j|*!^3jOaa%RRh*{(KG$ z%|HP{`a$OE%8LD;(Ok8vp`n2Z-3(&%gUm2dk^R4@r@058epPK*us@7|YC#yJ4<-g; z=fwu!!KGixN$0=V>E{1R4qE?@9M}iOAU0SGC`U-Ynw;o=g;?AFYO*5#!+qSq7{msP z0p$qkcQH5of8xlY|4yd*|K*Cjz!<~^iGk#3tsk5FRrD49%cnd4S20i^Xg{{_Q}i|d zFLtKozoNehLH!{AscOrB)xqLVO+oCximA$fHAOL^^n=X6hw;TfK7BAbTIioxSF!<^ PcmETEC)F0OhoxTt%PT!D literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.bgro b/tests/integration/converters/outputs/imagemagick/sample.bgro new file mode 100644 index 0000000000000000000000000000000000000000..2f471766de7fb0e9cdf2ebbdcd55ceeb3e976fc7 GIT binary patch literal 768 zcmZQz0D(!hrK!PQn5eZV^XiUOU?nI-eoU~sgdir;kQC}H%iTYJK8k7v23+caCg{qF z&1kM_XlOvzf=4}2i;0TtqMl}~>Q%L6feMUNWPu3CfN+6~yx3q&^-4}UVyByx9JG!c z*at*F28ipVgG;@doTx&qt(vSzxQ`nU0U02!oG32!F6M?OjvR6_)t4*s0wN#-$OQ^g zOFf!0PwJhJpcdz literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.bmp b/tests/integration/converters/outputs/imagemagick/sample.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1cff34d4edf2734065b7d09700a0933ad1686280 GIT binary patch literal 1162 zcmZ?r?P6g7gDxOh1H=MQ%*dd?zzmXs%7d5)@SlMJfS8~w$ zf8@YEFjn+6{x5c><-el82|@j8a-#ngVr~Dc$%_0B_i+Pb6@7*O^6Ae1RSXme>US|W z{D0!eq5n>%`v2vMyucX528n^>K=Fgm{gmp*=6;Z0zJox@P+n~CfT&m1 zmI1oTNJSQi)D*;2OjXnr#egDM-J|5BBX+u3$wBMLfqg)v=xZ!?rbW@;1eba>IZ=gJ zTQymca341yQqfnCPj^-^P{5_$#oX}3kwZ?V`f^2HKm=p}xj;c`sYi1U&|x6w$%*1J zAI-l&kAuALq=QR6P+V187Dz(E6VAn>9w>#0OjKkS^)wTi9&}~JW;9ndG&B&SUPDr- dvn+T2{Q1a=f$T}OrC1YlYfS^feYc)1v5af=j)c zoTx&qt(vSzxQ`nUspu=nr#q_{DBx1>Vs3ci$RQ_FeYqkpAObRgT%aJe)T6lv=rEA; z0g7&P=gV@bmX`RiHaaDJ~gM`%5ZH(lT=f&i`qd=>umuFt&?}lG6(^1}gRy z6o8SRoKrk-_7{~@7NlA!7}7oALoF=IFUm~KE3r~AFfhNJBkWYbCRL<8yK4D z0G$D(=;w-}l+?W9l1iZejST4Sd7wA*@=H<&F!|9hphs;Q4FN16px6H~@9txZj-RqF ZZiRxMto{p19&tbMO35ykiHkvj2>>6@DZc;! literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.cals b/tests/integration/converters/outputs/imagemagick/sample.cals new file mode 100644 index 0000000000000000000000000000000000000000..9b15ecdd142fde285e95dd719fe9a85b7d60319b GIT binary patch literal 2079 zcmXReN>0g7&P=gV@bmX`RiHaaDJ~gM`%5ZH(lT=f&i`qd=>umuFt&?}lG6(^1}gRy z6o8SRoKrk-_7{~@7NlA!7}7oALoF=IFUm~KE3r~AFfhNJBkWYbCRL<8yK4D z0G$D(=;w-}l+?W9l1iZejST4Sd7wA*@=H<&F!|9hphs;Q4FN16px6H~@9txZj-RqF ZZiRxMto{p19&tbMO35ykiHkvj2>>6@DZc;! literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.cin b/tests/integration/converters/outputs/imagemagick/sample.cin new file mode 100644 index 0000000000000000000000000000000000000000..41f665161c548c2e9cef8d81a8fe46868f4f6b4d GIT binary patch literal 2816 zcmZqBioedlz`?-4zyifUia~`T%tX%=#L`bJD9|rSEiNh6&&(@HO)p9;$;{8wPtMOP zOD!r%Eh^T}FD)r31xe>7rl$gNW^%TEabj*kPO4sVW**24Lcqwt$jr*nz{=2!fx*zy z%Fxuxz$7$;kS?e^Gl&McpFseML2L%+dIkmuW}*DyAZNEg%G_>6(FS|v>s)p#z8;gnxJK1UtZHzRaJ$o z1&?~576Ws)nuac{>J98HzzSRp%w0eXFc-*(Pb`*GfT@hz;x=g89)SN0J%Ux zTdjwCPG1JjKD5A&^h=2?r7br+A^=R%fb~F#p zF*0^C$7Md6e_f+Yfc|xhF~OxCD6Wqbo?6D1=I-WNCOG{IRF4Z`4S!sUf#MXZ$CaMp LDZIF{8Im3VaODwb literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.cip b/tests/integration/converters/outputs/imagemagick/sample.cip new file mode 100644 index 00000000..1528b0b7 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.cip @@ -0,0 +1,9 @@ + +sample +0 +0 +16 +16 +2 +10040100100401001004010010040100100401001004812010040100100481201004812010040100100481201004010010040100100401001004010010040100 + diff --git a/tests/integration/converters/outputs/imagemagick/sample.cmyk b/tests/integration/converters/outputs/imagemagick/sample.cmyk new file mode 100644 index 0000000000000000000000000000000000000000..9bda93b93790d6666d25a1ececa1af0629321a9b GIT binary patch literal 1024 zcmZQzVEE4f#Kx)&xh}d4vv6TE6^1HfWd<#fT5Q-shhf5mB!(Nfa8ClmbrWTVGHq=J z2Xgd-%x#KhxMZZvkPg&ek8TDb`(f@X^kX<}sLT+HPk%6j$`z3MY*g8j*$K$GlrWH49gc)+A!QSQeapC!XP$C z3?xTLzq=vBZlIm!o<C5e`3)enJ>u{1eg(lBb1!V?~BMTzMB= L+zgo4Vd)nDi&;tr literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.cmyka b/tests/integration/converters/outputs/imagemagick/sample.cmyka new file mode 100644 index 0000000000000000000000000000000000000000..9318adb132aba8bee2749b3ffcf982f35cb32797 GIT binary patch literal 1280 zcmZQzVEE4f1pgU~RT*;EyXZ2^`iGw|Q(>sOW~|JhB?Q)nlW@>sm~eMO62p!E_=%nb zhU@=Llo`qnYilz&a8PU>*tVupfGi^gh7}M3%mqt;l@M#5yCK7Fkb}(sdm1t9{U6D&rx!wi zxnK#fl7TW0r+)((Y%Ty@x@pG$PzHzdkl3OmKEfC#Z30Hr6XXBk3{y4`Z5}vWBC({G xYz<)a1Th4i`k$=?WDy&FV0FY2MEI9jqv-2CV?~C%4WOdxKS_icsF*|KHvqL|{pbJy literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.cur b/tests/integration/converters/outputs/imagemagick/sample.cur new file mode 100644 index 0000000000000000000000000000000000000000..277bfd9bb36fe223c328b7e26cc59e0ec0bb91d2 GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYInfr)h`8&ZS4{u6^I)fTTu zHzz+P_^!Hy;D2IpUTpB4!K`0ZTL$b8BNf^IAgrb!_Fu(R<-eMu7+4&i`<0w@{)?S% z{;%Yq_5a9$ePFEUYy4mAOv`^oe-ncG)#OC~E5zFVSCbX_AMWD@#wz*>|K-!2|Em}% z5Y+EtZutMikwgETO!fcE6?uU%hz$}0$${brpZh7*kInrczkvM&^cx}jv4tNfEWu$4 z3|m6_LGr5FvS4+v_(K*WMn6amE^Go!4~u%5d&o(@y0T*bXEax>YG`O+B2~YJq|pD) wvfRV_=g;Rr*9+oLsx4g)%)9?^;nt$eYgc!y5<=H|fSG}TEX)qn$Irk30MdI(umAu6 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.data b/tests/integration/converters/outputs/imagemagick/sample.data new file mode 100644 index 0000000000000000000000000000000000000000..7ad15b453d2d73022868bd985ec4c2f1644b1dbe GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_-Ag7L(Giyw|;MfBkbYagM};ntid? i-nK5^pYUFX{Q)rSc=e7gnR^syD}$%2pUXO@geCyerLnjG literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.dcx b/tests/integration/converters/outputs/imagemagick/sample.dcx new file mode 100644 index 0000000000000000000000000000000000000000..43ecee8febf37198007f2bb8cd248ca3cb9bcd5a GIT binary patch literal 4997 zcmeI0ze@sP7{|{jkd}Hyj|)0eIlWNBEJX+eF=>#Z;f9tRr5Z}GA46aS))2Jh)D|?l zSX)!|J_>i9tuZh#y3=LV*yTyFA;GuAayvwk4BMgoTr2&a1SpxF^XsOehug@lG) zzQ&&~KCZKYjZnmePZqN|HHZ)6VljR9`ENz@D^o?ikfG$grBQ^io1 z?rFmP?w~nA?rL2m*J)W-Qf^78bk)=&3Ak?#=!^zPMj#^@kVZ>Eib05z<_ ziW&y>h=KT&tp!!<+Rn)?bogQ!e=# z83{yS$LgG95<>!t2@FZbW^gAB)imy87+t_d9{hQ16voffod?zfY<0Tx#NIMno9&5j&MY^`_+$=RAp8NTpGf%t literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.dds b/tests/integration/converters/outputs/imagemagick/sample.dds new file mode 100644 index 0000000000000000000000000000000000000000..97034eac45fa869bce9fc4d179766262278a4cb6 GIT binary patch literal 496 zcmZ>930A0KU|?Vu;9?K}(jd&h2qG95Sb^Bn*U{Y-h&`RX!D9Fb1)wAg5W7T#m||1M zA>e=^y#AkA(r2^$&!37J7+Rk`efsNv?ras$Nh)i+jtVe@hKBwZYG6tL>e{vTsDS>| z&`_pT+jws`{=M~m4g*7INL29MM`n4Cf#_`z1H(}uU|{_Z1`@}P3WQ4Dy^O+7DL;Pa zVSDWjAOfim1_FHgFW;36Md)XhbT3Z{Mc2RKZdu;*vb@J2_XC~Z3R4eqKhXKWK!msl z#$SJ@|L=|d+8ZGC(b3UCvX@Tu{{bTZm&K+919e$)N?kmc9y zi~Avasr~~y5P{V1+P78T`Jea36z^>*T2^j~W?fy=cAaIM019LdqZfuN*REQ1>@G@Bg5)dt5yL3*6_rJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.dpx b/tests/integration/converters/outputs/imagemagick/sample.dpx new file mode 100644 index 0000000000000000000000000000000000000000..13ee99b655f8dcdfefa1efefd9cff9e96e4681ce GIT binary patch literal 9216 zcmWG`35Z}|P+$l%(lcNH0~HX-$iTqX0HlDJKETMp$V}JJK-bVL#L&{p(A3JnMBBi? ziXo$)|i2T10tw^ zAvY>88UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71* zAut*OqaiRF0;3@?8UmvsFd71bF$79$C$0AiPW^`qXBM?yTeah=5H7a|$K>A?lu-YV z3kykV{Ld}xJUoB?e&~EEs!4?OgUl6^)%{=9JY!WuLjx14ZUzQo^n=WhRWbSB+_R_$ zpMF_wRj@x~Rg8e@jUa5O7|4v^*t|Qq^y@e&{ck=k_Fv0E>Hoe1N5B}w28n^>2930A0KU|?Vu;9?K}(jeRb#2~;5#Gby6?yf-W>Ff;_!$&9pC0T&jB_hNSn>r2w z2Mpm)#S9FsPoF+r<8@SkAv82}*V>~3`cp$gzt3S{2n~q}ejCKVa1;n6jvW;UmArcy zOsA9|2Z;v*0kZt%yON<2$5z5P#jixE~;T*S@X#T2^j~W?fy=IE-Exu3Won)wj8f469eIS_J@pg;&%7 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.dxt5 b/tests/integration/converters/outputs/imagemagick/sample.dxt5 new file mode 100644 index 0000000000000000000000000000000000000000..97034eac45fa869bce9fc4d179766262278a4cb6 GIT binary patch literal 496 zcmZ>930A0KU|?Vu;9?K}(jd&h2qG95Sb^Bn*U{Y-h&`RX!D9Fb1)wAg5W7T#m||1M zA>e=^y#AkA(r2^$&!37J7+Rk`efsNv?ras$Nh)i+jtVe@hKBwZYG6tL>e{vTsDS>| z&`_pT+jws`{=M~m4g*7INL29MM`n4Cf#_`z1H(}uU|{_Z1`@}P3WQ4Dy^O+7DL;Pa zVSDWjAOfim1_FHgFW;36Md)XhbT3Z{Mc2RKZdu;*vb@J2_XC~Z3R4eqKhXKWK!msl z#$SJ@|L=|d+8ZGC(b3UCvX@Tu{{bTZm&K+919e$)N?kmc9y zi~Avasr~~y5P{V1+P78T`Jea36z^>*T2^j~W?fy=cAaIM019LdqZfuN*REQ1>@G@Bg5)dt5yL3*6_rJ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.epdf b/tests/integration/converters/outputs/imagemagick/sample.epdf new file mode 100644 index 0000000000000000000000000000000000000000..0416f93b7e3644f4e92ff34347aa2df180c0e461 GIT binary patch literal 2247 zcmcguZ)h837|%LN&5Kg!5M`jeOk3+Z0I+4jfD07a1qo9N0zz-r72g45)hC?U{qWd8GAj~?wWY1I1oK@ z+}-m&|K8v4d7d|YnPh4&*%w6wi9dBqnFt%+P@#s zYLP4QW#6Ew&rGUls(#uKzU>y)tUtJsc3^$MCt5Xg(iA4Ubai6$93gg9uPo(CT{=N==P z4=A_hk|`_zDOkwU1&8ky$VdQ=o?Xn-0!&(5a4`Jznp}8rAt6^UI4*;(BP6`2SAb4H z5D6)>>`)7+5>jQ|p-F16BIS%7HjA)9q99?6nzJP!4_*_j%&c5ZHz+22e*jk8bnFbZ z60A~VRnD9W@zT2eGA2!Q1P?3C)rWjN3>G$w6QQMB8{@~;u3i{e{jh#}dF8>!vD$w; z6Mtf7czo{8JN5O8pI;pNedy`_m8sildu(J44W%63rQ}|VTX+Twa zbDu50oxNw0y**b>^(=>WoZEJ%t9$~3+b$>z2aHj-sowiau(&+8_C``_*ec#B`E^I&FIQ{6(J&n`7 zyBh16AK1{Z-%4UA^woQ-KW%}L-?dSB6Qi~k74oK2rg$(ll1hnUOcF(fz@3D55uORS zWf)<@b*IEEUrkYAIqKb@#?7Q*QH+2Kek)qjh3g9ZD01MNuk%oG&>w*(4;_JL3_>Mf zSULYwESSv2x&b4`+y8&RF_Tr3Fv{>i^0|l@0f2}?G$M=9XOWO*#lKr?mGXi`XAqnj zDgxlW3oEiL$#@30WYFFG!qt{ch9Mk~5dx(UkVQ1;jDSpvb?Ql5=tU)HzkqF2hUN>% zRJqfi8iPs==xJhyKO)L7BmSyK#2B21L7CQROZdbH=t> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +%%BeginData: 656 Binary Bytes +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.eps3 b/tests/integration/converters/outputs/imagemagick/sample.eps3 new file mode 100644 index 0000000000000000000000000000000000000000..464fd1f006965e056f094803aecca11f3409aa5c GIT binary patch literal 4857 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 Weg6}LKVSONFY&p2<;MyX)6JVFw;5r+;i^d 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 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.exr b/tests/integration/converters/outputs/imagemagick/sample.exr new file mode 100644 index 0000000000000000000000000000000000000000..7ad15b453d2d73022868bd985ec4c2f1644b1dbe GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_-Ag7L(Giyw|;MfBkbYagM};ntid? i-nK5^pYUFX{Q)rSc=e7gnR^syD}$%2pUXO@geCyerLnjG literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.farbfeld b/tests/integration/converters/outputs/imagemagick/sample.farbfeld new file mode 100644 index 0000000000000000000000000000000000000000..a700b5c42cbb3077a4cc1f8c333c6756049d53c4 GIT binary patch literal 2064 zcmYdGEJ{jC%}HTkU=V;}AcX*>rM0z_CaquZe_sdQ#$QBiB_wQH+Z?bvbk zs*n)EWa3!C!7(xU`FHOM3Q9<*tN;H`DlH@=DXF3H|9@_7Sy^Z2;luNRVE=v&4&rQQ zV4&1~n0v*$^ZY&%{@Jf7WMRy zYrm|lwzjG&B0fOo8X5in52F$Gp{j$42M5Q-=H=bFL#q8cI!;bXN+9>2J}oBp|G$=& zg9C`aZ{L9fM~)z9m^e%wOdqB8i;Bw0sj2<{Z)+PHtDx}zzleyeEQs&s=Hn9{j-X-U zFm*6}l-h4-Xm0M}^8f##Lr0FBIPw3#zP_oclhgnIUS35-a&ib7CJs{v(>K)ZhlL|7 zTw&pi9{vgn`uZv=|NlEXr>D!y|NpO`U|;~^Q|ft`!}QC@pyn%BzJt+XVhReNbg80ZY6|kVn3$p>h!4|GZvKPmr<5MG ipSbd`q@=EH;=~ObAoVUNe}n2_%IV@_NWG3;{sI7KLVd9S literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.fax b/tests/integration/converters/outputs/imagemagick/sample.fax new file mode 100644 index 0000000000000000000000000000000000000000..0bf2b5c1db03ef828f4497186ad70f0a0949058e GIT binary patch literal 113 zcmZP&jw#%opu^znwC6ws!>sn&h7F9SEb<@`$1EwVQ!xagdNt$%|rS8jBK$ U5Lh*sd0j@~H)8@5g8~!*0D!n7VgLXD literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ff b/tests/integration/converters/outputs/imagemagick/sample.ff new file mode 100644 index 0000000000000000000000000000000000000000..a700b5c42cbb3077a4cc1f8c333c6756049d53c4 GIT binary patch literal 2064 zcmYdGEJ{jC%}HTkU=V;}AcX*>rM0z_CaquZe_sdQ#$QBiB_wQH+Z?bvbk zs*n)EWa3!C!7(xU`FHOM3Q9<*tN;H`DlH@=DXF3H|9@_7Sy^Z2;luNRVE=v&4&rQQ zV4&1~n0v*$^ZY&%{@Jf7WMRy zYrm|lwzjG&B0fOo8X5in52F$Gp{j$42M5Q-=H=bFL#q8cI!;bXN+9>2J}oBp|G$=& zg9C`aZ{L9fM~)z9m^e%wOdqB8i;Bw0sj2<{Z)+PHtDx}zzleyeEQs&s=Hn9{j-X-U zFm*6}l-h4-Xm0M}^8f##Lr0FBIPw3#zP_oclhgnIUS35-a&ib7CJs{v(>K)ZhlL|7 zTw&pi9{vgn`uZv=|NlEXr>D!y|NpO`U|;~^Q|ft`!}QC@pyn%BzJt+XVhReNbg80ZY6|kVn3$p>h!4|GZvKPmr<5MG ipSbd`q@=EH;=~ObAoVUNe}n2_%IV@_NWG3;{sI7KLVd9S literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.fits b/tests/integration/converters/outputs/imagemagick/sample.fits new file mode 100644 index 0000000000000000000000000000000000000000..bb32e59f45c13694f3981cd18c6d91273991a402 GIT binary patch literal 5760 zcmeH^&r1S96vy{pFlsSqZH!H$%-yxNA`seDqZNNdD`b&}2r-E=)H(!)U>$-kb?O#$ z>@Vn45*~uO_Wv|H%}gt-tWt*#^S}q6_uhQ>y|1Q`UQZC8Vb~>nRH^j~&`bFY?EF@UFkQS2tr?_y4PeWfX}SS#~(c zrKE2sHnMQ$XFvH@dT}kMrM0|GFA`Q&YeBdl^mWicdPc^k_q+Yp3^SMA*aG|Y`f+Vp zlFEm>r6T;5_YT69YH85*Kq3<#_zio&9AFMG2bcrQ0p`H}a)9INNg6c{hUuYU_Q_)& zLEuH+gXcr7>F4LUi+RE$(c#rq5CepjS1Fm4UX@;q=7*yrq>uEbTOq<80e%lA%6MU+ z)wM5w*0l4`;k||22|l;{h>$xsX*8_Lj+aKEPoD9LB2fKaJg>j6wA<;AEMZ?kNTsBb zOn9-QR;y}fu@|Fxq2MEZq_^^}6ZTr)gNZU;SiJ7qS7ReeX_b7cT=Qs zYjGt=o^pPG+goD=i tV4{o{o`2}tclNGn=c%g~3%Of-?&T*!mY4&~0peBaoB+f@fJ+;I}C{eHOD(gLF+Bk=3z^^DuECnn(I{5&`-cH`Tr zQhad#ICe+Q;?(37^m)B{y8Ca{PguJn5qKYuLwxocx?L`PAR5&h>JNja85y?;<8Umd zHwTY$ym!;n@O60^Zn^j3(BK6OHXY#=?MEy(v~B0ZZv2w(&Tv@&ytt@$JvzgDtR@oR zxUmas0*6=|iUZ=oTm}Do{w02C6Bj;jF1&hqiTNNdDn0w~?wve-W*a}+d^C%yLe^uX-Qj9OPQ)A&2X`B33-fZMgl;(u)PB9cz2KeUF9 zLAhaA{{AO`1JQH%Y^YG(%|L0({glr?&y(@&#@`wW>EBjXbX9+he>G9Y{Hq#dyEz!- zdNuu(9uL$60?^Uk&VFgj{qj5+&u;uGkEAn|Ul-#Ue0rX9tMtwJecV?7lW#7wMkwDj zKWUy3XQ^ztU!Eu9?ch(I$JwrbsYj_-sb{HoX;a;h2B@c#K5jal@M3%%*4NfpFXUJK z!}8mmf7y>@zmok-_B&}mA1i^n+FDgFIgDRDQT=E2Q<`&4jg6MyZu~O-hq<{e%|DtO zlw-4Bk`AbUn0g>Tabx;r{A}xA#<$zv!JpmtAG`A{<8OEV)%z*@*xZCF-+tAD@{_)I X&G}6+>3jHJus=^d;k3nL4j_P literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.flif b/tests/integration/converters/outputs/imagemagick/sample.flif new file mode 100644 index 0000000000000000000000000000000000000000..da8fb4ba338aa0596c417530f30066b041fee2ba GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_b_ zwZt`|BqgyV)hf9t6-Y4{85o)A8XD*tnuQozS{ayInHXpr7+4t?Y&MMUL(!0%pOTqY ziLSxO%G45~p|(8N8mK`7ZbM0CZfbE!Vr~JN9z#Eak7ak=-bIbVYTk3-<)-7ojH++diV1zp zXnXeoW9{cghQl9ZGVTf-^_-cBJ&vK~EheR3d9Qoj{`%));v9(wHTz<( iy=`5-KjFO&`vYLu@#-C0GWRIZRt8U3KbLh*2~7a%K(PV< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.flv b/tests/integration/converters/outputs/imagemagick/sample.flv new file mode 100644 index 0000000000000000000000000000000000000000..8e6d0196f520c257e40cc4272531cb38fd9d9be6 GIT binary patch literal 550 zcmZ?s31ehrU|`?`Vg?}whV3942$&eS^7DLCOA=iYOAtSGE%Sg>k&nQ6%@Rnt!q~@mp%>ZgmWpK#If~e$7D@x2w zg@{=~HS>VgCg-Q5CTFHFI6y@i*i-XBVns|0JU)qKX=cWHhI)nuMhqNjnK`M&nN>hj z8)5c?d~t}Afzbu38R(%F1`ZBEv9=Y=2OEUg7#zGfk|Nlf85CkTls~lbFi)5i6U*2r z-2Cy^20k{1(f|WK<)a}I?1DOq{GroVF+9!M`(FEB6#MZnH7Z*A@(n=|jtvJmni-zN z#qcl(7%(x&IyMM$*vYpjB(N|xIhhYsH;~Wop7NZ9VEKD4eVqydw z8+gN1ejh#j|Ix;W6_Zxfx<8Omna+Q&Wd(C1&}EEAyny=n*%%M(5MY1EA;I>cZOyJ` zCUy6xrw&ONFfToDfW7gn!-0xUN1lo`I|JBOhpqY$-kb?O#$ z>@Vn45*~uO_Wv|H%}gt-tWt*#^S}q6_uhQ>y|1Q`UQZC8Vb~>nRH^j~&`bFY?EF@UFkQS2tr?_y4PeWfX}SS#~(c zrKE2sHnMQ$XFvH@dT}kMrM0|GFA`Q&YeBdl^mWicdPc^k_q+Yp3^SMA*aG|Y`f+Vp zlFEm>r6T;5_YT69YH85*Kq3<#_zio&9AFMG2bcrQ0p`H}a)9INNg6c{hUuYU_Q_)& zLEuH+gXcr7>F4LUi+RE$(c#rq5CepjS1Fm4UX@;q=7*yrq>uEbTOq<80e%lA%6MU+ z)wM5w*0l4`;k||22|l;{h>$xsX*8_Lj+aKEPoD9LB2fKaJg>j6wA<;AEMZ?kNTsBb zOn9-QR;y}fu@|Fxq2MEZq_^^}6ZTr)gNZU;SiJ7qS7ReeX_b7cT=Qs zYjGt=o^pPG+goD=i tV4{o{o`2}tclNGn=c%g~3%Of-?&T*!mY4&~0psn&h7F9SEb<@`$1EwVQ!xagdNt$%|rS8jBK$ U5Lh*sd0j@~H)8@5g8~!*0D!n7VgLXD literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.g4 b/tests/integration/converters/outputs/imagemagick/sample.g4 new file mode 100644 index 0000000000000000000000000000000000000000..0bf2b5c1db03ef828f4497186ad70f0a0949058e GIT binary patch literal 113 zcmZP&jw#%opu^znwC6ws!>sn&h7F9SEb<@`$1EwVQ!xagdNt$%|rS8jBK$ U5Lh*sd0j@~H)8@5g8~!*0D!n7VgLXD literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.gif b/tests/integration/converters/outputs/imagemagick/sample.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea5cb03a05982d9112691b23c8a54b5a4df81557 GIT binary patch literal 335 zcmZ?wbhEHb6krfw_{snRf)eT?vTCAoYC@74VzRno3Tk4CYBJiYvOuI_B&%Ygps%7} zprT@`qUE5ZR)wmbd=D{=en_13+jAWLaa#%l;4gFZ16A2xWjQSqype z|406t{!a!%Qy|NnWO;=7+W({e>tN_dxXC)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_b_ zwZt`|BqgyV)hf9t6-Y4{85o)A8XD*tnuQozS{ayInHXpr7+4t?Y&MMUL(!0%pOTqY ziLSxO%G45~p|(8N8mK`7ZbM0CZfbE!Vr~JN9z#Eak7ak=-bIbVYTk3-<)-7ojH++diV1zp zXnXeoW9{cghQl9ZGVTf-^_-cBJ&vK~EheR3d9Qoj{`%));v9(wHTz<( iy=`5-KjFO&`vYLu@#-C0GWRIZRt8U3KbLh*2~7a%K(PV< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.hdr b/tests/integration/converters/outputs/imagemagick/sample.hdr new file mode 100644 index 0000000000000000000000000000000000000000..7d56239cd10d02269980d599ebd61732dfaf0c21 GIT binary patch literal 1030 zcmcJN&ubGw6vx-yB;Z1&|9~{$Q3gx|A(cgj+I6##R-)h*r3*DRBv_EL_Ot)d+{IW#gn8*4?T!~fiJUhG@g|m9^aXL?=$bcc{lD=@%=L1+SrsI z;7SE61^HpMT*1}y<|E}+e(96d?P>)-R&E#3Uc)jEU+$ZS^}T&rMmzb!o%~G$tSpMc zsw4LH`PiP!>P`nnp!>wq~U|j*{$`(^R`XlJVT%Aw85ST4_X2&uCpH<6e?^ z^NGp1zwM>|tAb!4R71rg7z7!?!GW%S)-?@`{)!#MN%A&nx4|UuQ$j%6c0i=Xr3_ME z-#t3oU9WS<^CCr2?$j#Dxf&S_rMj*n{>P0pEI zpPZe6;T+-+2Nqf4IMh;Ai#nWh(jQKz!~O~9T#jZdE3?rh=Rhj1`*%M7io@z^m0CO> zR@XQBgXhEQ8eALjeA2qy<+@m(H}0yO!}>gacgi`e&uiiu=deCIzO&RHWWu9k4Ra2A z^w!Yk9QNoFjrAFZ)(yy2+a@+o2hI$NBp90cNK;*cX#o|}L|TjqC)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_b_ zwZt`|BqgyV)hf9t6-Y4{85o)A8XD*tnuQozS{ayInHXpr7+4t?Y&MMUL(!0%pOTqY ziLSxO%G45~p|(8N8mK`7ZbM0CZfbE!Vr~JN9z#Eak7ak=-bIbVYTk3-<)-7ojH++diV1zp zXnXeoW9{cghQl9ZGVTf-^_-cBJ&vK~EheR3d9Qoj{`%));v9(wHTz<( iy=`5-KjFO&`vYLu@#-C0GWRIZRt8U3KbLh*2~7a%K(PV< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.hrz b/tests/integration/converters/outputs/imagemagick/sample.hrz new file mode 100644 index 0000000000000000000000000000000000000000..366f4d614387e56db8cc9e59729f6929e890cd2c GIT binary patch literal 184320 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 + + + +sample + + +

/app/tests/integration/converters/outputs/imagemagick/sample.htm

+Image map + + + +
+ + diff --git a/tests/integration/converters/outputs/imagemagick/sample.html b/tests/integration/converters/outputs/imagemagick/sample.html new file mode 100644 index 00000000..ea380a21 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.html @@ -0,0 +1,15 @@ + + + + +sample + + +

/app/tests/integration/converters/outputs/imagemagick/sample.html

+Image map + + + +
+ + diff --git a/tests/integration/converters/outputs/imagemagick/sample.icb b/tests/integration/converters/outputs/imagemagick/sample.icb new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ico b/tests/integration/converters/outputs/imagemagick/sample.ico new file mode 100644 index 0000000000000000000000000000000000000000..c16f835de7948586eaf5d266990c3440c0c74953 GIT binary patch literal 370070 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 z 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 GqAW6Rjvfr+=!NW~Ilq%w^-J=xKjX9h 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 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.info b/tests/integration/converters/outputs/imagemagick/sample.info new file mode 100644 index 00000000..278bab5a --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.info @@ -0,0 +1 @@ +/app/tests/integration/converters/inputs/sample.png PNG 16x16 16x16+0+0 8-bit TrueColorAlpha sRGB 405B 0.000u 0:00.000 diff --git a/tests/integration/converters/outputs/imagemagick/sample.inline b/tests/integration/converters/outputs/imagemagick/sample.inline new file mode 100644 index 0000000000000000000000000000000000000000..da8fb4ba338aa0596c417530f30066b041fee2ba GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_b_ zwZt`|BqgyV)hf9t6-Y4{85o)A8XD*tnuQozS{ayInHXpr7+4t?Y&MMUL(!0%pOTqY ziLSxO%G45~p|(8N8mK`7ZbM0CZfbE!Vr~JN9z#Eak7ak=-bIbVYTk3-<)-7ojH++diV1zp zXnXeoW9{cghQl9ZGVTf-^_-cBJ&vK~EheR3d9Qoj{`%));v9(wHTz<( iy=`5-KjFO&`vYLu@#-C0GWRIZRt8U3KbLh*2~7a%K(PV< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ipl b/tests/integration/converters/outputs/imagemagick/sample.ipl new file mode 100644 index 0000000000000000000000000000000000000000..e8df36d9470d52568b0d94ff9f021cb42285752b GIT binary patch literal 820 zcma*iPfG$p6aesv`T$MnGJ(6TGCHA#y194~WD^f!bnxIM4?-Dp$iS>aUpi7>* z1s(eYolIm8f?fMQ&ELfihL4?j`N4nubQ8+hxqK4~+R(Tg@rBUP^p#C$vJb+hbk zl`{xqltHL1?JX+PX=UMQTWzz^Fx!@PDRBFJHz=*L*q^(|>$*7a`1?egU4^mj#zU)) z*Ymx4FH1w-@AzEC;|~`AS477C)7Kx9gV)h=osiNfOeNP8f+GV3T&rPPJNW w(yq=u%kt*cRTlg49@cenUfhUlv#T5@g~Rhy!{Pn^`$fH%r7-|q+M~SdUvx*0U;qFB literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.isobrl b/tests/integration/converters/outputs/imagemagick/sample.isobrl new file mode 100644 index 00000000..f516673e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.isobrl @@ -0,0 +1 @@ +uâžuËšuâuËšQëžuëuëžuë4"uëžuëžuë \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.isobrl6 b/tests/integration/converters/outputs/imagemagick/sample.isobrl6 new file mode 100644 index 0000000000000000000000000000000000000000..68e7dc1aeb1e628f8630e0666a72d26581f336bd GIT binary patch literal 48 icmXq2k~8I&GF39wmIEUoM-aq>(@=3n1`b9}AOZlY*#;~C literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.j2c b/tests/integration/converters/outputs/imagemagick/sample.j2c new file mode 100644 index 0000000000000000000000000000000000000000..a73c3652a49f1e67b884774de9ec0dc2c1cfc256 GIT binary patch literal 1184 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAU3kj?;d#WFKeih#5L7_+dm18D{Z z{^b0eB1SM1B%zd?lA6ZA0_HO^fW(=Akb!|22*IjY41vZa|M&kN$Y2Ck1u+iH#KLD` zXJmw<|3M5qKsAgEEG#SxjQ?X81RNYZJObe8e+q*t1EX_MYGO%hib7JQf`373o>zdY zyFyuNQE_H|o`R8{sh-LI2@D{=GBB?K8Z!C(77o_)AR-?~u$@1Cg@sxE@GGXqPmIm4 zm{{x?8T${vVr+iS%)f<$k%grg$Z1e)_{q?~#Lj&F02lup5%v=tjE8{=>kq$T?cXBC zze0p(qkh_cfjOe{?Aa`OdG7#e;EaLVnIhxIRv|?>_zT)oviO-u( zvfZx-T6V3Dt>CwpgPYE`N4Aqc9pd<3b)$pr759a6>bY}1?$mJ<))$oj_1htA=jR34 z@9vi$`SHaz>uSiW|8ah-Gc^uR(|h{mCsX~S%BMe{MZZ_LX;il4&CSfK2|UXz#jN(` zFz7}yXS}-AQaWiBPnvAz$u0Xem>hceZf+Kv<=L}@Yu?4x7B5m4YXW$TWOQ$5IrQpJk zqsAMYXWm|F?Qk;eQq5iU`Jgakz3|(!L8r09Ph`)EiF23_7XNX1^)-G@@9|B!Ma`;a zf86!{@vBIGz0`B(T&%=fRLdrw=&Ci$Lnpy+A_siP_oNU;%RsQ>_(({~rS=Q_SzBV-1yWo+0 zHneZqB8{90OJ*<&#~;6C&%eS?KBGY}RZj2QqtgvCTeEGxyQJSf$$9P5e#>hbeXX8z vuI#v_v%G4f)p7lGoA0@9Qq}6XF1IyaXZ?;D2R2sb1xzuN;aPM+{{Kw?ZAIn7 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.j2k b/tests/integration/converters/outputs/imagemagick/sample.j2k new file mode 100644 index 0000000000000000000000000000000000000000..f4187be2f7406ef39aebf47dbee3c9bf024c7976 GIT binary patch literal 1065 zcmezG|38qyhyerypcu@-;IptZGQ!dSAO;?w3PuJN78VA^|1k^#4h|k30dVv`g+Y~p z(YYu!u_QG`A*oWqzaTZwE5OxVp)9qiI5R&_!AQ?k&*c9E1}>0o%&UNgOg_JbgY`U! z$OjT^=Z{}uVU|DqimCAvWAiH}7JEj<{==^ro1ZiDZ{c8MVJQZ38WbCTGBhx;GoL@e z#Xm=c{R9W&VW7hL!>?HTw}|nt5aHRVpSE9Mj_5plHj7@K{Sa~a3=N)YbFO%SS;s!d z^KW}B>woZbOZydW_A6YByBEFZ{na2<&+(&HG5`DlDgHS!bqo!RbJkhiujfsP=k2Qd zeEgQGd`6GmMF!zoL%GBWTaB2Rj6%YzZGC6nmkF%vKUw!+#hlW-fOD74-tCtOnkYOy zK=PhhxX#Bt$3FK%^Q)%AYeWJhC1r}xP2kM<5TNLVfYI$VoK_TgwdYSAr zwv_D3)ZU%e3{@)j=MVVVU6lC4(x6y(eBE;itL7D39R39{{oYaDbzLT~wR?KzhO8?! zD>OqU?XR?#J$^`JTElH#!}o1nuXU4TX6?T}qetFiM(x4`1=|$`S4$5v%-DbW=v_OD zxcy3wW^*2`SX-U1xO;!%^QMz*_v?X{U8`d&`0eH3rt|HQ?c`5~IR01N=wN%rec_yX z?wpT1bsUBD1?7MJb_m<~c|rEO`{hS|e6h{C8uIFYoFD5Cb1; z?-gzul`VO5GxKT!&oWCftGzi4x{=HouWq%JPFls2CYyP3%YF?ehaSG0o5f~%_AKF= zcX74Fixk%tfBQBjoe7P|d_Cvt`?sNcSJaBPygz^7mfdBI+NBC^I*UG-@oC7PG5B=N zNQ7t3iP!7um5rCw`E3qm(Y|o6dGcb*H4#;HC%wWa-+EDMdMakZbdCgf|5cB4bAl~cqE?r8O*}*$8Xv5uke%4Xb?=5)BE=5bc4*+ zY@6>c>9d#;;QwK}fLZH?DizhlOMjg@%; OQw(Kz7G044e-i-M+}8U5 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.jng b/tests/integration/converters/outputs/imagemagick/sample.jng new file mode 100644 index 0000000000000000000000000000000000000000..75ee93b98f1bb50aae717daa9f6966f31d7761d0 GIT binary patch literal 566 zcmeD7@^k0qlHy`uU=Z-~a0vp@Ak4?X!N37z2;SNp1EkoJyxmWLz}^1=1v8j^AN^0tJDP;s0$0X9f;7 zHg+~v4t92SPEHOk9uZz1Zf+h)Az^+ISt)rrSt%JA1r(5HKSo8JU<_1cg`?8I(R6Is#RQqHAPeVg?FJ2m)y&M&kyu#}(6|Kh`s*zdY zyFyuNQE_H|o`R8{sh-LI2@D{=GBB?K8Z!C(77o_)AR-?~u$@1Cg@sxE@GGXqPmIm4 zm{{x?8T${vVr+iS%)f<$k%grg$Z1e)_{q?~#Lj&F02lup5%v=tjE8{=>kq$T?cXBC zze0p(qkh_cfjOe{?Aa`OdG7#e;EaLVnIhxIRv|?>_zT)oviO-u( zvfZx-T6V3Dt>CwpgPYE`N4Aqc9pd<3b)$pr759a6>bY}1?$mJ<))$oj_1htA=jR34 z@9vi$`SHaz>uSiW|8ah-Gc^uR(|h{mCsX~S%BMe{MZZ_LX;il4&CSfK2|UXz#jN(` zFz7}yXS}-AQaWiBPnvAz$u0Xem>hceZf+Kv<=L}@Yu?4x7B5m4YXW$TWOQ$5IrQpJk zqsAMYXWm|F?Qk;eQq5iU`Jgakz3|(!L8r09Ph`)EiF23_7XNX1^)-G@@9|B!Ma`;a zf86!{@vBIGz0`B(T&%=fRLdrw=&Ci$Lnpy+A_siP_oNU;%RsQ>_(({~rS=Q_SzBV-1yWo+0 zHneZqB8{90OJ*<&#~;6C&%eS?KBGY}RZj2QqtgvCTeEGxyQJSf$$9P5e#>hbeXX8z vuI#v_v%G4f)p7lGoA0@9Qq}6XF1IyaXZ?;D2R2sb1xzuN;aPM+{{Kw?ZAIn7 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpc b/tests/integration/converters/outputs/imagemagick/sample.jpc new file mode 100644 index 0000000000000000000000000000000000000000..a73c3652a49f1e67b884774de9ec0dc2c1cfc256 GIT binary patch literal 1184 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAU3kj?;d#WFKeih#5L7_+dm18D{Z z{^b0eB1SM1B%zd?lA6ZA0_HO^fW(=Akb!|22*IjY41vZa|M&kN$Y2Ck1u+iH#KLD` zXJmw<|3M5qKsAgEEG#SxjQ?X81RNYZJObe8e+q*t1EX_MYGO%hib7JQf`373o>zdY zyFyuNQE_H|o`R8{sh-LI2@D{=GBB?K8Z!C(77o_)AR-?~u$@1Cg@sxE@GGXqPmIm4 zm{{x?8T${vVr+iS%)f<$k%grg$Z1e)_{q?~#Lj&F02lup5%v=tjE8{=>kq$T?cXBC zze0p(qkh_cfjOe{?Aa`OdG7#e;EaLVnIhxIRv|?>_zT)oviO-u( zvfZx-T6V3Dt>CwpgPYE`N4Aqc9pd<3b)$pr759a6>bY}1?$mJ<))$oj_1htA=jR34 z@9vi$`SHaz>uSiW|8ah-Gc^uR(|h{mCsX~S%BMe{MZZ_LX;il4&CSfK2|UXz#jN(` zFz7}yXS}-AQaWiBPnvAz$u0Xem>hceZf+Kv<=L}@Yu?4x7B5m4YXW$TWOQ$5IrQpJk zqsAMYXWm|F?Qk;eQq5iU`Jgakz3|(!L8r09Ph`)EiF23_7XNX1^)-G@@9|B!Ma`;a zf86!{@vBIGz0`B(T&%=fRLdrw=&Ci$Lnpy+A_siP_oNU;%RsQ>_(({~rS=Q_SzBV-1yWo+0 zHneZqB8{90OJ*<&#~;6C&%eS?KBGY}RZj2QqtgvCTeEGxyQJSf$$9P5e#>hbeXX8z vuI#v_v%G4f)p7lGoA0@9Qq}6XF1IyaXZ?;D2R2sb1xzuN;aPM+{{Kw?ZAIn7 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpe b/tests/integration/converters/outputs/imagemagick/sample.jpe new file mode 100644 index 0000000000000000000000000000000000000000..c34b50882f9f8ef3ec39e0c174b63706945d7506 GIT binary patch literal 568 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4ZMknNg5|Nsy6Qkn#T!1~H&hfzCt%EKD3gaXA47plgA0a7jicW>yw9K_PZUL!i7k zND3|o($2`jzyy>~02&VRC_<7^kV%n&nMFj&@L}M`|F;-;m>GfgGYc}GeaO_F z39=S^=ktU=D!8RcVRrY?C|T{z$&3ktVHl7`O*H+!>V3@`f#3Hcd;Ode!JZA0o_1XF_rth}9xcct1 zJ6WGYlf$n`EOd=oERwCeCiq9N_09mPFb3w|e{GW@KJ!UFa!#75>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4ZMknNg5|Nsy6Qkn#T!1~H&hfzCt%EKD3gaXA47plgA0a7jicW>yw9K_PZUL!i7k zND3|o($2`jzyy>~02&VRC_<7^kV%n&nMFj&@L}M`|F;-;m>GfgGYc}GeaO_F z39=S^=ktU=D!8RcVRrY?C|T{z$&3ktVHl7`O*H+!>V3@`f#3Hcd;Ode!JZA0o_1XF_rth}9xcct1 zJ6WGYlf$n`EOd=oERwCeCiq9N_09mPFb3w|e{GW@KJ!UFa!#75zdY zyFyuNQE_H|o`R8{sh-LI2@D{=GBB?K8Z!C(77o_)AR-?~u$@1Cg@sxE@GGXqPmIm4 zm{{x?8T${vVr+iS%)f<$k%grg$Z1e)_{q?~#Lj&F02lup5%v=tjE8{=>kq$T?cXBC zze0p(qkh_cfjOe{?Aa`OdG7#e;EaLVnIhxIRv|?>_zT)oviO-u( zvfZx-T6V3Dt>CwpgPYE`N4Aqc9pd<3b)$pr759a6>bY}1?$mJ<))$oj_1htA=jR34 z@9vi$`SHaz>uSiW|8ah-Gc^uR(|h{mCsX~S%BMe{MZZ_LX;il4&CSfK2|UXz#jN(` zFz7}yXS}-AQaWiBPnvAz$u0Xem>hceZf+Kv<=L}@Yu?4x7B5m4YXW$TWOQ$5IrQpJk zqsAMYXWm|F?Qk;eQq5iU`Jgakz3|(!L8r09Ph`)EiF23_7XNX1^)-G@@9|B!Ma`;a zf86!{@vBIGz0`B(T&%=fRLdrw=&Ci$Lnpy+A_siP_oNU;%RsQ>_(({~rS=Q_SzBV-1yWo+0 zHneZqB8{90OJ*<&#~;6C&%eS?KBGY}RZj2QqtgvCTeEGxyQJSf$$9P5e#>hbeXX8z vuI#v_v%G4f)p7lGoA0@9Qq}6XF1IyaXZ?;D2R2sb1xzuN;aPM+{{Kw?ZAIn7 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.jps b/tests/integration/converters/outputs/imagemagick/sample.jps new file mode 100644 index 0000000000000000000000000000000000000000..c34b50882f9f8ef3ec39e0c174b63706945d7506 GIT binary patch literal 568 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4ZMknNg5|Nsy6Qkn#T!1~H&hfzCt%EKD3gaXA47plgA0a7jicW>yw9K_PZUL!i7k zND3|o($2`jzyy>~02&VRC_<7^kV%n&nMFj&@L}M`|F;-;m>GfgGYc}GeaO_F z39=S^=ktU=D!8RcVRrY?C|T{z$&3ktVHl7`O*H+!>V3@`f#3Hcd;Ode!JZA0o_1XF_rth}9xcct1 zJ6WGYlf$n`EOd=oERwCeCiq9N_09mPFb3w|e{GW@KJ!UFa!#75C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_b_ zwZt`|BqgyV)hf9t6-Y4{85o)A8XD*tnuQozS{ayInHXpr7+4t?Y&MMUL(!0%pOTqY ziLSxO%G45~p|(8N8mK`7ZbM0CZfbE!Vr~JN9z#Eak7ak=-bIbVYTk3-<)-7ojH++diV1zp zXnXeoW9{cghQl9ZGVTf-^_-cBJ&vK~EheR3d9Qoj{`%));v9(wHTz<( iy=`5-KjFO&`vYLu@#-C0GWRIZRt8U3KbLh*2~7a%K(PV< literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.m2v b/tests/integration/converters/outputs/imagemagick/sample.m2v new file mode 100644 index 0000000000000000000000000000000000000000..a12f1bdd2665303c38bc86c1a7d1ced2173fb6f2 GIT binary patch literal 283 zcmZQzVBE~eARzqz{{smI2F9%-T?~v2K)|?Fn~8~)!HJ;($lk%g!QcR-85sEg{{YGL z|Nra=l3*16;Mkzfu!HfVL7Ok*4YpQ>BbzdKoW0yw6nKtKnh%6yz^1{lgIVBGgM32O2j7n-3oh_7@Sf5zWiU`{TgY-r z$onSe>y+h+r~JMpHTWnT`qPy zaqfS=t$wCn|Cf^tCzu|vH(2rTFkWEGV6;pz5T0yVzl4Ql%aR$4MIO!-j2|7FgQl?M f|96j?aN>5>K@P@A9RGjF9~A!2ns|;ucXI;(zZ+lZ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.m4v b/tests/integration/converters/outputs/imagemagick/sample.m4v new file mode 100644 index 0000000000000000000000000000000000000000..dce2bbc30791762cf8f727be00cd80f0d5f7764e GIT binary patch literal 1586 zcmZuxTWDNG7@kcqii)(7hl&xWHbRADbI#dxZ59tC#?lB4TA{&e@i2R4&Yt6*TV`fA zyTu0uAL2`W5g$aPFM@(T=!+r{RHc| zmj!_m+MRW%4kaQ?qBzT%EQI3iaw?8|tYt`8G?m31ev~k6))A#z$e6(id_8VS*7f`> z$(e@k^iBhOk`63m5OS|)yS*B#>NTpCA!lm!+Y}eSO@A@*J zNgd~Ewgts?DrJkVo6WdZxeAz@#D!!Xx4HmAX_340G|EvVTnN+mY2#+^MO zHlHPT_r5%C-}y<6p8WRr%~j{*a~Cf?_~gfrF5dCa{_8g%dH%DTPA%X6{R`Vme@?E9 zAH4F^V;_|s-@kUB`^_uo_?v%hpSyawdaIbc=Z7x{8NVgTvNrO@Njv0_BW-*e%3)F> z=D*wiqk!I{FYbE&9~#3uTfpHpVLYRo#hl|Kj>Bw+N4P#5T84%_`l8|Y4LTvyf@=kB zO2i6pyJ#k&pSOrDy_N8YfujlEyLSil7&-Mp5jPw1SQZF_dBa0&Q(*-nb2qsyG;ecKer)iJ?n#(r~4#el zkfxh9I%}WVJ09ruKvj`-xx~qhy-Vb_2IL!CPrUR@Y3w|%2BCyZEPeOD+ZRe?BD`|> z)4MMGeeIgbGu3KEycsV3>P6T4u3g9zyvn25GAVI|mg|BA{%<6g37aghSy7f&Yd$wu}ivNOYKxQF@Qj zgEwY`o^g66+lRKWIEaH7^lb=<7n$k*xX9X4(Ve#Fi~}=@G7~_-SggjszT(w6&QAYy zFgWe+`1iD~r{6{H#U5t;u#b9MPfeesM^9fKsdAa^VUqZ_@0u96J;WC;h-mn0TACnMa97*$o}|r0;j3 zc;XYXr*s;s@$@;>_IraW<&>7W6FPea(w-o6gQqs<3*wyH7*WhMU*W}_oFLKCXt1x5KsdoUL<5_hjv20GM(i^f+0Z< zCS3I7jl?4tJ$h2398C18C;e9(XS%zv*#OIhXt80_?{g);YtJqpD9rM+kAf=Zx) z1cc)Q7=i{v4{)-C;3{mc%3`{-0CP^zEUOVs9#;#(1Q{k^(Mq~IB<3Evqw%%4P8wAu zji_=IT~-%ko1kR+epQR*wWM~{FbCiO)R-)jFdDi#4LJ!pdQ6xt)77xAxi|NAfJ0qG%KzMRjz{3yK0LF*9oKa4oo4>+y#73y#=?-A;H9IYE>9vJ3^ zc3!ito@uPw#+&yOGvwb(Uj)mqzU}OMKG&{Q z@1682ZzijYXIpP~H#axWw&ysBUggNMNP)>}x*9CyNj^`iNzv5Jnc=0nMN{@Ov>ec&@@?KO_1a5C8xG literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.mkv b/tests/integration/converters/outputs/imagemagick/sample.mkv new file mode 100644 index 0000000000000000000000000000000000000000..9e1daa2821b83a416b2faa28ed2805e691c3800a GIT binary patch literal 1398 zcmb_cZEO=|9DiE2ff|(&G-_t{Frtad+Pk(?Xt-qSOV|?1WL>Ah#LLs`)AsE3?sj)$ zt(v&oDl0;mM(_m}7>+N-xd29qEVv~`nZXYlqH~F;IA72i5MQT6=l^M$$agPy&;4J2 z_y7H#ySpv&`N&9cyX^@64%bh1Rq$tfS+K8^BbK3=SrQz8&=a=vmRN7vf!I+Utc|{C zO->X)_gH6%iU7N_Zl;7*(T|DQxzxgWHJoMD*OONh9 zaAhjSr)hYi_~G2liLuL5KRs$1Owqx~df6^N#y#SfR_ zN9^kOo3I1!Rw8gnGkwF_s_t!cQA&OEfwb~uL-T7ob_HO*g!k4`#JO=fQP zRKw(7^Ye)5++gZ9(ac10_D@i`MAn~>O*gIhpHxu8&>`K$G0{b z3C`OH^&;dPuBl#F82U8w-HC5zT8=%t<`X=#`uqh3iyN_|85HyWwP3cmAmnEHHTp1! z2e~AbAQ95^f^^h1X%ZC-7G*W ztfG+=co*Xh3(m=TniLr#4;`XG)HD@%KbA6vmLnpx^4Kz{qR1v#>+o)5}mO~hzXgP>>;v2%e;E1oX%JY$Z0xN#k8hFwi48#HA@SCEqK;)mrXGz ztKec&qAHcTEy2gJF%7~bHK>_^c0&^XrOWb$BuGXI=MtbRqXmxO@wzzN#mESp%MYf` zfXjE17yRoXU|Licd|1|Dli-DbJp?S$1^dr-lf9#86D<|d9ShSN`TD5<-tyV6rKo4i zj*rf^K78_lrrZCnU0P}%eE+(5DEQT$bIq4lwk%mS_t@5V9S_!aZV=Aw-<^E*w{yFH nnf0%rEARUHH2c#%H&Luwzd*+aU$fD%C*co!vCmoeqkYXkMbg}x literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.mng b/tests/integration/converters/outputs/imagemagick/sample.mng new file mode 100644 index 0000000000000000000000000000000000000000..7c7bbd51d19b45d8808ce2a475b0025733a052a6 GIT binary patch literal 527 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 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.mpg b/tests/integration/converters/outputs/imagemagick/sample.mpg new file mode 100644 index 0000000000000000000000000000000000000000..1f8b535fd37fbc1dc792862de36b538df4d9bffc GIT binary patch literal 2048 zcmZQzVBDq1z{tRO*f^bmfpIqjCy1f=|G|T2K<)#Ee~Jvu@e_f}&5R5J!vFt2kN~oG zFmNz90BHsW{{KIKG^6kb#|CwV9gH6h+I$&ru(dKA*_6TK?B&Lya3(TSk-_djNRkDQ zvuAVA6t>!Je|KFvasL)WQUiB`A+HAG54MKjh7@PVlmo&HbBtA3?hAYIGF)J|v#2?M znJFVnz*kXa?}T~VyozL&yie0$IUvpu=cCxh@P;|4At923<;j)BO#WF literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.msl b/tests/integration/converters/outputs/imagemagick/sample.msl new file mode 100644 index 0000000000000000000000000000000000000000..1c932f0538ff0a02cb141c85da7247d9a25224ba GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_bhbQMSHz-_Ek<8$_6chTG z(e~~G#@f$~42M6+WZV@v>N!iT@QA|c?oB$MdK^Q|TTDv7@?Q74{q@hq#5ocVYWBrm id)vBvf5Lkm_6NYQC)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_bhbQMSHz-_Ek<8$_6chTG z(e~~G#@f$~42M6+WZV@v>N!iT@QA|c?oB$MdK^Q|TTDv7@?Q74{q@hq#5ocVYWBrm id)vBvf5Lkm_6NYQe0H8X6jqwct??)FP{5(%iEMt9n^&Rj>jhSrsD?1Iz_7f@AYA)$2GZHJ=vK za!}fL;0O=_89**j5SMyUIW^l@1rb>_H=l4I0y2PHpdc>whUPAZj-1dpb@D2b10o;; z$OQ^gOFf!<6!cY`)8!QmRB)M(=3ir9#g;Q-CjN@J)C0w3kit_;K~2R}MNAQ=e}U?8 cA*|t#OEFNKLiHte6EPDrvPg05BuIJy0LDOyH2?qr literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.mvg b/tests/integration/converters/outputs/imagemagick/sample.mvg new file mode 100644 index 0000000000000000000000000000000000000000..1c932f0538ff0a02cb141c85da7247d9a25224ba GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_bhbQMSHz-_Ek<8$_6chTG z(e~~G#@f$~42M6+WZV@v>N!iT@QA|c?oB$MdK^Q|TTDv7@?Q74{q@hq#5ocVYWBrm id)vBvf5Lkm_6NYQC)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_bhbQMSHz-_Ek<8$_6chTG z(e~~G#@f$~42M6+WZV@v>N!iT@QA|c?oB$MdK^Q|TTDv7@?Q74{q@hq#5ocVYWBrm id)vBvf5Lkm_6NYQ>%=||0D$V?mGA(rdF!xm)sB-XMRN#az m5A$D}N|ju_UZotmJSa?%F*W78YAaFV7ZlgsL6tS2@C5*h+pJvx literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.palm b/tests/integration/converters/outputs/imagemagick/sample.palm new file mode 100644 index 0000000000000000000000000000000000000000..b3803f5d8737241335a3d42be4b62e098cbc9e3e GIT binary patch literal 272 zcmZ9HJq~~%425gr;OOcZ^cZkVMg|X2?!Z>qSh$8(O8qOzOTO~b_Q4GNMwkWwH~?z3 zS<0@pm8V{I`!X4OH9SRi80Fsa!eI}kuux}0N{K}|lz_-`^YUf3=KS_Mo`(+Auj?O< S?SQEJ=+APp{A*rL&3R52M$QHR literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pam b/tests/integration/converters/outputs/imagemagick/sample.pam new file mode 100644 index 0000000000000000000000000000000000000000..916d4bb8cd50b4e446956d6a12855c40e6b332aa GIT binary patch literal 1091 zcmWGA=L+|93Gq-cG~@Dc^>p_L0kK?M1Asy%T)vJGVU9iuMy94*A)x_2A&~*D3PJ8p z@s2(L9*$hDel8v^L0k+_P+B`_y;pGRKU_GosP)>a9an{5>e1=onEbnf66*hPVIfJ4 z|G8zIhv(1V&w;KN#3!U5WUiR3?*FRh8LJu^8ko?{AVxpP3|SSE|IIy%dhqF&)m8=j zLsrEIsNM*|hKhmA2#(FWgG;}TlhXg@(_;U%9F+d=J8%SyL2Qs1NRE(xQ8~5$wy_HT zMP$|fyZMBJF^CNk1IZE6Z)ooF|Im>W|Mg9s{(BY4fiZ{;5(CN6T0b`TE9k5IcTSi8 zuVA1;(0**;XY8x^zvYbBe-nR2g8D)JlR=9=F$J~%DyAy`#S{sLA4oqTj4%EP=>^Ht WLVro!#0|i_`=1zG49x4W^a}t`jZKUI literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pbm b/tests/integration/converters/outputs/imagemagick/sample.pbm new file mode 100644 index 00000000..39eb01be --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ßÏÿçÿóÿûÿÿú_ÿÿú_ú_ÿÿú_ÿÿÿÿÿÿÿÿßû \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcd b/tests/integration/converters/outputs/imagemagick/sample.pcd new file mode 100644 index 0000000000000000000000000000000000000000..ac78c98459ec824a809279b5c133db5c25ed47e5 GIT binary patch literal 788480 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%0D&w46UbhH zQEzrFUm&Zl#3ew00D;;9d%M5Y^E=hXGX4mosvg%4)0t5&Us4cL!`&&J~!&_k_P`f&1M}PnU0$Bnkki7z<-t1bw zKvrFeOMn0Y0<{J9c7LnqcX%s|1Zr2O>N6-ENJt5bFa2oNBUC13*C zD=_NKuH_44)s?se2oNApTVQYZw|ahux57xEc6G{*009C7vII;Zdj&?l*|mIuthy4H z009C7Y76Y`{#MWL@KzWJ)UHn15g|r|bw2AV45Xzyz{aVAPvk z%NNM1D{%=BAV8qDz~1g}_52QRg^@t*>XaP;0t5(T37A0k3XFQQYxx3MbtNtV0t5)u z7TDYUt)AcEtuPX(U7fNcK!5;&ECCb9UV%|>b}e5ZtFFW)K!5;&+5&sKzt!_QycI?Q zwX0Kh1PBlykR@OO*()&W&93DOWYv|p1PBlyP+MSc_qTd}hquB=pmuf2jsO7y1hNE7 zAbSNyz1g*Vfvma`mjD3*1ZoTH?fzEJ@9fIyaj31qLps5iToFOXGN z;u0W0fIw}5z1`pH`5oR0BZ1o0DLVoL2oT5;FoEn981-h?@&&T$N?Za22oR_(u($hL zJ-@?SVI)wyI%P+I009D70w$2X0;AsSTE0M5U5QJ8009EE1@?A-tLJxkD~tqcSEuX< z5FkJxOTYxOS76keUCS59sw;5`5FkLHw!q%*Z}t2RZ-tRS?dp^r0RjXFWC@r+_6m%8 zvupVRS#>2Y0RjXF)E3y={jHwg;jJ(ds9l}1BS3%vfh++N$XP}0=27Cb_56zAdn?s0@*7t>dmg@3uM)mxC96gAW&OiZ}+!)euuZh zNT7Cg%8md50tB)IOdxv&M!ng!e1WXG5|;o00t9Lc?Ct(m&+qV77zxy_PT3J4K!8A& zfC*%;z^FI7mM@T1SK<;NK!8APfxX?|>iHes3L}Bq)hRmy1PBnw5-@@66&Uqq*YX9j z>PlP!1PBnQEwH!yTRp$STVW(nyE{`A+R$YlpfB*pkwFUNe zf2-$rcq@zqYFDT12oNAZAWOgmvR7c#n_bHn$f_%G2@oJaptiu??r-({4sV5#K<(<3 z9RUIa2xJMEK=ulZdb4Z!0$Ft>E&&1r2-FtX+x@Mc-{Gw=5~y9BvLir%0D&w46UbhH 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 KK!Ct?0{;zXLq)0p literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcds b/tests/integration/converters/outputs/imagemagick/sample.pcds new file mode 100644 index 0000000000000000000000000000000000000000..ac78c98459ec824a809279b5c133db5c25ed47e5 GIT binary patch literal 788480 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%0D&w46UbhH zQEzrFUm&Zl#3ew00D;;9d%M5Y^E=hXGX4mosvg%4)0t5&Us4cL!`&&J~!&_k_P`f&1M}PnU0$Bnkki7z<-t1bw zKvrFeOMn0Y0<{J9c7LnqcX%s|1Zr2O>N6-ENJt5bFa2oNBUC13*C zD=_NKuH_44)s?se2oNApTVQYZw|ahux57xEc6G{*009C7vII;Zdj&?l*|mIuthy4H z009C7Y76Y`{#MWL@KzWJ)UHn15g|r|bw2AV45Xzyz{aVAPvk z%NNM1D{%=BAV8qDz~1g}_52QRg^@t*>XaP;0t5(T37A0k3XFQQYxx3MbtNtV0t5)u z7TDYUt)AcEtuPX(U7fNcK!5;&ECCb9UV%|>b}e5ZtFFW)K!5;&+5&sKzt!_QycI?Q zwX0Kh1PBlykR@OO*()&W&93DOWYv|p1PBlyP+MSc_qTd}hquB=pmuf2jsO7y1hNE7 zAbSNyz1g*Vfvma`mjD3*1ZoTH?fzEJ@9fIyaj31qLps5iToFOXGN z;u0W0fIw}5z1`pH`5oR0BZ1o0DLVoL2oT5;FoEn981-h?@&&T$N?Za22oR_(u($hL zJ-@?SVI)wyI%P+I009D70w$2X0;AsSTE0M5U5QJ8009EE1@?A-tLJxkD~tqcSEuX< z5FkJxOTYxOS76keUCS59sw;5`5FkLHw!q%*Z}t2RZ-tRS?dp^r0RjXFWC@r+_6m%8 zvupVRS#>2Y0RjXF)E3y={jHwg;jJ(ds9l}1BS3%vfh++N$XP}0=27Cb_56zAdn?s0@*7t>dmg@3uM)mxC96gAW&OiZ}+!)euuZh zNT7Cg%8md50tB)IOdxv&M!ng!e1WXG5|;o00t9Lc?Ct(m&+qV77zxy_PT3J4K!8A& zfC*%;z^FI7mM@T1SK<;NK!8APfxX?|>iHes3L}Bq)hRmy1PBnw5-@@66&Uqq*YX9j z>PlP!1PBnQEwH!yTRp$STVW(nyE{`A+R$YlpfB*pkwFUNe zf2-$rcq@zqYFDT12oNAZAWOgmvR7c#n_bHn$f_%G2@oJaptiu??r-({4sV5#K<(<3 z9RUIa2xJMEK=ulZdb4Z!0$Ft>E&&1r2-FtX+x@Mc-{Gw=5~y9BvLir%0D&w46UbhH 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 KK!Ct?0{;zXLq)0p literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcl b/tests/integration/converters/outputs/imagemagick/sample.pcl new file mode 100644 index 0000000000000000000000000000000000000000..2a119b404a7b8f03c57e694019438f006e348518 GIT binary patch literal 516 zcmb1kmDVaUb^{WIX2phPA<|kU=B7c?YB>f#i88Zr24)5h4i1pCqqJ6%K_rkc_5~8A zCgBelz@W7D!6dKXR1kUqp@LH%Km;<29<;97aTTQO0az`N02yEr{wz2qUr<6_P~rg) zgV6&BC87R6NKzxWtaJW+hW$Xbh9=?vfGWgfb*q{aW;8T3fW(Z#|1$vvWmQa?dl(i0 zMU0HX{bjXP7t5*`0g*F^36u|x%>&7qhriKrQffXerseQJY2Se(K&17+0VDtvhAI%1 zQ?rd#5RrYL=H?R)L?RDlK>|Qwr~*TCmqSNR=$k%p@+y)8BK-%ZPCx;mFi?R(I1XbJ z9_Xt$r^_oCs6Z87mXE2*0Zj)4c@Xu%RQUcm{e#kG@w@#-Y)3IM$fnX>=@ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pct b/tests/integration/converters/outputs/imagemagick/sample.pct new file mode 100644 index 0000000000000000000000000000000000000000..e6a2a89aa837302960a0cb0cbdf47b82795dc3c8 GIT binary patch literal 1386 zcmeHGze~eF6n=Mh5Pv{VG(<2pEwRz6)L*5OP-+n=ibDpMb`){YK>aZYN})OkE;@;e z;OL^GlZtjI)Kw?_JJLqm_%5Cr?CPdR^4@nZ-*!(ieZ$9jfIhya<-h?aRv1wVoL7;F#w%t;Z<;s*hzr(p4O$Jx6sF+C zn1R!bEDy?>hC$BOpxxBRWCKDMR>KPm7#ek>chPh@dN(R`@nS5OixuNSmntO#fn+K5dph@= z>Xhm|XLM=AdrqxaYuwN6%lPhuw=Z)K^WMG$rC_6u^`H-uCJCMEgBlA8o$EtbbNdqd v_74n;0U8GxO9pfdOiQO|)$dU*@pHPsh1ab#tYO}<4A{neXf4ts{tr0s#`^lg literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcx b/tests/integration/converters/outputs/imagemagick/sample.pcx new file mode 100644 index 0000000000000000000000000000000000000000..28e2ddcdca5b268de4b91b3fa28f50f076e189ab GIT binary patch literal 897 zcmb`Fy-UMD6u?taC@y-X4G~ODOWH_VsnwQFg%XQHQ5-V3*s+L%7V5_!RD|dtxY)@} zaO_e?C-q(f`KYT-_FpmPF1aaN@d9^0F7KE3crWvFktpY_1@D<^%`S40sYG7_?%Zr1 z4Ga#ro~d1f{+(L z7V;ppr~yhwfej@C$_W$k4_?DjwJ2qmIXF;3{c84TiUc-9#-8+woe0 zxyhCYJ7O!z%&e4!eQyh!B@9Jq7BQ5VTg65Nx)p3xnccva3P}}PjsN#)<)+6VG)9#b=#c_wg{Q*s2MzjC` literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pdb b/tests/integration/converters/outputs/imagemagick/sample.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9740c98efb1425dd09d48c6c8bf2d467ad66f9a8 GIT binary patch literal 256 zcmXR;%q_@C)hkFzV!#QqE|u>BVRQv$p1$s3nW^P)aYi63%pt#lp_qWFAcd&lKM*ho z0O2o&RSYW`{xkdr;(rYF48NKF|BnZg_rc_Qpv)Zxa|RIoj$t>LKF6>bg@%dWVNe5! O15Ln2{$g6SYCQmPpG~Cz literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pdf b/tests/integration/converters/outputs/imagemagick/sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b15390687425eb18abdc756949780ef6fbca8f03 GIT binary patch literal 2247 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 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pgm b/tests/integration/converters/outputs/imagemagick/sample.pgm new file mode 100644 index 0000000000000000000000000000000000000000..b9c09a4a8623dec8e9b7e0fb5aa6043ccdc83924 GIT binary patch literal 269 zcmWGA)sba=kT-FB>G|<0BI!3*(y~F-=Z3Jz|cF4_2=or2~@(o9D8@4aS#H X2ihlRAP?t5T}&Jw=3k(%YZw>+p`$P` literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pgx b/tests/integration/converters/outputs/imagemagick/sample.pgx new file mode 100644 index 0000000000000000000000000000000000000000..8fa86051fdb14af0594f8778b9ebc874f05daadf GIT binary patch literal 272 zcmWG=SMc>w&{nWeFf;=qE(V6$AP6Yj&Hx6{5)dF+x)6mgA=}&l5`f7|NT~Ec`5F=` zDiRtJ5-||I^?J(#2Q1fH!}zj6GCn>sL9#Hu`4Q9PWYZ(&xcFf8+EF?%d9Zmd8{A-g Z33Z@-at88nKGem;@nQZ2`nraJ0RW6JF%AF# literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.phm b/tests/integration/converters/outputs/imagemagick/sample.phm new file mode 100644 index 0000000000000000000000000000000000000000..9b7b0ffc56890b1bf9e64e004740a7f31493b930 GIT binary patch literal 1549 zcmds%Jx;?w5QQn6Ai0Ms1%;I~u|2!&pSN}r3JMyaqYB{!a05GOC=n+xNyjN1aRCAs zAmIW)6@=qSVT&lTT_J4gX=Zo)Y5jJ0PL50>4u~*`1LjWVkv;jYZdt^+IIE^o%2#!l zLFPiv`BZ$heWwm@)ifc@#3BdHB>#`^?vhK0&?~nG0qvsNAs7%R`51yEwjjou;{K43 zS>UUNzOX~mVFvi#r>^TJDjl$Au#}|-c1VZp1FW)qyW@@^KAi9w76lq8k}Y?HiX%9Sm4A)D-5+#p?Oy6++4XPV zU)=Ha?x!cAEFbIL-sbc9d$t-Mzbc~Xy%?&7>U(>cmXHgp^#?ml{_;Ui5_YVN)tiH6 tlG6OZ>5`gwkyq+iE!EQd&cHT=@_f}@i+5&mFI%eZoqALKxB-_A{Q&>(XFC7@ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.picon b/tests/integration/converters/outputs/imagemagick/sample.picon new file mode 100644 index 00000000..e7cabdd9 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.picon @@ -0,0 +1,31 @@ +/* XPM */ +static const char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 9 1", +" c black", +". c DarkSlateGray", +"X c #7E7E7E", +"o c LimeGreen", +"O c SlateGray", +"+ c tan", +"@ c SkyBlue", +"# c gainsboro", +"$ c grey75", +/* pixels */ +" OO.......O@ ", +" .. .. O@ ", +" .. .. OX ", +" .. .. .O ", +" .. . .. . X ", +" X. .o.+#.o. X ", +" X. . .. . . ", +" X. .#....#. . ", +" XX .#....#. . ", +" X. .. .. .. . ", +" .. .o.##.o. . ", +" .. .... . X ", +" .X . .X ", +" .X .X ", +" XX X ", +" OO..........O " +}; diff --git a/tests/integration/converters/outputs/imagemagick/sample.pict b/tests/integration/converters/outputs/imagemagick/sample.pict new file mode 100644 index 0000000000000000000000000000000000000000..e6a2a89aa837302960a0cb0cbdf47b82795dc3c8 GIT binary patch literal 1386 zcmeHGze~eF6n=Mh5Pv{VG(<2pEwRz6)L*5OP-+n=ibDpMb`){YK>aZYN})OkE;@;e z;OL^GlZtjI)Kw?_JJLqm_%5Cr?CPdR^4@nZ-*!(ieZ$9jfIhya<-h?aRv1wVoL7;F#w%t;Z<;s*hzr(p4O$Jx6sF+C zn1R!bEDy?>hC$BOpxxBRWCKDMR>KPm7#ek>chPh@dN(R`@nS5OixuNSmntO#fn+K5dph@= z>Xhm|XLM=AdrqxaYuwN6%lPhuw=Z)K^WMG$rC_6u^`H-uCJCMEgBlA8o$EtbbNdqd v_74n;0U8GxO9pfdOiQO|)$dU*@pHPsh1ab#tYO}<4A{neXf4ts{tr0s#`^lg literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.pjpeg b/tests/integration/converters/outputs/imagemagick/sample.pjpeg new file mode 100644 index 0000000000000000000000000000000000000000..8fe0456e5a16a4c93654308c1d960c316254de12 GIT binary patch literal 797 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wh(VBp zL4ZMknNg5|Nsy6Qkn#T!1~H&hfzCt%%#7?HaiB1&I0G}||62?^%!~|70?YzH?;UfBMTEVTt6c-lOPL&kz=8-l91s=s3Y0znOuY?g-ht2dnI!Z58Z9lzz{rAdJIDq`LBofNjvv8hgMvyR+O3zbv+^FxmKQ(`l7gV9 zKn_}vTO0$y%0WRTa6u((NrTv>G@o7H_p!K6P`D9ubF=^41rEBLOezb{?liGnmeFCv zz{xnX>^smr%%}z04~ZvW)Y=P})>JK;RnY2mB1Gv|>hGzUsv0ea!;d$uT(01nx`ZLJ RH)Hej1_#?~OY8sN1ON;!wSoWu literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.png b/tests/integration/converters/outputs/imagemagick/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..1c932f0538ff0a02cb141c85da7247d9a25224ba GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_bhbQMSHz-_Ek<8$_6chTG z(e~~G#@f$~42M6+WZV@v>N!iT@QA|c?oB$MdK^Q|TTDv7@?Q74{q@hq#5ocVYWBrm id)vBvf5Lkm_6NYQ|H(?D56^88c~vxSdwa$T$Bo= z7>o>z%ybP6bPdfy3@xn;%&klev<(cb3=B3KM)#p;$jwj5OshoKU}R-#3DHnno@))% zpaHj`Br`X)xFj*R08Njfsg;2lM9=ma-!1_4Fy46!)9cA~Gw z;Y69^_P^iHWd3hqv0>W`)k@9siMJZ>?5Nnu@l=)FZ_1=u&69SV@m!mxG3UvvMIDv_ zTTa~8(3h0#J$pO;nSu77vmNiBR{r`@ZFm0tPg|*bmu@D{zImr;y0GfYm&E3@?CifUJJV6vcf+PVGn89qlv+IVmXgxp7u5TBxW!3vnYwz{H@~uDYrQ7OAytyHaUutZRAhmN??=~l(7 z9`UC|+-jq84(2a@_43J^j&~EK{Pq?uc_YT~pgwAG`JP#?-DMa2jhis(r%&c@*?q~K z>-x+XtlG0Sn%sT--Rs9*Lzd;yR&K8*bNo_yC3TyzqUM_6tyw3|F8y`%)kY@A_#FlU z9Qy=$_a(m#Us^B!=>K1*wwrJCG<3}VKbdfH%FDht@r)coRjpT|I8uRe!{F)a=d#Wz Gp$P!?PYzQ6 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.png24 b/tests/integration/converters/outputs/imagemagick/sample.png24 new file mode 100644 index 0000000000000000000000000000000000000000..9ef82b1866b3434caa8f7ac6b88dcd34b4bca1af GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|3dtTpz6=aiY77hwEes65fIPsvQH zMAu+sWoil0P+OjB4b-3kx1l66H?_DVF}DCskD;lRff+>4_8H$U0QE5D7x{%So?lcx z3&;-kba4#PIG>!700J6o=aziEmCDAWpuhgX3o(Ib3wgy88w0+-yKh_fMPON*@NvG) z8#bJozu(^QqM*{DBMstz{{OFk`bl;B{5v@r846y^%*==1-`_8$Kj-k7#VxVS{U7Yv z*x2Oc@_@+V`|0WD#r5VLT;v$_y8KpC|0JpX;^$^=DLAL%*?T{e+s-TduUpvRrZbh5 z?WxyQ)`gcxT2-kT8yM`_b$U~_(Dl>S8d(836DCf{_KjE6RXn_?Y>w;O9a~y_vVU<& zdRoqr>R{BkW?T7hMOE67%i=kYw(CerNZ9?ey1m2V&tLyAHny}kQb$7n?RZ*S{d>mB zMJm%98y9Xdzh?OL_i=F_`S=GHK75gSeTL=V`uv%Xf|H(?D56^88c~vxSdwa$T$Bo= z7>o>z%ybP6bPdfy3@xn;%&klev<(cb3=B3KM)#p;$jwj5OshoKU}R-#3DHnno@))% zpaHj`Br`X)xFj*R08Njfsg;2lM9=ma-!1_4Fy46!)9cA~Gw z;Y69^_P^iHWd3hqv0>W`)k@9siMJZ>?5Nnu@l=)FZ_1=u&69SV@m!mxG3UvvMIDv_ zTTa~8(3h0#J$pO;nSu77vmNiBR{r`@ZFm0tPg|*bmu@D{zImr;y0GfYm&E3@?CifUJJV6vcf+PVGn89qlv+IVmXgxp7u5TBxW!3vnYwz{H@~uDYrQ7OAytyHaUutZRAhmN??=~l(7 z9`UC|+-jq84(2a@_43J^j&~EK{Pq?uc_YT~pgwAG`JP#?-DMa2jhis(r%&c@*?q~K z>-x+XtlG0Sn%sT--Rs9*Lzd;yR&K8*bNo_yC3TyzqUM_6tyw3|F8y`%)kY@A_#FlU z9Qy=$_a(m#Us^B!=>K1*wwrJCG<3}VKbdfH%FDht@r)coRjpT|I8uRe!{F)a=d#Wz Gp$P!?PYzQ6 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.png48 b/tests/integration/converters/outputs/imagemagick/sample.png48 new file mode 100644 index 0000000000000000000000000000000000000000..f3ce7cb3ff5ebc5f26c6c5b5556e7f06abf70fc0 GIT binary patch literal 808 zcmeAS@N?(olHy`uVBq!ia0vp^0w65F1SAhIZYc#)3dtTpz6=aiY77hwEes65fIIzWz{A>WahSUvhHyzW=nT+5i4`o|Vti zfQ;m(u)ubga8JRqaYW7_J9WnXI363l4Lnf)beERgwn?HY^ELqPmIWx^|+TVXJ zP9nX>US>x6sU;isHFL=>Fj)DtdCP&nwL5z*9ArGs%WrQJqQ%jAc;bnBase+GT0M2; z&q~iY>-PA`lXHFw6VA@^5f)A}b_xzYsuTj0KH11z=RGSt+vMH5ynJ)>#ex0HZ$A0C zP_g;puUiipw7TY=d-?KPnby-Xd)uwISsD{1mR;u;NHDmOb9dckNuGWCxSaO(J(iY! z{W?3_!Fl1`*!9yB!@};}bD8+OFh-=ZZb3uZ<`AWhjFQaEoHbX4SY+a3V&eGN8n@lP ztLLa9w0ia8#ploW_wRTXoXys7K^)78&qol`;+07O4bssI20 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.png64 b/tests/integration/converters/outputs/imagemagick/sample.png64 new file mode 100644 index 0000000000000000000000000000000000000000..1de23716f7c37f1ca99e3adf0eff24c5764ce50f GIT binary patch literal 868 zcmeAS@N?(olHy`uVBq!ia0vp^0w65F1|$Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZOnXdAqy(2LsNC?{|PAswJ)wB`Jv|saDBFsX&Us z$iT=<*U&)M&@9Bz(#pWx%EUn1z`)ADV6$O#ABu+D{FKbJN^}iIR;HE^4YlRD)<6v! za2rZ8b5n~;5_1dC^cb328JI!zY@hM%0#FZQevw}Y}N+Qq&fMz)NhMbqn^YGVD|*+mIG$Y)<$Bx9 zF>srPhRVzHO+lMZBxS8BQF-sgSG@kB>H63zbNSEbK7ZW%+}gcO#!^OD*zftPR~G{{ zM0mDsU+nO*#A87;UN5}LV{L2>KW#)goUKo#L74gc5f@$PcT%Uidu;bY$p=5^`8- zWos&>+V?zo<=@(bqD$}JzhaV;pX}MH^xI!gU#Y<>)nLixhNDT__wQl&_~WbTVTR=7 z#fz1dg`O9jIs5esL)zy92VQF*_`Ff#a7uO{#qSWQiJPH#H6;Np!tcP<^;bl=ot{q@(pZ3za~|FagFf4L)`d8G%K#27qX{an^L HB{Ts5e&cYo literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.png8 b/tests/integration/converters/outputs/imagemagick/sample.png8 new file mode 100644 index 0000000000000000000000000000000000000000..76701706b60315cd406e0abc35c50342e1c41e45 GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZQZq_=LFr|Npcpt3=meWMygz(NJ5SYYo((0k@$fGdH!k zBr&%DO^>0em4O*V&-NMLE&%l~<`?;eFrHsjJ`2c6^K@|xk+__kkdTnl#E{0Ok&xKR zU{+?r7{=!ZB=quTFz{>Z>rY5{+RXKVn}ds!lk3A_))vzqG- zKeA#V8<%>Z31YIkRn0RR8XAzb;873MBCBH3+_MO)dRc8%umU4l6(bM>%mp%nWAiZ8 z>o_SjpBB?{P}+Ck2oM1oKrT=amwHh-HQQJP5m_}ipKu@oGJss5ATITW<}QbhoX|IQ z@+y)8A|M0E1qxD2J(_zI^i`bGC)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_0JrF&D@BgL%^)Tia`Gqi^UsOH| z$jS0_aSV~T+LnSeX-Zx hwl3eF@Lq@g0Wj=%^^Pr>dlYCZgQu&X%Q~loCICwGv2g$Z literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ppm b/tests/integration/converters/outputs/imagemagick/sample.ppm new file mode 100644 index 0000000000000000000000000000000000000000..a4181cb4b9cc7fe436445e3b1bb28db9fc20dc47 GIT binary patch literal 781 zcmWGA<1#c;Ff`*bGBxF50E5!nNnXLJm?*QTb=8im5H-kTa7@0SggPb?lGMm8>zqG- zKeA#V8<%>Z31YIkRn0RR8XAzb;873MBCBH3+_MO)dRc8%umU4l6(bM>%mp%nWAiZ8 z>o_SjpBB?{P}+Ck2oM1oKrT=amwHh-HQQJP5m_}ipKu@oGJss5ATITW<}QbhoX|IQ z@+y)8A|M0E1qxD2J(_zI^i`bGu=jO5dW^f;`Sj$i#4%G$+GNy@+0mBbgR+j+b|T0McYDUNfYHfR`h@09ZAWQ zABmHoC@{256q$FtJMw<_Abs}J?9cOIoL`G`@4|J?&c>yPs=OS)>)+PVQv4n*llkX2 zNVrO>RN!zYDvC}eWFkn9W;P!rY-GS>8?QlGeJB%TRVx|5EHA4vQmiv% z`%uOL_hTsMB8!oi#-yHhnZ@ILO3r}@%3bIxFr z$RdsIA%Z!Mm7wf{(vDbM);EU2Xwd(n%EYTf{Bo&(HlQs?YNAXJB$qIL9 z2}NGeFY2A=>!K7=q8J2^_y>n*p#U9i#V2Ee2eDWn;cLTStGd3g!~qp9EOFxwNE3JS z6)=e67(7^S(poqq3tX?jDJ~M)7BKYZb)(&wr39(Xs27T%r!a66rO5mh7I}$(4ZFJ| z6U}RwzruBr#mbVF`&AyWyuXF5jQ|Z^)I<=G_p%b}IGI;~i2<>#sPH+UG;i=-*yi?ek*Y6Xx2&x+KD$2mU;QcPQF-3#Fs*boy&FN ztAV2siAG`pQ|ulgu1>uMAuZJY0CimlzXzx-xay3&ms>546S|-OJ#v3EQKF=dt5u~f zj2v&GEGBaTz+`-^7|*F6AAoyq&%(Z+ol_b%-MgONYEL(d1vb>w1E&dg(Yp1m^3Nhu zt#C)l)j15yO5GZhGOQ{~Dh~%r*Fm9xEmI>l7Dct%6>CbW>fu!b7^*&4^J0sO*^p*Y zR~$kTCpTc4c3tqc-J$Be6f@fQ+~(2VCMt^9kM5lmum_`~EEUOSC&)w87PT8D-6*L< zj&9nXWAq3e;dU#QH3Q4T0JX<&b*J?fsL9gh&7>GfHBP%1x4~{B9`}VYq3&RekI@;1 zVE))8tR_<3GUQ!XST-mQV%^_Bjkib71vSccT&&LqTL*8++w%b)FzFbvb3y>nX9N@s zR>U+-_Q6wv_VU&i?P>DUGfoS&v$i%{Cx(|U>0s+cCkBI7>-1o~wo;Ti%pFfp*4czE z7_41UPC+i_Zn@S$9 zl;dk!lOK1?W_H4Cn72oNN~xK;U!Yw2ag*so&1E*v*OoogM3 zUB=rp>3OrA>vj$C_1lxO}BC{sdHPA|M#<@?eqEC{rh2-v{b%~~G+)idHbTQ~# z_aOCPbDe}|cZoL}6uT1-ovCE2`oz3w=eGR8vQJLTyx&iXtI zCKzS?{!%*k zR7bOFom#{G67-0zfOXj=54=ft!d>R0-GLwY<8IHJd%Vtfwe&>?P=FFHvy76}Ez7d!)ArzkQi<-}izZn{wB4xo>cHx)UDu zvg3LFgtO2ek6GaP{*-`45qi1;&CkY!(>f|NMD;VEuaFS3UG5{!7!OWYP>VYjQV)*r zub}0MmJ=QnWEQx`LqNe;J1G+OChrS9u-Jzc^!(mspB>B9&M|^L-t#Ew+bf{2%BZSb R;g@WwDDl(w?efFa`444aeZ~L) literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ps2 b/tests/integration/converters/outputs/imagemagick/sample.ps2 new file mode 100644 index 00000000..2c07421e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ps2 @@ -0,0 +1,179 @@ +%!PS-Adobe-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.ps2) +%%CreationDate: (2026-10-16T19:15:07+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore + showpage +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +%%BeginData: 656 Binary Bytes +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +%%PageTrailer +%%Trailer +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.ps3 b/tests/integration/converters/outputs/imagemagick/sample.ps3 new file mode 100644 index 0000000000000000000000000000000000000000..a104b6703515a50d52bed8a44722bb71ccabb5f4 GIT binary patch literal 4871 zcmd^DPmB{)7+)|1x4{T{(3ogG(c-GvowjS2-Gaz&%d!o-P}>rMy9-WdUfYrB%rI|e z>29+TOib_~VvNRv2_hkp>_HQvi3ejal5oO=z=e1+9E=AOLp*W7@4b05o!Ko)F>rCy zZs)!C&G&up_x*h@{%oPtKdPD)(myzmh{fYso5+r7XCU8@Yh+5UY04qkJdhkn;bK{H zbdmu{wk*jZ)S;4QIHYFFj%FH?Vj6SAc8ElY>%xH-1aC{h@px(nt>!f?l9D> z*=XRa6h~vErWpm>)XiE<8k=`W$wAB-Iii><8P{|KAl8ZjNDDxkN*z>EWg|N>Qo^GJ z)S4WI7D%I|Y(77n_IN>+GlNCY7>5N&A{9O`<^Wr_@*m{93;L7(bJo<|hCxB`CyM3~ z3N{~Y+s1#SY&KsmkIT)76kH1Aq=YuPY&k;HrWh0ylW*+11H~(XqUaiv#Hcy-JJ6*C z-MEgP(1B(VDw?5k5MxqKvx(wlb(vD`o;gi%IMxbU!={$35Dq17#sf*pkvUBv#hqh7 ziPNUyK(rC$%*yi?L31-~5!8K}>eK<>U~u}A6GW@k9k3Boe`-u~Xo1-1AC_sLhrqDE zg03x>OxH%8EUiiOgOvM;zdYsYj)nozCZkZ5bxM2!5rB@ZHDOvPg1bv_@nDdec%1cL z5a>-~2;dU`dTZS9i%1p$B|Ei$*Z&3;ff1lZ8 z?2lrOp>8GEEX+PI3%8SOVBS!GzK5?&g2dXU)kg<2Fn%I`G(f!k* zs|sbAcxvF<`TcQdC%g*rT`(J1EJ0ebQ}0@Jg}seQYng~Rl%_knFcsI)0i&lqH60Tr?S7d#K_1WS{M614^>?@&klH|q{4S35tRQ7r;S+x&Nf^uT9xd(% zhA@qVotEE1K$@>~xB`%h#HDgYk6aIkBYmuSeG9yO^mfm!Rn?jGJy$2!&3e}iOnyuX z)xsc-{ELTW8m2ZUq8jG3P?^F~81pVmlBt+?xO8lnh`B_J54`zAER9+zZ}uF!ay@_G z!nsfT&VT7%JF&FxNf_RAurT)Y($S}JM>uJ@X({B?@xSGys0Jo*PdNmd!lE<$yGO2uQ`0~iH}R?-`~6b z!@cxo@7j&<(4{r8UyEk_5Bs-Ey^Ez6zS=kft5Zj3K8J6vp80O)=)sF4vj;A0e|O^c zQ@39F_OlIxfA0I~>@&yJlRuUwN2e~9cTB$i$Oj8E$1nfB>-SBSsh_R#%$D9S9_zVY Zc<Orjq~lN9ec)Oe*?VY0|o#9 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.psb b/tests/integration/converters/outputs/imagemagick/sample.psb new file mode 100644 index 0000000000000000000000000000000000000000..b8d7fae184dd389fb5ac9ab59a31401cd6179e0c GIT binary patch literal 1693 zcmcC;3J7LkVt@b^ASD3C91P4*F(}1&6~bUV_5VMT3`8|Z9|YtwFhW^5a8onkI`l1^ zJbm->i*o-%l<~l{G5HuWFfdijNlwuC+SG6+lqW$zhl9~+=jXs5O-Z4=8a0kL(=_74 z0>nC4Seq4V=BBN!{k>&YX+lk4w4k}UV056w{SOoNO`rZx(K)7OLltW}tH|e`XrF`{ zN67`XNm@w-c02+{^*=T>C$X_HNJ^`RKrCCq+t#p17HF9=Bjco0pk+dv&H^ptoGPag zAMNDI>fv$3>4)EPSw5Kpi?=L~Pai$?>&J;>rw;yj=I+zo<*H4GoHDd}F7Yep2V(~ceBa18R;X?#z5t#=5Brr4t!8_fueyIi20zjFp$QFxqE=F!ew@ z86zQ~Euo?UBqW$(VM0!)9S$6DIPHWaBo`~|<0Bg@ha_Zv#I&f$^oTirA+SdMbOR(+ zVB>wy_#+8{9id>V2oVDMJLWq9X5IH-rdo)uMRxtrh0A+x?-~WT-8p^zb5Tze;1JDiYfffS*bJLHM literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.psd b/tests/integration/converters/outputs/imagemagick/sample.psd new file mode 100644 index 0000000000000000000000000000000000000000..de3f2fb1d11a4c685f36aba0545d0bcd14a3fde8 GIT binary patch literal 1541 zcmcC;3J7LkWPkt`ASD3C91P4*F(Acw5QumE|Bn!XssgEJV8{jQ&tYH!vNOS|^evn` zee?2*a{oh&<^ih%5==gZK%!z!a)QR!riL@2JP86i9E?soKL`G3N($xGsByfRrV$?& zAlAXc+N@YJH*Ib0?=7=R6KVpZ10@;}JNj|FNk#iH(gxQd&I(V%ZAbwuVKrK+BXF87HLzEfd;w7HApgR5^|K zXeU=z504{GKm3-<^2rofyk&WO`sk@&KTaGwb@0bCcc1PqpZ*z-A2nZny_TP>7dhGO_x;_`}uGbdv=i zuKJ2O{#^CS&CS8dmj6(=P_R`Ii^qWU|?8YYt#ahMWhJ$zi2NcX;p8CIDR9NeO zJ-^ida{&+X9X?z)1}Z-_ck^R#;4?DtFz_<)0kJR|?AYCZyA> zwQrwRvksDwsI7>bn~1F_l91sceJ?NlLx%W;z#0{t6_8YcjW=#FK@t*_0XjlVMGPVY za{qS%%#!b3OvMln)&2@*EZPC_cg!ydCdo3Wzhiz%Fv>Q={2lW{fHR`7uAgKZy?|a4{ zNeJu+1yeZzD!kI;_*H-PgDg@Vn#t4qdzbh!A{vQ_>lGOO0Th@7a z{`~zMXj;KsLi$1GiplE!uWFvLs-dBQ3Ed20^n=WhRWbSB+_R_$pMF_wRj@x~Rg8e@ zjUa5O7|4v^*t|Qq^y@e&{ck=k_Fv0E>Hoe1N5B}w28n^>2vy#I8;5z5*Z}*c8shHAhUk~#qEJ?HX!>HkR1e71Izjx3=r7* wIuNL$f#LAi6+oJS>FgOF5X}go8yKK`rv5`;LE-}DQVT#dlXg27kWyd(04p3(xc~qF literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.qoi b/tests/integration/converters/outputs/imagemagick/sample.qoi new file mode 100644 index 0000000000000000000000000000000000000000..8b687d9877753af405b7d97f6489752094134d97 GIT binary patch literal 413 zcmXTS&rD-rU=RRd76yg`|4VBpt^e;8ocizR|IDJ+YyVg6xGKbOpc8_{`~zM|AD#~4)YowTiW@*s(Hq${|yZdObmy34Uezs{NLQOs0YM8@K07- z)o@Mw0Yf#z1OJ0#^X`DP0cHN_I4S*WJ}vf7%R%Yiz5_=NDDoTr1KEMBXj$Sv+gOEv zBC=}#+XP1=66cv%>Q91BWL0{#c zbGrOL1p^gSO(2)?D{>$BXY8x^ujP!`KNEjN43{1FCj<1D+<`d(|5Qv>{)s87p&D`m e#hti$|4Zs7ZU6=O{}ca; literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ras b/tests/integration/converters/outputs/imagemagick/sample.ras new file mode 100644 index 0000000000000000000000000000000000000000..06d67ab85d3f4b0c86a0a8bbf718f0dec969f6f4 GIT binary patch literal 1056 zcma!CmNk`ufk6O@6&M&;fJ_Ev5P=NVm)1`D=M|ia3t!7DY86_w<0`TqWcJw~cg>Ia!ECab%us(A)eLqh{hAB-kSKgbMO6_cLko<%Ty zFd9X_thOrHAF?V&K=notHdG8~#+~5UJeWQh4cD*Zr1Zb}wAg0 zk|U&FR8H-`ZLGq75m~kWZa(2)3}S=CKyrli8=AZPKXl~8e|=M@|6WCMU<_h|#6WVi z){o8o3i>Mlozvz2D;TH{v>#je8T%^!Z#g6O-^5>$pnjnL{>z}npO}K$e-%@e|6+=S m!w;mN0LB~t1oRT+egbA-vwuTL-NgUE{7Vd8UtBv0mTm!^)IW0o literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgb b/tests/integration/converters/outputs/imagemagick/sample.rgb new file mode 100644 index 0000000000000000000000000000000000000000..273ff4aa7960d248ddcae7cd993af1c51a62d3c8 GIT binary patch literal 768 zcmZQz0D;olNnXLJm?*QTb=8imU?nI-a7@0SggPb?lGMm8>zqG-KZ!)CbI&5I>SeW6!3vCIRg6FkFc-)Oj?KeVuj8cDd|FJ)L22KC zBR~XX0J%UxTpVPv{(cS& z%|HP{`a$N3$?E>EYM!yGp`n2Z-3(&%gUpasG5O!zv#1B3epzi*us>u~jDYHmAZ(}@ z$c*6FygRt`>o_U>Z$2&dU&}%1|Goo9z!<~^iGkz@=@*q#`)?bo@Lxn$?Z2B(I2eQ2 zATf{}A^nEtF8>c5Iq_fL)ak!hksKI<*dQ^G9If?ZbH9SV%75o{`Tq(ADg^Dv7JkOQ zivL^Ai2XP5S0tz($fE@?T7maQK1r6T)J@y~%)9@I L!NtJ54oklPw97p% literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgbo b/tests/integration/converters/outputs/imagemagick/sample.rgbo new file mode 100644 index 0000000000000000000000000000000000000000..6462f2941176e9e42993dd28afa8b6f76cfb53ac GIT binary patch literal 1024 zcmZQzfPm84Neo`WsW@?FQ7gl$9ao{MF{$8~d{Qa1kfg*(T zgUl9_)n%w^p25)2(12kEG5SGf$f}qyH1{mRt6x@I73>dL6(gW}BM2KR1~MZ!HV>zM z9VaD*=F?&fS`JDK`wkodV-Oo829hJBUsO(w!8TTbK}1%K!ObTej6rOW7)XwgenWE? zhC@eAFzA~)F?bcpfiZ{;5(CN6T0b`TE9k2*IH$`qC>W>^v>#je8T%?Sw44!RF!5I; zs2}7%8MOElQ&3}2F;!s@QzRUIApL|ezW67k7bH&${Uvo1apqn0d|eF8>o5QSsqTqA literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgf b/tests/integration/converters/outputs/imagemagick/sample.rgf new file mode 100644 index 00000000..2975cb64 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.rgf @@ -0,0 +1 @@ +ûóÿçÿÏÿßÿÿ_úÿÿ_ú_úÿÿ_úÿÿÿÿÿÿÿÿûß \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.rsvg b/tests/integration/converters/outputs/imagemagick/sample.rsvg new file mode 100644 index 0000000000000000000000000000000000000000..2fe0581605f4f0dbc0017c7c02b57ab3f85f4294 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_0JrF&D@BgL%^)Tia`Gqi^UsOH| z$jS0_aSV~T+LnSeX-Zx hwl3eF@Lq@g0Wj=%^^Pr>dlYCZgQu&X%Q~loCICwGv2g$Z literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.sgi b/tests/integration/converters/outputs/imagemagick/sample.sgi new file mode 100644 index 0000000000000000000000000000000000000000..8086f59c109e99552154b56a5133f6a03a2a3cbb GIT binary patch literal 1917 zcmeH{PiWIn9LHbx$E5KOrmP_oQ`-?6*(!ClwWq%qLG*|?igmh=XBzO&e5VGSKxCxfPH$sGcU<|Q4 zK^~k34?rF9ouCM2z&peX;3Sv@F4#h@0nQ>`0R=Dto`8?YiGtJM5%`SwUT_XP1s{+X z0$ET+d;)lN+yXDaSLDFE`yzM=z9VMl4@6&v?RlxV6uVO zjcts*PlzeY`(;g2bVc?`!AMzE2UJ~;=Mt({5k@S-IA~-tNj+(_6y_VGX#eu^(djHV zD69>ytc<-s#SQwDKG#hsiM9sOp`MYE_=z|-h*h-F(e#BQ+#nfGj*sgH^tJ|r^>nF} zt`Bm9yql}la&Dd*6juweSYfreJqG?1dWNFB0)GlxCB`f8r+}ty1^y!T(-b%G7jby4 zzzzIGMAOzl*07CexPiZoXt;sDjc8g8a9GW->}ZsowQ^W>^m|NOVZ+HjXWBcC!LTXH zRJnaOh!<6=(V%0A20i>Z=rqDjXTF0)nSx9sSDxW#hR>A+mG<5UI+kG2L$hz#n}*nQ l-il0L7fQ~hdHhq6F(sHzZHehQq3X8wYfe*uY<@SOkv literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.shtml b/tests/integration/converters/outputs/imagemagick/sample.shtml new file mode 100644 index 00000000..1e7eb8b9 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.shtml @@ -0,0 +1,3 @@ + + + diff --git a/tests/integration/converters/outputs/imagemagick/sample.six b/tests/integration/converters/outputs/imagemagick/sample.six new file mode 100644 index 00000000..be42af0c --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.six @@ -0,0 +1 @@ +P0;1;0q"1;1;16;16#0;2;0;0;0#1;2;7;9;15#2;2;8;11;15#3;2;8;12;15#4;2;7;10;16#5;2;9;11;18#6;2;9;13;15#7;2;9;13;15#8;2;11;17;15#9;2;11;17;15#10;2;11;14;20#11;2;11;14;20#12;2;13;18;14#13;2;13;19;14#14;2;14;21;14#15;2;16;25;13#16;2;17;26;13#17;2;20;30;13#18;2;20;31;13#19;2;24;36;13#20;2;26;40;12#21;2;29;45;12#22;2;18;21;26#23;2;19;22;27#24;2;27;30;34#25;2;29;33;40#26;2;33;36;43#27;2;33;36;44#28;2;51;80;9#29;2;52;80;9#30;2;41;45;52#31;2;43;46;54#32;2;45;49;57#33;2;45;49;57#34;2;46;49;57#35;2;48;51;60#36;2;51;55;64#37;2;75;75;77#38;2;76;77;78#27??}#1}]M]MM]KWo#27o$#34??@#25!7@#4A#5C#11G#36G$#16!4?_!6?_#35C$#9!5?O!4?O#31A$#28!5?_!4?_$#15!6?_??_#30@$#10!7?OO$#37!7?__-#27??~#1~_?_!5?~#27~$#2!4?H?H??@?@$#23!4?E!6?E$#16!4?O#19H!4?@#13G$#38!5?E!4?E#18O$#9!5?_#22E??E#14_$#28!5?O#15O#10__#7_?_$#21!7?EE#12G#20G$#24!7?HH#17O#29O$#37!7?OO-#27??F#1!10F#27F$#34??G#25!10G#32G-\ \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.sixel b/tests/integration/converters/outputs/imagemagick/sample.sixel new file mode 100644 index 00000000..be42af0c --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.sixel @@ -0,0 +1 @@ +P0;1;0q"1;1;16;16#0;2;0;0;0#1;2;7;9;15#2;2;8;11;15#3;2;8;12;15#4;2;7;10;16#5;2;9;11;18#6;2;9;13;15#7;2;9;13;15#8;2;11;17;15#9;2;11;17;15#10;2;11;14;20#11;2;11;14;20#12;2;13;18;14#13;2;13;19;14#14;2;14;21;14#15;2;16;25;13#16;2;17;26;13#17;2;20;30;13#18;2;20;31;13#19;2;24;36;13#20;2;26;40;12#21;2;29;45;12#22;2;18;21;26#23;2;19;22;27#24;2;27;30;34#25;2;29;33;40#26;2;33;36;43#27;2;33;36;44#28;2;51;80;9#29;2;52;80;9#30;2;41;45;52#31;2;43;46;54#32;2;45;49;57#33;2;45;49;57#34;2;46;49;57#35;2;48;51;60#36;2;51;55;64#37;2;75;75;77#38;2;76;77;78#27??}#1}]M]MM]KWo#27o$#34??@#25!7@#4A#5C#11G#36G$#16!4?_!6?_#35C$#9!5?O!4?O#31A$#28!5?_!4?_$#15!6?_??_#30@$#10!7?OO$#37!7?__-#27??~#1~_?_!5?~#27~$#2!4?H?H??@?@$#23!4?E!6?E$#16!4?O#19H!4?@#13G$#38!5?E!4?E#18O$#9!5?_#22E??E#14_$#28!5?O#15O#10__#7_?_$#21!7?EE#12G#20G$#24!7?HH#17O#29O$#37!7?OO-#27??F#1!10F#27F$#34??G#25!10G#32G-\ \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.sparse b/tests/integration/converters/outputs/imagemagick/sample.sparse new file mode 100644 index 0000000000000000000000000000000000000000..2fe0581605f4f0dbc0017c7c02b57ab3f85f4294 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_0JrF&D@BgL%^)Tia`Gqi^UsOH| z$jS0_aSV~T+LnSeX-Zx hwl3eF@Lq@g0Wj=%^^Pr>dlYCZgQu&X%Q~loCICwGv2g$Z literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.strimg b/tests/integration/converters/outputs/imagemagick/sample.strimg new file mode 100644 index 0000000000000000000000000000000000000000..a8336afb27c64b9131bfea9500b6a7bd3312e083 GIT binary patch literal 256 zcmZQzs11UE!tD%T5G?@#lBEk#_!6?s4IlxSyo7{G50tMVp`s$8At4b1;ajh_JaE8r zy)}$48zkf7BNHSGw~cg>Ia!ECab%us(A)eLqh{hAB-kSKgbMO6_cLko<%Ty zFd9X_thOrHAF?V&K=notHdG8~#+~5UJeWQh4cD*Zr1Zb}wAg0 zk|U&FR8H-`ZLGq75m~kWZa(2)3}S=CKyrli8=AZPKXl~8e|=M@|6WCMU<_h|#6WVi z){o8o3i>Mlozvz2D;TH{v>#je8T%^!Z#g6O-^5>$pnjnL{>z}npO}K$e-%@e|6+=S m!w;mN0LB~t1oRT+egbA-vwuTL-NgUE{7Vd8UtBv0mTm!^)IW0o literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.svg b/tests/integration/converters/outputs/imagemagick/sample.svg new file mode 100644 index 0000000000000000000000000000000000000000..2fe0581605f4f0dbc0017c7c02b57ab3f85f4294 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_0JrF&D@BgL%^)Tia`Gqi^UsOH| z$jS0_aSV~T+LnSeX-Zx hwl3eF@Lq@g0Wj=%^^Pr>dlYCZgQu&X%Q~loCICwGv2g$Z literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.svgz b/tests/integration/converters/outputs/imagemagick/sample.svgz new file mode 100644 index 0000000000000000000000000000000000000000..7f0d6225212829dd65ea0535d913cb4296f883c9 GIT binary patch literal 520 zcmV+j0{8tNiwFP!000001L_R$bLZuf;$mQ6;Pv!y2?EjrAk4uGBsFyTgMpMnvPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>dLB^$ZD&~su<}w zDK(!K({fPSci@PqoSJQ{f{3h|n@_l*xyzv=C-hC7yo%%$^i`bG;GL7x_g*o6;sch4eO`HjM5=(U6;;l9^VCuEEI4)DohhwmjDw6r6AkC7HRY#U+Wk1!#HF!NBpL!fa&09=Lzw%!9 zy8ZRf#l$%h4{G+sUVGcRe1F1w9rg#nu;bM`wq)*6psfs^u6{1-oD!M<00030{{sMv K@Ok(w0ssI*R{4Mc literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.tga b/tests/integration/converters/outputs/imagemagick/sample.tga new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.tiff b/tests/integration/converters/outputs/imagemagick/sample.tiff new file mode 100644 index 0000000000000000000000000000000000000000..34ccf85dfa44fbe8773ae2902337eaa9c5a3b27a GIT binary patch literal 1302 zcmebD)MDUZVSt0u+DYrZf>ZzD!kI;_*H-PgDg@Vn#t4qdzbh!A{vQ_>lGOO0Th@7a z{`~zMXj;KsLi$1GiplE!uWFvLs-dBQ3Ed20^n=WhRWbSB+_R_$pMF_wRj@x~Rg8e@ zjUa5O7|4v^*t|Qq^y@e&{ck=k_Fv0E>Hoe1N5B}w28n^>2Vu%_ zVZ{Ik0|d6d4g{)bU^x7B1(0T7I(xZui(^wxNv4s>$O!ot_mS(L16~RdL z6(gW}BM2KR1~MZ!Ht!BD{W?xc|C>*X{nv6(`oHhM5ika^L1G{|Li$DJ)c)JXD*P9b zRr~Me6As28Hb@L4M@YY+xy%1UM^60LH+A~&RU`+-AT~%0Bu8ug*xaw6ukznHUH-p< zfeJzUv4x+puj2ofGh+Wu{1pl62l-D1E&jw5)c&iOs{9vIBpiMq{e&>S_$Q0F1%N%)kg`!^9Y|h%o`hU_}Q9up|LNW+ZhmGuV*CV40N* zNere=kWm1`ULh>%M3KZ`_KP8j!Q3p4WFE|+GDzxR_G$vfVD4goy1FgOF5X}go8yKK`rv5`;LE-}DQVT#d MlXg27kWyd(0LyPsg8%>k literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.txt b/tests/integration/converters/outputs/imagemagick/sample.txt new file mode 100644 index 00000000..8fcf66f3 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.txt @@ -0,0 +1,257 @@ +# ImageMagick pixel enumeration: 16,16,0,255,srgba +0,0: (0,0,0,0) #00000000 none +1,0: (0,0,0,0) #00000000 none +2,0: (117,125,146,175) #757D92AF srgba(117,125,146,0.686275) +3,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +4,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +5,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +6,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +7,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +8,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +9,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +10,0: (105,114,133,214) #697285D6 srgba(105,114,133,0.839216) +11,0: (170,184,213,18) #AAB8D512 srgba(170,184,213,0.0705882) +12,0: (0,0,0,0) #00000000 none +13,0: (0,0,0,0) #00000000 none +14,0: (0,0,0,0) #00000000 none +15,0: (0,0,0,0) #00000000 none +0,1: (0,0,0,0) #00000000 none +1,1: (0,0,0,0) #00000000 none +2,1: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,1: (18,25,40,255) #121928FF srgba(18,25,40,1) +11,1: (109,118,137,195) #6D7689C3 srgba(109,118,137,0.764706) +12,1: (159,159,191,8) #9F9FBF08 srgba(159,159,191,0.0313725) +13,1: (0,0,0,0) #00000000 none +14,1: (0,0,0,0) #00000000 none +15,1: (0,0,0,0) #00000000 none +0,2: (0,0,0,0) #00000000 none +1,2: (0,0,0,0) #00000000 none +2,2: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,2: (22,29,45,255) #161D2DFF srgba(22,29,45,1) +12,2: (122,131,152,170) #7A8398AA srgba(122,131,152,0.666667) +13,2: (128,128,128,2) #80808002 srgba(128,128,128,0.00784314) +14,2: (0,0,0,0) #00000000 none +15,2: (0,0,0,0) #00000000 none +0,3: (0,0,0,0) #00000000 none +1,3: (0,0,0,0) #00000000 none +2,3: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,3: (29,36,52,255) #1D2434FF srgba(29,36,52,1) +13,3: (131,140,162,140) #838CA28C srgba(131,140,162,0.54902) +14,3: (0,0,0,0) #00000000 none +15,3: (0,0,0,0) #00000000 none +0,4: (0,0,0,0) #00000000 none +1,4: (0,0,0,0) #00000000 none +2,4: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,4: (29,43,37,255) #1D2B25FF srgba(29,43,37,1) +6,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,4: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +8,4: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +9,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,4: (29,43,37,255) #1D2B25FF srgba(29,43,37,1) +11,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,4: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,4: (0,0,0,0) #00000000 none +15,4: (0,0,0,0) #00000000 none +0,5: (0,0,0,0) #00000000 none +1,5: (0,0,0,0) #00000000 none +2,5: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,5: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,5: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +5,5: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +6,5: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +7,5: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +8,5: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +9,5: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +10,5: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +11,5: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +12,5: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,5: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,5: (0,0,0,0) #00000000 none +15,5: (0,0,0,0) #00000000 none +0,6: (0,0,0,0) #00000000 none +1,6: (0,0,0,0) #00000000 none +2,6: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,6: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,6: (21,30,38,255) #151E26FF srgba(21,30,38,1) +5,6: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +6,6: (20,29,38,255) #141D26FF srgba(20,29,38,1) +7,6: (70,76,87,255) #464C57FF srgba(70,76,87,1) +8,6: (70,76,87,255) #464C57FF srgba(70,76,87,1) +9,6: (20,29,38,255) #141D26FF srgba(20,29,38,1) +10,6: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +11,6: (21,30,38,255) #151E26FF srgba(21,30,38,1) +12,6: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,6: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,6: (0,0,0,0) #00000000 none +15,6: (0,0,0,0) #00000000 none +0,7: (0,0,0,0) #00000000 none +1,7: (0,0,0,0) #00000000 none +2,7: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,7: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,7: (49,55,68,255) #313744FF srgba(49,55,68,1) +5,7: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +6,7: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +7,7: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +8,7: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +9,7: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +10,7: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +11,7: (49,55,68,255) #313744FF srgba(49,55,68,1) +12,7: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,7: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,7: (0,0,0,0) #00000000 none +15,7: (0,0,0,0) #00000000 none +0,8: (0,0,0,0) #00000000 none +1,8: (0,0,0,0) #00000000 none +2,8: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,8: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,8: (49,55,68,255) #313744FF srgba(49,55,68,1) +5,8: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +6,8: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +7,8: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +8,8: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +9,8: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +10,8: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +11,8: (49,55,68,255) #313744FF srgba(49,55,68,1) +12,8: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,8: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,8: (0,0,0,0) #00000000 none +15,8: (0,0,0,0) #00000000 none +0,9: (0,0,0,0) #00000000 none +1,9: (0,0,0,0) #00000000 none +2,9: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,9: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,9: (21,30,38,255) #151E26FF srgba(21,30,38,1) +5,9: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +6,9: (20,29,38,255) #141D26FF srgba(20,29,38,1) +7,9: (70,76,87,255) #464C57FF srgba(70,76,87,1) +8,9: (70,76,87,255) #464C57FF srgba(70,76,87,1) +9,9: (32,47,36,255) #202F24FF srgba(32,47,36,1) +10,9: (67,103,31,255) #43671FFF srgba(67,103,31,1) +11,9: (32,48,36,255) #203024FF srgba(32,48,36,1) +12,9: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,9: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,9: (0,0,0,0) #00000000 none +15,9: (0,0,0,0) #00000000 none +0,10: (0,0,0,0) #00000000 none +1,10: (0,0,0,0) #00000000 none +2,10: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,10: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,10: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +5,10: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +6,10: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +7,10: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +8,10: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +9,10: (51,77,33,255) #334D21FF srgba(51,77,33,1) +10,10: (132,204,22,255) #84CC16FF srgba(132,204,22,1) +11,10: (52,79,33,255) #344F21FF srgba(52,79,33,1) +12,10: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,10: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,10: (0,0,0,0) #00000000 none +15,10: (0,0,0,0) #00000000 none +0,11: (0,0,0,0) #00000000 none +1,11: (0,0,0,0) #00000000 none +2,11: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,11: (28,43,37,255) #1C2B25FF srgba(28,43,37,1) +6,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,11: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +8,11: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +9,11: (22,32,38,255) #162026FF srgba(22,32,38,1) +10,11: (36,53,36,255) #243524FF srgba(36,53,36,1) +11,11: (22,33,38,255) #162126FF srgba(22,33,38,1) +12,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,11: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,11: (0,0,0,0) #00000000 none +15,11: (0,0,0,0) #00000000 none +0,12: (0,0,0,0) #00000000 none +1,12: (0,0,0,0) #00000000 none +2,12: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,12: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,12: (0,0,0,0) #00000000 none +15,12: (0,0,0,0) #00000000 none +0,13: (0,0,0,0) #00000000 none +1,13: (0,0,0,0) #00000000 none +2,13: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,13: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,13: (0,0,0,0) #00000000 none +15,13: (0,0,0,0) #00000000 none +0,14: (0,0,0,0) #00000000 none +1,14: (0,0,0,0) #00000000 none +2,14: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,14: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,14: (0,0,0,0) #00000000 none +15,14: (0,0,0,0) #00000000 none +0,15: (0,0,0,0) #00000000 none +1,15: (0,0,0,0) #00000000 none +2,15: (116,126,145,176) #747E91B0 srgba(116,126,145,0.690196) +3,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +4,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +5,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +6,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +7,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +8,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +9,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +10,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +11,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +12,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +13,15: (115,125,146,175) #737D92AF srgba(115,125,146,0.686275) +14,15: (0,0,0,0) #00000000 none +15,15: (0,0,0,0) #00000000 none diff --git a/tests/integration/converters/outputs/imagemagick/sample.ubrl b/tests/integration/converters/outputs/imagemagick/sample.ubrl new file mode 100644 index 00000000..f559540d --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ubrl @@ -0,0 +1,7 @@ +Width: 16 +Height: 16 + +⡵⣢⢞⡵⣋⢚⡵⣢ +⡵⣋⢚⡑⣫⢞⡵⣫ +⡵⣫⢞⡵⣫⠖⠴⠢ +⡵⣫⢞⡵⣫⢞⡵⣫ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ubrl6 b/tests/integration/converters/outputs/imagemagick/sample.ubrl6 new file mode 100644 index 00000000..5372a73e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ubrl6 @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +⠵⠢⠞⠵⠋⠚⠵⠢ +⠵⠫⠞⠵⠫⠞⠵⠫ +⠵⠋⠚⠑⠫⠞⠵⠫ +⠵⠋⠚⠑⠫⠞⠵⠫ +⠵⠫⠞⠵⠫⠞⠵⠫ +â �⠀⠈â �⠉⠈â �â ‰ diff --git a/tests/integration/converters/outputs/imagemagick/sample.uil b/tests/integration/converters/outputs/imagemagick/sample.uil new file mode 100644 index 00000000..f2fc3706 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.uil @@ -0,0 +1,64 @@ +/* UIL */ +value + sample_ct : color_table( + color('#000000FF',background) = ' ', + color('#808080FF',foreground) = '.', + color('#9F9FBFFF',foreground) = 'X', + color('#AAB8D5FF',foreground) = 'o', + color('#838CA2FF',foreground) = 'O', + color('#737D92FF',background) = '+', + color('#7A8398FF',foreground) = '@', + color('#757D92FF',background) = '#', + color('#747E91FF',background) = '$', + color('#111827FF',background) = '%', + color('#141D26FF',background) = '&', + color('#151E26FF',background) = '*', + color('#121928FF',background) = '=', + color('#161D2DFF',background) = '-', + color('#162026FF',background) = ';', + color('#162126FF',background) = ':', + color('#1C2B25FF',background) = '>', + color('#1D2B25FF',background) = ',', + color('#1D2432FF',background) = '<', + color('#1D2434FF',background) = '1', + color('#202F24FF',background) = '2', + color('#203024FF',background) = '3', + color('#243524FF',background) = '4', + color('#2A4022FF',background) = '5', + color('#2C4222FF',background) = '6', + color('#334D21FF',background) = '7', + color('#344F21FF',background) = '8', + color('#3D5D20FF',background) = '9', + color('#43671FFF',background) = '0', + color('#4A721EFF',background) = 'q', + color('#2F3542FF',background) = 'w', + color('#313744FF',background) = 'e', + color('#535D6EFF',background) = 'r', + color('#6D7689FF',background) = 't', + color('#535C6FFF',background) = 'y', + color('#697285FF',background) = 'u', + color('#464C57FF',background) = 'i', + color('#4A5365FF',background) = 'p', + color('#4A5365FF',background) = 'a', + color('#83CB16FF',foreground) = 's', + color('#84CC16FF',foreground) = 'd', + color('#BEC0C4FF',foreground) = 'f', + color('#C2C4C8FF',foreground) = 'g', + background color = 'h'); + sample_icon : icon(color_table = sample_ct, + "hh#pppppppuohhhh", + "hhy%%%%%%%=tXhhh", + "hhy%%%%%%%%-@ hh", + "hhy%%%%%%%%%1Ohh", + "hhy%%,%<<%,%%rhh", + "hhy%6s5ff5s6%rhh", + "hhy%&9&ii&9&%rhh", + "hhy%egwqqwge%rhh", + "hhy%egwqqwge%rhh", + "hhy%&9&ii203%rhh", + "hhy%6s5ff7d8%rhh", + "hhy%%,%<<:4:%rhh", + "hhy%%%%%%%%%%rhh", + "hhy%%%%%%%%%%rhh", + "hhy%%%%%%%%%%rhh", + "hh$pppppppppp+hh"); diff --git a/tests/integration/converters/outputs/imagemagick/sample.uyvy b/tests/integration/converters/outputs/imagemagick/sample.uyvy new file mode 100644 index 0000000000000000000000000000000000000000..ab335b873ca87301cba4d12dfe95912364e3af3f GIT binary patch literal 512 zcmZo*Xkh5BtqST2Lg3!QitP>%=||0D$V?mGA(rdF!xm)sB-XMRN#az m5A$D}N|ju_UZotmJSa?%F*W78YAaFV7ZlgsL6tS2@C5*h+pJvx literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.vda b/tests/integration/converters/outputs/imagemagick/sample.vda new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.vicar b/tests/integration/converters/outputs/imagemagick/sample.vicar new file mode 100644 index 0000000000000000000000000000000000000000..9d81d1b158ae94a5c9afab04ba4b0277ce66315d GIT binary patch literal 4352 zcmeZq@(K2ga^riOdf2W%LX?XUqT&d WpPYd_oDX#|aeSD6fxfO`U;qGq5kXl1 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.vid b/tests/integration/converters/outputs/imagemagick/sample.vid new file mode 100644 index 0000000000000000000000000000000000000000..2fe0581605f4f0dbc0017c7c02b57ab3f85f4294 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZKFm_=LCu>C)OsUcsrEMXjrLTn&!N&n@emKYxE! z^NfauhUT6{!LfNIbrXwgCkaZZ3rT8-$?D3gn8<3Y%BmRYI4L!s7SnQ2+IQfHsGOQ@ ztb&NFnww9!p}EVUBPaAtoxF#6_0JrF&D@BgL%^)Tia`Gqi^UsOH| z$jS0_aSV~T+LnSeX-Zx hwl3eF@Lq@g0Wj=%^^Pr>dlYCZgQu&X%Q~loCICwGv2g$Z literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.viff b/tests/integration/converters/outputs/imagemagick/sample.viff new file mode 100644 index 0000000000000000000000000000000000000000..1b36a154094d2a77714ff6afd965ddfd1eb917c7 GIT binary patch literal 2048 zcmZ3@$jHpZFbYOPfI$El1|ZDv9}4Un7#Khp2pGX6gl0kFLxoW&m|A`m(NWGI4S`ZG z2*_LoabU0@1PJBM2MfUXf?`z-AOSdEP_`M$mlc!+B0<4m2w$gJYu`StW*rz`)KR%vL403O6 zFa#9s0Pz?YVk96yvJB#X7+*rRxdB;TLPDhn%GZ`qQIXJ=kcfrwolZL(IN)&F3C5R; zmG$wFjg^D(&5xKC6`39}$HfP$*H1Tq$%D=FJ>w7K1Fcd~Q7~16^Pw&#j$a4$FOaGQ zxpz`31hifS@faBL)geHmb3Y1SU3W$Uvb?&w$s#CURo%!)T~%E@55iXxQ#x`4NWl1N z3ToluKmx{hIpHKH=XAma7ay!%MP3Ca4>nIxOcBNhT4iLUrUEw)>R`D2`1uo|{smH# zK<-`t4+5?Ufp`oIcVWffVGdOO|5f0M5-$J$KREu8_;*nB|NlQI`5R#V`~QDE0|Nl3 Cm`9BO literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.vips b/tests/integration/converters/outputs/imagemagick/sample.vips new file mode 100644 index 0000000000000000000000000000000000000000..7f04aceff985838ad751f1f617e35795717e6fec GIT binary patch literal 1088 zcmd=1v}_v#1A_n*vjAyiAcoAr$1bg%wB9Q?^&c*rS=4%M)sCw|xXcKS$-gToq5dBi z7LwHXpIg>>c>etT9N5etq#tCin5^#qs^%H18X6jy(9Ix5KgbMO6_fwXJ&Stq>6g`3 z1^Yu*#R#b02*QSnfy@Yw&AWq3zmAjA|K`(T|Fs;H{_i_*1dKs!kQhjgkbY4)wg0xU z3jal9)&9Hrgo81N4H5&%5z=pH?(+Z8krV&*O`ZOG70H1yhz$}0$#+0-0Fg>Rz5oCK literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.vst b/tests/integration/converters/outputs/imagemagick/sample.vst new file mode 100644 index 0000000000000000000000000000000000000000..f908964f0da8b96c2d60eb361835bf482fac5140 GIT binary patch literal 1042 zcmZQzU}As)0R{mE1q~Q)Qf=w_)L^fFxNvJx=C!LkRtdq>qtp2@!FSaq1pnj08j?c) zJIitp@1H-P16?nOPe?z=TwPhQ|1+AaRy8y40vVK)< zS+GBhfNDV)qz@(rV&}yM-@&C{$w}wG*y-l~N)B58j~v(s#vnFW3@ArPznYxre}!1v z|7x-#|HFOUz!<~^ivi^b>31%`v2vMyucX528n^>XssWc`&IN6{>!I3 z|5q_kAZS0f@Kf|P{x5c><-el82|@iJ|EX%rfYrg`PfbDWzly2Ke>FuhqV$8zz=!e0 cKR$ghIa=tSSXZ(En0NmZgD2G%uZN{y0Ca;rm;e9( literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.wbmp b/tests/integration/converters/outputs/imagemagick/sample.wbmp new file mode 100644 index 0000000000000000000000000000000000000000..115d921374b04ac5c78f2923218e600b3bb8451b GIT binary patch literal 36 ecmZQz5D-u>V31(oVPIikU|j&h5Rw536j%T}90O4R literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.webm b/tests/integration/converters/outputs/imagemagick/sample.webm new file mode 100644 index 0000000000000000000000000000000000000000..f2fc27df1abde2a47379d571d9240c10fdc75553 GIT binary patch literal 804 zcmb1gy}x+AQ(GgW({~{L)X3uWxsk)EsiizMDc7mJk;$pGkx3%BA)S!{1em@E`pz!d z<-5B(cy)`Y=gPF;HH`})Jh6~<*+AYk-`zbxIiZll>A`E77_A^&nc&?($tI?IZy@F{ zM1qZ@1p#u^2CeHGoB5p_d>eXv63f!ejP(rl3=NFJ9Z|S0ogEG?5GQ~fe}5g+ZDH3N z8HL4BXLn}C$2pA*N?YeNm*%B(G%~cchQ)^kST;8@DnD*+VM>Z(crar_qrk34 zfmw}A!3P={LpOAUZfs-?-3esAYh;A^mx+M^6eRzOi{~dFXh=UX({*vXtDm#Ki))Ze zJBq7{i*F_$=uSr1pMGKqvf}ALA0@+lq>z)DR8~--TUKD1eqy2P;trS4Ajc3-e?OP@ z$p!{iV5DbYVgLaQ^3K~z9i^W)GAwWuUFfj35$O3Q&t@kDh7Szi7%Ws|B)k|H6ciY0 z#5TqMztBBP&5q^#n_pX*rhjkx!?o|&&;Nhl@2_QgA9=6g{-&3g_Fvn(f>G9P58IPd zxvDj$f86|H`MZC|`E1s5-1GAN2RGlSTP1h?r?og=-|hGJ!Gn*tV;#aC@y-(AeEoI9 z<;NUdn&<5#LW{klGt3Xk&+d~mFIj)#%N(z{mS2BQSm&9@YR#}^?Ma@Do~y^EO=7ux zf}wQbqh$|(A-eQ7$jJ;KCv(7@%)n5)TH*hL`P(1wI2CtC;Ta9lXAC+icL zn|A#FM`bC#jBc04chTh@`~S_J$(bU=hIuWD5W>KNvas1b8?Ad5rlB)F!EzR`|Sp`oYXziRr|v z{-o^>oi$eF&ffL9RKSfR&_&Rdcd_;Ny_prpj7q=cGgOotbXVS3{b15+`){)ufhH?V z0Gcy_iD53ImH^NOCI%DLDNH2>4(t_-Ys4a?&rfM!`1gG-=hfdY@-}_(7yG38I#grc zUcQo`ZQUD6&lf8PdRpxNfBB^B+!^AGC;Qa@Utf3ajvzyXP~NZgo}Y{Mf9OB>{iN%~ zNd>Q8d=Yr#|DxCA#oA-et-5@kA+cM#-b(X-(a>4R!^?8C@=n(+-?vYq5}teuVE_QG CzG#sE literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.wmv b/tests/integration/converters/outputs/imagemagick/sample.wmv new file mode 100644 index 0000000000000000000000000000000000000000..437d16927c4cc7895fd34299cd99844bcba232d4 GIT binary patch literal 3819 zcmXp|+f>?@c3yDVO@>trN#}ANGcteyE0APlT6kx5kNe8=f_+aI4)7=hr)EGTG04|^ zP@x99tM@j}WrP~S;Gl3H%xsWi11pf>fv95wQVl>h2s`jHGi+tvAFl_p=P|?{J*aVl zmoBf~1rmP-5r>%Ku;jue_Q#h5r+;8ra58R1KoV3nBZCG*ID;>PK7%Vm9z!xiK0^va zCXkiR5X_LuPy&PyUNKm`6oU^#B10KN8iN^wF@qk1As8Dl7y)G`vftUh9m(ECs0|0+ zOYZTFJ}tJx<6)=*k{gHmwV*D!8W}>g2(9ptrKzwKh0r{ z_E~Y~$nTwLem53BU7P>sOP1q>kKub}l(+s5vrqcJr6PLQ3WY4ETU_}D%j`GONEnD48XD%$-@j_d)#jc>#kG^FnrD>O zPAaLJC@7&WBC94UrzRw+AttLUrl2OKs3xPWDhos^MzSg<3i>Jv1}ZA1Dq0RoI!;Q) zzKSOPing%|>@AMRNM4PKM?#!LfO{Wu3t>`I$wnZa(2&!Kpyhd|IsKjM%;dM-Cl1 zp{=d0qobp%tE;D{r?0PXU|?WqXlP_)WNd6~Vq#)yYHDU?W^Qh7VPRouX=!C;Wo>P3 zV`F1$Yinm`XK!!s;Nals=;-9+gwj^=I-w9;o;%w>FMR=+9#|=kMmX_Am*0#2`_V)IUj*iaG&aSSm?(XiMo}S*`-oC!R{{H?66DCZYIC0XX zNs}i}o-$?1)TvXaO`A4-`t%tyX3U&9bJna`vuDqqGiT1+xpU{un>T;{`~?dZEL^y7 z(V|6*7cXA2WXaN{OP4KMwtV^W6)RS(T)A@9s#U93uU@le&DynV*R5N(e*O9l8#Zj* zxN*~_O`A7w-m+!O)~#E&ZQHhe`}Q3>cI@1_bJwn2yLa#2vuDrVy?giV+qZxJ{sRXN z96WgN(4j+z4<9~qgPoF(|_Wb$t7cXACeEIU#t5>gIzkc)P&D*zc-@SYH z{{8z8A3l8i`0>-HPoF=3{_^F^*RNl{ef#$P`}ZF|e*FCT^VhFmzkmP!^XJdszkmPz z`}hCu2%8uf+1pi_l$l#VOr>^CW*$YRW-z;hlZlrN!tCT^5oTck zi#BmG334_GF>wkuaWX4_#8{O$CDg^6G}*<~B{*RsT+&=kD(pZKE+Vfb*Cfj>rzMX^ s1foksMij0FVzQ)$6hwqk32Hw(zZgGEs0->4MkOpPjxJSZRtBJt0avfVH~;_u literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.xbm b/tests/integration/converters/outputs/imagemagick/sample.xbm new file mode 100644 index 00000000..023e7293 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.xbm @@ -0,0 +1,6 @@ +#define sample_width 16 +#define sample_height 16 +static char sample_bits[] = { + 0xFB, 0xF3, 0xFF, 0xE7, 0xFF, 0xCF, 0xFF, 0xDF, 0xFF, 0xFF, 0x5F, 0xFA, + 0xFF, 0xFF, 0x5F, 0xFA, 0x5F, 0xFA, 0xFF, 0xFF, 0x5F, 0xFA, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDF, }; diff --git a/tests/integration/converters/outputs/imagemagick/sample.xpm b/tests/integration/converters/outputs/imagemagick/sample.xpm new file mode 100644 index 00000000..3f9ff74e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.xpm @@ -0,0 +1,61 @@ +/* XPM */ +static char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 39 1 ", +" c None", +". c #111827", +"X c #141D26", +"o c #151E26", +"O c #121928", +"+ c #161D2D", +"@ c #162026", +"# c #162126", +"$ c #1C2B25", +"% c #1D2B25", +"& c #1D2432", +"* c #1D2434", +"= c #202F24", +"- c #203024", +"; c #243524", +": c #2A4022", +"> c #2C4222", +", c #334D21", +"< c #344F21", +"1 c #3D5D20", +"2 c #43671F", +"3 c #4A721E", +"4 c #2F3542", +"5 c #313744", +"6 c #464C57", +"7 c #4A5365", +"8 c #535D6E", +"9 c #535C6F", +"0 c #83CB16", +"q c #84CC16", +"w c #697285", +"e c #6D7689", +"r c #737D92", +"t c #747E91", +"y c #757D92", +"u c #7A8398", +"i c #838CA2", +"p c #BEC0C4", +"a c #C2C4C8", +/* pixels */ +" y7777777w ", +" 9.......Oe ", +" 9........+u ", +" 9.........*i ", +" 9..%.&&.%..9 ", +" 9.>0:pp:0>.9 ", +" 9.X1X66X1X.9 ", +" 9.5a4334a5.9 ", +" 9.5a4334a5.9 ", +" 9.X1X66=2-.9 ", +" 9.>0:pp,q<.9 ", +" 9..%.&&#;#.9 ", +" 9..........9 ", +" 9..........9 ", +" 9..........9 ", +" y7777777777r " +}; diff --git a/tests/integration/converters/outputs/imagemagick/sample.xv b/tests/integration/converters/outputs/imagemagick/sample.xv new file mode 100644 index 0000000000000000000000000000000000000000..1b36a154094d2a77714ff6afd965ddfd1eb917c7 GIT binary patch literal 2048 zcmZ3@$jHpZFbYOPfI$El1|ZDv9}4Un7#Khp2pGX6gl0kFLxoW&m|A`m(NWGI4S`ZG z2*_LoabU0@1PJBM2MfUXf?`z-AOSdEP_`M$mlc!+B0<4m2w$gJYu`StW*rz`)KR%vL403O6 zFa#9s0Pz?YVk96yvJB#X7+*rRxdB;TLPDhn%GZ`qQIXJ=kcfrwolZL(IN)&F3C5R; zmG$wFjg^D(&5xKC6`39}$HfP$*H1Tq$%D=FJ>w7K1Fcd~Q7~16^Pw&#j$a4$FOaGQ zxpz`31hifS@faBL)geHmb3Y1SU3W$Uvb?&w$s#CURo%!)T~%E@55iXxQ#x`4NWl1N z3ToluKmx{hIpHKH=XAma7ay!%MP3Ca4>nIxOcBNhT4iLUrUEw)>R`D2`1uo|{smH# zK<-`t4+5?Ufp`oIcVWffVGdOO|5f0M5-$J$KREu8_;*nB|NlQI`5R#V`~QDE0|Nl3 Cm`9BO literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.yaml b/tests/integration/converters/outputs/imagemagick/sample.yaml new file mode 100644 index 00000000..f1098a8e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.yaml @@ -0,0 +1,142 @@ +--- + version: 1.0 + image: + name: /app/tests/integration/converters/inputs/sample.png + baseName: sample.png + permissions: 644 + format: PNG + formatDescription: Portable Network Graphics + mimeType: image/png + class: DirectClass + geometry: + width: 16 + height: 16 + x: 0 + y: 0 + + units: Undefined + type: PaletteAlpha + baseType: TrueColorAlpha + endianness: Undefined + colorspace: sRGB + depth: 8 + baseDepth: 8 + channelDepth: + alpha: 8 + red: 8 + green: 8 + blue: 8 + + pixels: 256 + imageStatistics: + overall: + min: 0 + max: 255 + mean: 79.2793 + median: 83.75 + standardDeviation: 64.2455 + kurtosis: 0.968842 + skewness: 0.801093 + entropy: 0.62786 + + + channelStatistics: + alpha: + min: 0 + max: 255 + mean: 179.883 + median: 255 + standardDeviation: 111.457 + kurtosis: -1.03387 + skewness: -0.953882 + entropy: 0.482426 + + red: + min: 0 + max: 194 + mean: 39.3242 + median: 17 + standardDeviation: 45.4803 + kurtosis: 2.26382 + skewness: 1.56482 + entropy: 0.660488 + + green: + min: 0 + max: 204 + mean: 47.3984 + median: 24 + standardDeviation: 50.5941 + kurtosis: 1.46001 + skewness: 1.35652 + entropy: 0.677813 + + blue: + min: 0 + max: 213 + mean: 50.5117 + median: 39 + standardDeviation: 49.4502 + kurtosis: 1.18541 + skewness: 1.23691 + entropy: 0.690712 + + + alpha: '#00000000' + renderingIntent: Perceptual + gamma: 0.454545 + chromaticity: + redPrimary: + x: 0.64 + y: 0.33 + + greenPrimary: + x: 0.3 + y: 0.6 + + bluePrimary: + x: 0.15 + y: 0.06 + + whitePrimary: + x: 0.3127 + y: 0.329 + + + matteColor: '#BDBDBDBDBDBD' + backgroundColor: '#FFFFFFFFFFFF' + borderColor: '#DFDFDFDFDFDF' + transparentColor: '#000000000000' + interlace: None + intensity: Undefined + compose: Over + pageGeometry: + width: 16 + height: 16 + x: 0 + y: 0 + + dispose: Undefined + iterations: 0 + compression: Zip + orientation: TopLeft + properties: + "date:create": "2026-10-16T19:07:40+00:00" + "date:modify": "2026-10-16T19:02:59+00:00" + "date:timestamp": "2026-10-16T19:15:08+00:00" + "png:IHDR.bit-depth-orig": 8 + "png:IHDR.bit_depth": 8 + "png:IHDR.color-type-orig": 6 + "png:IHDR.color_type": 6 (RGBA) + "png:IHDR.interlace_method": 0 (Not interlaced) + "png:IHDR.width,height": 16, 16 + signature: 48a176883551ab27ff3853b1d7beb8f336c50c4a52106cb6c398da0e7adfca7e + + tainted: false + filesize: 405B + numberPixels: 256 + pixelsPerSecond: 602131B + userTime: 0.000u + elapsedTime: 0:01.000 + version: "ImageMagick 7.1.2-31 Q16 x86_64 20260903 https://imagemagick.org" +... diff --git a/tests/integration/converters/outputs/imagemagick/sample.ycbcr b/tests/integration/converters/outputs/imagemagick/sample.ycbcr new file mode 100644 index 0000000000000000000000000000000000000000..1e8cdf1e6edaa62773291fe90412345ecd23ea85 GIT binary patch literal 768 zcmZQ*Xkch)sO_!_>cWBwyDPU(C<7`$L($!p5*^i;NV224w7YU~e=U*ffhNdyRyX%l zHq@h7fy;b|jVhhhJw27kR>0M()q@IAcdYRTLpR^L`wkq$o8Xy8PfLx#;F7@W^)km7@OxvqtVv2wW$N+MIg49xv<{r)3 z%8;aDt(pp4=A-%7A+KzaVU|;F87}oeakYAoX^`-gYpK$!ssNIB)B~lkBCO$$RV74_ RLiM%Xl~~g=T(Aa~egIxRD`Efu literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.ycbcra b/tests/integration/converters/outputs/imagemagick/sample.ycbcra new file mode 100644 index 0000000000000000000000000000000000000000..c09d691ccab8c61de9d28153680da343f4c070f5 GIT binary patch literal 1024 zcmZQ*XkcIf;@a-2^+8=#|8U{L?#gT1CzJ_+)MCTY-IaGGI;#KU!jeF_((cN`i~DOi z$k7inSGKeIe{)aes)qUoCUi3h*$;D<3eb$6p2{A4`qk#7 zBd8zbKec*@J+SzbYpMFLS5@&JL=*BqNS+YJ7ypFx(#rnY?#d0oy!)RRT+>sz9+rLq D23Oxi literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/imagemagick/sample.yuv b/tests/integration/converters/outputs/imagemagick/sample.yuv new file mode 100644 index 0000000000000000000000000000000000000000..1fca49087d4c01c10da8526a6bd5406905f2400a GIT binary patch literal 384 zcmZRmtqp>J!tD$o5FIT60g|PQQTP(F%?-%%5)vvsP`;Xkii(7qghUL4Z?VwqzyY&` z7BIeykF>Y9w2usoZ+^ryCdTxLIW9g}y=I6OOdf2W!y+dbA83_|ikzMtoDX#|QGB?6 zfxfO`VCe4Z1cL7R?#>P%=<4q7D6OwA1u{BnDk^FqbXjFPkY8F~TL`2<>e@TIAo{wx gsvw}DvZ@*gswyk1%Bz3~NF#7XC9*h79av)}099*q5dZ)H literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/inkscape/sample.dxf b/tests/integration/converters/outputs/inkscape/sample.dxf new file mode 100644 index 00000000..2cd77c53 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.dxf @@ -0,0 +1,32 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.emf b/tests/integration/converters/outputs/inkscape/sample.emf new file mode 100644 index 0000000000000000000000000000000000000000..a55300f4958bcf24e981156c96f4abd2c14068fd GIT binary patch literal 1644 zcmd6o%TE(g6o=0UF(f`BuMraq(`G0|N|~9ybkV4YB%(x37i?tFU?s%1lHy}xQq!cm zFkvGrcO)*^;L?>6WkDia4GZ}TT)Ox0JJT6U6JQ$Mc#`klbI;?>J@?MsQHW>_j>D zY@sxtF;g+amPSGoG0O%Br7pyH>*#iMd7kR(edq;=5$OSZ*s#T$FQoTG3DM1T#*&C_U`wlEaL=fx_{4#5EFK2fJWYP4@&Jbs_gPH`)&RF>8o znRV^az3lE#UnjRhX*T=gf6gBqIq%eA=>ZnPn#y`o=WtMU>_@FXG#+L3YmGx!F7W2Y zM~C2aoYn1@9K4HU*r)+8Z}> +cairo_image + Gb"[2*s8^8[;tOW4o5)*ffNOBUqsgnUOGig_X)@%]i^IuSjk>L&%mpab + ?%%n&0Di@1XsVIHPLVMN^9GS$FrcX4-6.l\7SR_NYH6mVgUTO'#~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/tests/integration/converters/outputs/inkscape/sample.fxg b/tests/integration/converters/outputs/inkscape/sample.fxg new file mode 100644 index 00000000..be96dbe0 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.fxg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/converters/outputs/inkscape/sample.gpl b/tests/integration/converters/outputs/inkscape/sample.gpl new file mode 100644 index 00000000..8d2b1092 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.gpl @@ -0,0 +1,4 @@ +GIMP Palette +Name: sample.png +# + 0 0 0 BLACK diff --git a/tests/integration/converters/outputs/inkscape/sample.hpgl b/tests/integration/converters/outputs/inkscape/sample.hpgl new file mode 100644 index 00000000..2bda26c9 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.hpgl @@ -0,0 +1 @@ +IN;PU;SP1;PU0,0;PD0,90;PU10,189;PD15,188,19,184,20,179,189,179,188,174,184,170,179,169,179,0,174,1,171,5,169,10,0,10,1,15,5,18,10,20,10,189,15,188,19,184,20,179,60,179;SP0;PU0,0;IN; \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.html b/tests/integration/converters/outputs/inkscape/sample.html new file mode 100644 index 00000000..bad8af8f --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.html @@ -0,0 +1,16 @@ + + + + + Inkscape Output + + + + + + diff --git a/tests/integration/converters/outputs/inkscape/sample.odg b/tests/integration/converters/outputs/inkscape/sample.odg new file mode 100644 index 0000000000000000000000000000000000000000..cc75336e79e35c8a1f31ed657dc9e243f1e8cbed GIT binary patch literal 4516 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 VzsrDCR;~mC2L~7)jWsLZ{sB|3iwpn& literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/inkscape/sample.pdf b/tests/integration/converters/outputs/inkscape/sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c8b9fab666818c4cb0063f1453927a365237f12 GIT binary patch literal 1830 zcmY!laBV;o|@;1uhukeIP#!kp8gCq!2SaHurebo2c&QVCelGdD3k6)Y5Ryys30CNt2Mp_id{9s;loXXhjB?5>DGo?2 za?Z~!$j?j7D^ajOiGbvUi2wXd>o^S?4&MDAP%wje>i>FCVXgo5{8InV1w6=i_;B6W zfPvxE+|7?MgC6W%XxN*W!omd>&djzbMyDl_xS3dqP9Bvs?Fks3mZY4 z)k&A`Z01;96`32lfk|1Rskl+Y!i+z7Z{Osg&zXk0>`QCe`xpc#Fg{^oEnF!+HF$Gx zsKCU~;?JDyN(#&;Sh*er?{s&JKWZ5pchI5L zxc$ zTP!gNiXdoA8W~u?qS68>Dj^9Mm@9%ya>3yW&FqFo@VNC;Fa*oEWfm2eD40Om1WJHl zg9lyDx}GvIuvsw1VsRPBc&N*O83LO33=tU|mZh+`%nZq8FxP-wW@Jp1(?TaYW-}QI zw7&nXeQ)W4>34l%ytTX8MP0lcw=BOV=fsnpaZ|^0+m-tJCtux~_GH3OBmK{EiXA;( zKCWtttn-&^sHTRtK6-jbN+ddT_5? zvgux9QPm0W9zVlviD4qPYxidPhqd4NS!J`&=5cRVU+U~<${9zKHT6Gp@|iE)8>e#d z;rdg%(v~hdm|;5E>E7f8)m2MYF1Y^j!7Fq2cQ>*pXSJ`I&He{RR{bJN;tINd_W1wJ%r6o&v zv0#W?EG2M%FhQDkceu>GcPS) z!4On4p=aZSAOGifHcoG3bTKeA(n(B6NO{06_*cP@PodkB(ZgUrn@~@Jo_I$!tH*{X yjU8egac%+!&zxWjI+J$p00ToqCfg@W4;Pmt7L`;K0sUfVYH7%&s_N?R#svUZ(s>a8 literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/inkscape/sample.png b/tests/integration/converters/outputs/inkscape/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..059ee5ce9ea2c52be8270b75837c5b0dc5a9c673 GIT binary patch literal 505 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 LuBe(j+ur{G7?>S& literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/inkscape/sample.sif b/tests/integration/converters/outputs/inkscape/sample.sif new file mode 100644 index 00000000..0483a9d5 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.sif @@ -0,0 +1,3 @@ + + input.svg + \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.svgz b/tests/integration/converters/outputs/inkscape/sample.svgz new file mode 100644 index 0000000000000000000000000000000000000000..325f02346c4d43ff29896594f72d8fc9c3f70632 GIT binary patch literal 958 zcmV;v13~;BiwFP!000000DVKsVjU zb7>It*DsK0GMU+J%94A}>2t5Q5BTuC2z=&*66!|bkmXw(%b?JXpc~>L`?8rdMV6td z8A8*KLNsK--^StH0C0kK~!B?i) ze7w7RpeKCCFdu93Y?W}~kS(#-Aa`L(N~~K)1i6@`xA5emd=wQ!mSZ@E?=o*`T6P_m zp8<^Q&>EPPbko~VttIaevZA8H}|6%{N%x(WQ(V|h7*vKg* zP%A_!P&Ud9Y;rA_!VfZqUuyrj{SWN&{V}2*zQm+TZFtLe|9r;l*WWPA|dIPK|fhf5`T)lpRqH?xw zdM?ke)xLj2u7e&>66KXNB_@pWA=~~;sK5^j-0yIkAlpNU6`4ud`Y#lSsCVrT^3`>n z0RF_pNtDGw1WUL0<{2fQm3-4e{*avoWl{EhSfz^}>*&F)kXPWdtC?S&UC%W^6eTAl z(HPn3%1qs;dh9}UW7OstkOVp9`I)IXsEdHo=HD!nqHgDJcRO0Fa_&jRkyI{y{X)hs zxV#%xp|q4GqxyD4&?i-PKlaDV?Xt6J>mHu{Shu|}N%(HBCxPRiUwH0Y)PFvUI1;8h zCtKP~Om&f*FH?D;jf=+K5qdBnM5EHmJE$Z(8ilN@L11RC5iFkD%0I4RNbyYF`UXd8 z!TFl+>G0%Cim|RN1+Y|Sp1M@lx%RA_@8z8bp|vaKdz@<0G@Afr0+5EsTf3vfMz;U4 z%}qm{9Z&a*xKRtjhTyK(v7sE4U4wE<;S@}ay%#Iu;)QryED1BSL$I6m#5|ENp|L03 z<7x+_bwNSlalNTn>=hstf$Y_SR*u^p{W1~rv#BJaVUfZ!!13Z1Dv*}Rnc{qdcxu=< zOVp=T+UrOgariaeaQG~;SDxeGv;nr0*Mi+8x5*peG?HekEk9Q$ z6j=(k7I^;Dbyr!ox7xCHp~s9XHfsSYmY}2A7;BQ&*>qM@8IKON4WzL@sRcLQI$H*^ gTn9J1Rfet|c6&+yF8>0mH_GGPzohB^#z6)E0Ck$+6#xJL literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/inkscape/sample.tex b/tests/integration/converters/outputs/inkscape/sample.tex new file mode 100644 index 00000000..b2167001 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.tex @@ -0,0 +1,6 @@ +%LaTeX with PSTricks extensions +%%Creator: Inkscape 1.4.3 (0d15f75042, 2025-12-25) +%%Please note this file requires PSTricks extensions +\psset{xunit=.5pt,yunit=.5pt,runit=.5pt} +\begin{pspicture}(16,16) +\end{pspicture} diff --git a/tests/integration/converters/outputs/inkscape/sample.wmf b/tests/integration/converters/outputs/inkscape/sample.wmf new file mode 100644 index 0000000000000000000000000000000000000000..d102d8eeadaf75b4f918ff6c0dd790130c433904 GIT binary patch literal 1326 zcmcb9_Sh^2FgVU|oM8hCh`BJBk%5zefq6O;kYG>(k_-&2K+MAgQUhXfgT+9KnHf32 zB20{oP*rSXE5tm)s_MK!$?K;KM1QSi2YYF zRr#-`C_JO`WpWiJJa%C(cgrield2-apcf{CsY0Zaz$QX3}S=CKysk?!RLNT^<#5C z$S+_&0sThEer(|f3QKU90>hS&evrJXwk%j3EdG$ih|v#HgA1Dg)5D^k<{om=udb}v z{~66ys~Q>_z~uw78HDnWhNRH{&a&LY`{&OG6&Dy_Qf=vaVBYC~lNhZnf{7+H!KknSJ=DV{JJE&gZrB|qDOiNG zhe9v))LWrPFZS4z6`O-#ukES*S88X*-PMI`iO@@7zQeG;nYZ7(`DWx&Wo@|tFb{oH zg(NhzCIZz&Hq=d{VOlz16N;s(3^rB_Rk2jxkNHw{t+Wx~_n7z@J9-USU^bwpVH;ZH zTUD?EEv=23J}U+*xs8%czWVl;@%b?urA<2hinT9yGnXg8)49u4!vfqXa=A*Mux4KhA+>> z)k>wXQYG85AIFPL)YfX`iIj9@3qjRV47+7o803zPk^TValTk2`6jjvF45R|_j^}J_ znTDx%uKdVj0yf>+?$}!0jwfK(Z0_g?GP5%YXi@u2cJ3*8H?_K{q9>4^no8wjxyi{% zQbC67+%sT@4GM$L^8|PTJOQ2nPk<-D6Zi)S2m&s9vIQbJ=tGO}HEq$$n(;*lAeo`uYvO*uTz0 z`Ui@_j&oe?kfHEW_OwT5o<}@w4#*E9k_6e&h*O_GUpP6bd|P!nx+yL%C%2|tp6z8V zE8Ck5VpcD1M%{Jhw{V_!IYRd%gU3$8(pz7@Vt4;K-`Tx9|DJPP>oZ*ygm=i(0cA7p z$rzCD$J6PU6pK6cW8tx0Z!|pWatvbY>(V{R<)yQHG@3tK3Sw4I26vtLk-_CS-H!|& zI}J~N^!5Ab{r+_xfAfW+aNr#G^>>ECrwdOcwpN5HyPLp92gRmG^AKX7Y12ySj=ZUlX|kn$y_q)@~?p-U}s*NXQR~Z`sCsQ?b&P`T%4R-9Bg%=jm@p?oeaKZ72IknO8ve$dF-mnax?rC dl35kyWf#QwXV$M=m9@5C#C+_o2DK6qRDeiu(|A5gXq2a z3{urk_inJZc)-uXsIGcv{r1OA&*Rd>(;FBhTwY(!&fRHqGR5Z5g$5dW5DDoRt|b;qu#%DqKtnMt2>KoF08#o|S4?)zSVhgrbU@ENOT zaWn{*CPXnX81!^cT=>kr=lXibf_*8qA)s(RWc~fhYPBg7YR?~LJ~fkN0UP^zqjG!Z z&UZd?(|8hoZsf3g{;=_>Pg4Lh^Zl6)^2gYx8v48Bq-J`u-}z%;vvPtLLqhdu4dx#Q H|K9`v%G2>S literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.j2k b/tests/integration/converters/outputs/vips/sample.j2k new file mode 100644 index 0000000000000000000000000000000000000000..e7b99c4fb053af36d26a8ce70443a0fcb8e76068 GIT binary patch literal 677 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAU3kj?;d#WFKeih#5L7_+dm18D{Z z{^b0eB1SM1B%zd?lA6ZA0_HO^fW(=Akb!|22*IkD%z(xv|M&kN$Y2Ck1u+iH1Q8&` zAPfa8?2L?X^goD!mywBqk&%G~XhX;U7zS1+2ZsMC45|!_&PAz-C8;S2NtFuz1*v&n z0j}-}WvNBQnfZANMtY`tCjTcefPBcnxRZhL|K$6r27>+_o2DK6qRDeiu(|A5gXq2a z3{urk_inJZc)-uXsIGcv{r1OA&*Rd>(;FBhTwY(!&fRHqGR5Z5g$5dW5DDoRt|b;qu#%DqKtnMt2>KoF08#o|S4?)zSVhgrbU@ENOT zaWn{*CPXnX81!^cT=>kr=lXibf_*8qA)s(RWc~fhYPBg7YR?~LJ~fkN0UP^zqjG!Z z&UZd?(|8hoZsf3g{;=_>Pg4Lh^Zl6)^2gYx8v48Bq-J`u-}z%;vvPtLLqhdu4dx#Q H|K9`v%G2>S literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.jp2 b/tests/integration/converters/outputs/vips/sample.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..e7b99c4fb053af36d26a8ce70443a0fcb8e76068 GIT binary patch literal 677 zcmZQzVBpCLP*C9IYUg5LU=T?wsVvAUFj4@r8KAU3kj?;d#WFKeih#5L7_+dm18D{Z z{^b0eB1SM1B%zd?lA6ZA0_HO^fW(=Akb!|22*IkD%z(xv|M&kN$Y2Ck1u+iH1Q8&` zAPfa8?2L?X^goD!mywBqk&%G~XhX;U7zS1+2ZsMC45|!_&PAz-C8;S2NtFuz1*v&n z0j}-}WvNBQnfZANMtY`tCjTcefPBcnxRZhL|K$6r27>+_o2DK6qRDeiu(|A5gXq2a z3{urk_inJZc)-uXsIGcv{r1OA&*Rd>(;FBhTwY(!&fRHqGR5Z5g$5dW5DDoRt|b;qu#%DqKtnMt2>KoF08#o|S4?)zSVhgrbU@ENOT zaWn{*CPXnX81!^cT=>kr=lXibf_*8qA)s(RWc~fhYPBg7YR?~LJ~fkN0UP^zqjG!Z z&UZd?(|8hoZsf3g{;=_>Pg4Lh^Zl6)^2gYx8v48Bq-J`u-}z%;vvPtLLqhdu4dx#Q H|K9`v%G2>S literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.jpg b/tests/integration/converters/outputs/vips/sample.jpeg similarity index 100% rename from tests/integration/converters/outputs/vips/sample.jpg rename to tests/integration/converters/outputs/vips/sample.jpeg diff --git a/tests/integration/converters/outputs/vips/sample.jxl b/tests/integration/converters/outputs/vips/sample.jxl new file mode 100644 index 0000000000000000000000000000000000000000..2b1eb65b49145a5a370d7e70533d13453f9da0bf GIT binary patch literal 387 zcmV-}0et=d000b1SWF-d3Wo{+000zbba`-Ucx)g50001Lcx)g5000qccx-S000030 z3PZq70001cVsdX{MR;ju8@B)egome7-@nVkq@@9}hFCy~#YI$Y!OpQ_(a9m%IN}Mm}bCjzzO{6k=WE21Z007r&cx-Th00032AOrJ5699k;l~KkGUe5J= z`JuyN+QxN;w%WF^gt6J43k8FO0I1E@r0y;N4#1Fk?gKO+AbNrX7laXGSUN=zBt(W8 zvy`_*OtIBQ#J~8EzwS6$XMJ{!!ogN>Lr6HzMuTfkp6duB0QyJTCa43~ZEjt6WV2IyDs)2^9>vI+PR=^nwX6 h0Jnzm0N~=kQ?%ai;2O%zf;IRU~!rk(%* literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.mat b/tests/integration/converters/outputs/vips/sample.mat new file mode 100644 index 00000000..802e1090 --- /dev/null +++ b/tests/integration/converters/outputs/vips/sample.mat @@ -0,0 +1,17 @@ +16 16 +0 0 85 82 82 82 82 82 82 82 95 12 0 0 0 0 +0 0 79 24 24 24 24 24 24 24 25 90 5 0 0 0 +0 0 79 24 24 24 24 24 24 24 24 29 87 1 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 36 76 0 0 +0 0 79 24 24 40 24 36 36 24 40 24 24 80 0 0 +0 0 79 24 60 183 59 192 192 59 183 60 24 80 0 0 +0 0 79 24 29 85 28 76 76 28 85 29 24 80 0 0 +0 0 79 24 55 196 53 103 103 53 196 55 24 80 0 0 +0 0 79 24 55 196 53 103 103 53 196 55 24 80 0 0 +0 0 79 24 29 85 28 76 76 43 93 44 24 80 0 0 +0 0 79 24 60 183 59 192 192 70 185 72 24 80 0 0 +0 0 79 24 24 40 24 36 36 31 49 31 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 86 83 83 83 83 83 83 83 83 83 83 85 0 0 diff --git a/tests/integration/converters/outputs/vips/sample.png b/tests/integration/converters/outputs/vips/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..c7b053367816ea89874c6481fdc7dd460dcc6f20 GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TT&xD(>y)37&w3&HU=R^W(Gze z3xuT@S;2G|kSz^m#{tkN^(p(~P< z4cx?-A3nIT$J&DTLSfLa`!!K-_D^fR^uLz9ufec`SBUwfpov3>-`oAUYYx>5MsEF| zXZJ9HC#m^}LlFzFfl2w#`WGiU|NmO%_kVBKlLHb**g6}ZWaKlL>1(`L{iob-`v3I_ z3!LHbP0l+XkKI>DR$ literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.tiff b/tests/integration/converters/outputs/vips/sample.tiff new file mode 100644 index 0000000000000000000000000000000000000000..3fce263f57119ce1e58a3ed33eb7ab02353e1d16 GIT binary patch literal 1262 zcmebD)MDUZVSt0u+DYrZf>ZzD!kI;_*H-PgDg@Vn#t4qdzbh!A{vQ_>lGOO0Th@7a z{`~zMXj;KsLi$1GiplE!uWFvLs-dBQ3Ed20^n=WhRWbSB+_R_$pMF_wRj@x~Rg8e@ zjUa5O7|4v^*t|Qq^y@e&{ck=k_Fv0E>Hoe1N5B}w28n^>2_)YtQVA} zg^<*ULfIhwVo-JikSz{X4>DMakrk}>9FQ#yWnTlbWsuC#fU-e$1tGD6fozc3&p-qa VT>h)fz|er8IT#?25oiMl0syPhNh|;W literal 0 HcmV?d00001 diff --git a/tests/integration/converters/outputs/vips/sample.vips b/tests/integration/converters/outputs/vips/sample.vips new file mode 100644 index 0000000000000000000000000000000000000000..572700e1356f060abb99f79266dc2d9821b09f68 GIT binary patch literal 3220 zcmc&$&2Jk;6ps*xDkrGG0tuJN$^--6U9S@-207c#uG6$tt;TT^l8Oqg?Xf+|dS<)3 zP8=jqq`(2G7dUaN#DPOEa6+5_K@Ui9g%j{c^bhDTZ~c+P#Bm^4tn|F^V}9?weecbT zzy9L!g=eOwrhuN7bU{-8iAmf8&+tJK~9qT%YOkJstQc-(|m#!lx`n9Q+&;uU}Ebx8FaC2zbzeZ5;mjOS59> zE)vhhXT{Z2kCgyL=jK#zEy)@Ln7@8G{Y(m6l#@7$<
  • hkHdm}68P|gPrj0SSDb|c zx!3#io4?#?xoC&@0p)B-F|@RD*__V%oQFtSSg@ot!_a$6*LQb!wH@jO8mR_az(dY7 zr>eELbx`U#&B$qsiaCu?zDb-K@qv{>of5Z(!aa{HDI0R-8mX57~i0X0(u9zNc0DHvmP%;h5!hQ}F8V0IId^K=do=X%ncQ#xU zF(CKagoV^`71J1vgO9gdUg^gq9a>jwPUtA++Gf+c)4;gAzI_j4$zZ&Kt?L%v#TE#- zB+25IRqDzcu*3=m@+Qc3<8XasFWSfOE3IqNS>z95^`4!T(lTDaMTyVd!KDJ17;H)V zHm-IT7w}&3Hnz4)JsB^9U(65fonk>|2RBainr1&J@ zZab8NsXbo7^T$SP{(OzjsP#XXyv?2>Nxe1ZqP29}_Z4m}{tenaPlr$Dn n=q6{4;oW}jA&8=F{b$jRUXuLSk$L1K%J$(bU=hK^z`!5@#Qb37=o8@K0OT>|FHoDLVp`$z^63XNdnKk5 zulkd=KXleul{rw$XjzAYdSKh_e-}h!#7&9vUlFv|4ZqQwMWA%ectL?wdW(1n7 zFac=J1SW>Lj9LN=0t`$HCaP1IN(>y>D;U>^MM$5Y(!lWV`&`bezhC5S`rVXD=fxaXo!wY5x1{lo-3 - runGoldenConversion("vips", convert, "jpg")); + runGoldenConversion("vips", convert, "sample.png", "jpeg")); diff --git a/tests/integration/converters/vtracer.test.ts b/tests/integration/converters/vtracer.test.ts index 75873f9b..d81eff5e 100644 --- a/tests/integration/converters/vtracer.test.ts +++ b/tests/integration/converters/vtracer.test.ts @@ -3,4 +3,4 @@ import { convert } from "../../../src/converters/vtracer"; import { runGoldenConversion } from "./golden"; test("converts the sample PNG to the expected SVG bytes", () => - runGoldenConversion("vtracer", convert, "svg")); + runGoldenConversion("vtracer", convert, "sample.png", "svg")); From 42b372e0a3c4366d0f443aa01924208b352cfe02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Tue, 20 Oct 2026 00:36:33 +0200 Subject: [PATCH 3/8] fix lint --- .prettierignore | 1 + eslint.config.ts | 2 +- knip.json | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..e725dc9d --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +tests/integration/converters/outputs \ No newline at end of file diff --git a/eslint.config.ts b/eslint.config.ts index 8b493b3f..f8bcac05 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -6,7 +6,7 @@ import tseslint, { parser as eslintParserTypeScript } from "typescript-eslint"; export default defineConfig( { - ignores: ["**/node_modules/**", "dist/**"], + ignores: ["**/node_modules/**", "dist/**", "tests/integration/converters/outputs/**"], }, js.configs.recommended, tseslint.configs.recommended, diff --git a/knip.json b/knip.json index c9e38040..5cfb596a 100644 --- a/knip.json +++ b/knip.json @@ -2,6 +2,7 @@ "$schema": "https://unpkg.com/knip@6/schema.json", "entry": ["tests/**/*.test.ts"], "project": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.css", "tests/**/*.ts"], + "ignore": ["tests/integration/converters/outputs/**"], "ignoreBinaries": [ "pandoc", "ffmpeg", From 3d165414c0d528f5df43be47063a607926bcedc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krzeslak?= Date: Tue, 20 Oct 2026 10:39:12 +0200 Subject: [PATCH 4/8] test: move pathIgnorePatterns to bunfig.toml --- bunfig.toml | 3 +++ package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bunfig.toml b/bunfig.toml index d073e330..ece5c7a9 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -4,3 +4,6 @@ coverage = true coveragePathIgnorePatterns = [ "tests/converters/helpers/commonTests.ts" ] +pathIgnorePatterns = [ + "**/integration/**" +] diff --git a/package.json b/package.json index b58741a3..c75bdcae 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "lint:eslint": "eslint .", "lint:prettier": "prettier --check .", "lint:xss": "xss-scan", - "test": "bun test --path-ignore-patterns=tests/integration", + "test": "bun test", "test:integration": "docker build --target test -t convertx:test . && docker run --rm -t -v ./tests:/app/tests -v ./src:/app/src -v ./package.json:/app/package.json convertx:test bun test tests/integration" }, "dependencies": { From 1cdfedaff73a028eb6481d436b482db128662557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Mon, 26 Oct 2026 20:26:17 +0100 Subject: [PATCH 5/8] format --- bunfig.toml | 9 +++------ tests/integration/converters/all-formats.test.ts | 1 + tests/integration/converters/ffmpeg.test.ts | 1 + tests/integration/converters/graphicsmagick.test.ts | 1 + tests/integration/converters/imagemagick.test.ts | 1 + tests/integration/converters/inkscape.test.ts | 1 + tests/integration/converters/libjxl.test.ts | 1 + tests/integration/converters/vips.test.ts | 1 + tests/integration/converters/vtracer.test.ts | 1 + 9 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bunfig.toml b/bunfig.toml index 9994ac91..103c6c96 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,12 +1,8 @@ [test] preload = ["./tests/preload.ts"] coverage = true -coveragePathIgnorePatterns = [ - "tests/converters/helpers/commonTests.ts" -] -pathIgnorePatterns = [ - "**/integration/**" -] +coveragePathIgnorePatterns = ["tests/converters/helpers/commonTests.ts"] +pathIgnorePatterns = ["**/integration/**"] [fmt] arrowParens = "always" @@ -18,3 +14,4 @@ sortImports = true sortTailwindcss = false sortPackageJson = true jsdoc = true +ignorePatterns = ["tests/integration/converters/outputs/", "tests/integration/converters/inputs/"] diff --git a/tests/integration/converters/all-formats.test.ts b/tests/integration/converters/all-formats.test.ts index 55ea2ff4..966c591b 100644 --- a/tests/integration/converters/all-formats.test.ts +++ b/tests/integration/converters/all-formats.test.ts @@ -2,6 +2,7 @@ import { expect, test } from "bun:test"; import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; + import { convert as ffmpeg } from "../../../src/converters/ffmpeg"; import { convert as graphicsmagick } from "../../../src/converters/graphicsmagick"; import { convert as imagemagick } from "../../../src/converters/imagemagick"; diff --git a/tests/integration/converters/ffmpeg.test.ts b/tests/integration/converters/ffmpeg.test.ts index 8b102dc1..198f1f6c 100644 --- a/tests/integration/converters/ffmpeg.test.ts +++ b/tests/integration/converters/ffmpeg.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/ffmpeg"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/graphicsmagick.test.ts b/tests/integration/converters/graphicsmagick.test.ts index c945f27c..7ef9861c 100644 --- a/tests/integration/converters/graphicsmagick.test.ts +++ b/tests/integration/converters/graphicsmagick.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/graphicsmagick"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/imagemagick.test.ts b/tests/integration/converters/imagemagick.test.ts index 2baa44fb..aadef8e1 100644 --- a/tests/integration/converters/imagemagick.test.ts +++ b/tests/integration/converters/imagemagick.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/imagemagick"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/inkscape.test.ts b/tests/integration/converters/inkscape.test.ts index d0b4d944..995d7ae9 100644 --- a/tests/integration/converters/inkscape.test.ts +++ b/tests/integration/converters/inkscape.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/inkscape"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/libjxl.test.ts b/tests/integration/converters/libjxl.test.ts index 72475793..72f54900 100644 --- a/tests/integration/converters/libjxl.test.ts +++ b/tests/integration/converters/libjxl.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/libjxl"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/vips.test.ts b/tests/integration/converters/vips.test.ts index a3c20b71..9b4c6615 100644 --- a/tests/integration/converters/vips.test.ts +++ b/tests/integration/converters/vips.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/vips"; import { runGoldenConversion } from "./golden"; diff --git a/tests/integration/converters/vtracer.test.ts b/tests/integration/converters/vtracer.test.ts index d81eff5e..b81d7bd1 100644 --- a/tests/integration/converters/vtracer.test.ts +++ b/tests/integration/converters/vtracer.test.ts @@ -1,4 +1,5 @@ import { test } from "bun:test"; + import { convert } from "../../../src/converters/vtracer"; import { runGoldenConversion } from "./golden"; From 02ef62b04d428aacc354cc1080d7df5b570d8b04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Mon, 26 Oct 2026 20:27:03 +0100 Subject: [PATCH 6/8] remove prettierignore --- .prettierignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index e725dc9d..00000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -tests/integration/converters/outputs \ No newline at end of file From d2980a511ea44671e6f8ace052c764fc2328cd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emrik=20=C3=96stling?= Date: Mon, 26 Oct 2026 22:07:02 +0100 Subject: [PATCH 7/8] resturcture ffmpeg properties --- src/converters/ffmpeg.ts | 1488 +++++++++-------- src/converters/main.ts | 30 +- tests/converters/ffmpeg.test.ts | 15 + tests/converters/main.test.ts | 27 + .../converters/all-formats.test.ts | 4 +- .../converters/expected-failures.json | 110 -- 6 files changed, 862 insertions(+), 812 deletions(-) diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index 8e5959a7..34bb7f8a 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -18,695 +18,811 @@ type FfmpegExecFile = ( callback: (err: Error | null, stdout: string, stderr: string) => void, ) => ChildProcess | void; -// This could be done dynamically by running `ffmpeg -formats` and parsing the output +const imageInputs = [ + "alias_pix", + "apng", + "art", + "avif", + "bmp", + "brender_pix", + "dds", + "dpic", + "dpx", + "dpx_pipe", + "exr", + "exr_pipe", + "fits", + "gif", + "hdr", + "ico", + "im1", + "im24", + "im8", + "image2", + "image2pipe", + "j2c", + "j2k", + "j2k_pipe", + "jls", + "jp2", + "jpeg", + "jpeg_pipe", + "jpegls_pipe", + "jpg", + "jxl", + "ljpg", + "mjpeg", + "mjpg", + "pam", + "pbm", + "pcd", + "pcx", + "pfm", + "pgm", + "pgmyuv", + "phm", + "pic", + "pictor", + "pix", + "png", + "png_pipe", + "pnm", + "ppm", + "ptx", + "qoi", + "qoi_pipe", + "ras", + "raw", + "rgb", + "rgba", + "rs", + "sgi", + "sgi_pipe", + "sun", + "sunras", + "svg", + "svg_pipe", + "svs", + "tga", + "tif", + "tiff", + "tiff_pipe", + "v210", + "v210x", + "v308", + "v408", + "v410", + "vbn", + "wbmp", + "webp", + "webp_pipe", + "xbm", + "xface", + "xpm", + "xwd", + "y", + "y41p", + "yuv", +]; + +const audioInputs = [ + "669", + "722", + "aa", + "aa3", + "aac", + "aax", + "ac3", + "ac4", + "ace", + "acm", + "act", + "adf", + "adp", + "ads", + "adts", + "adx", + "aea", + "afc", + "aif", + "aifc", + "aiff", + "aix", + "al", + "alaw", + "alp", + "alsa", + "amf", + "amr", + "amrnb", + "amrwb", + "ams", + "apac", + "apc", + "ape", + "apl", + "apm", + "aptx", + "aptxhd", + "ast", + "au", + "aud", + "avr", + "awb", + "bcstm", + "bfstm", + "binka", + "bit", + "bonk", + "brstm", + "c2", + "caf", + "cdda", + "cdg", + "chk", + "cvg", + "daud", + "derf", + "dfpwm", + "drc", + "dsf", + "dsm", + "dss", + "dtk", + "dtm", + "dts", + "dtshd", + "dvf", + "eac3", + "ec3", + "epaf", + "f32be", + "f32le", + "f64be", + "f64le", + "far", + "flac", + "fsb", + "fwse", + "g722", + "g723_1", + "g726", + "g726le", + "g729", + "genh", + "gsm", + "hca", + "hcom", + "iac", + "ilbc", + "ircam", + "iss", + "it", + "kss", + "latm", + "lbc", + "loas", + "lrc", + "m2a", + "m4a", + "m4b", + "m4r", + "mid", + "midi", + "mka", + "mlp", + "mmf", + "mod", + "mp1", + "mp2", + "mp3", + "mpa", + "mpc", + "mpc8", + "msbc", + "mtm", + "mulaw", + "musx", + "mvi", + "nist", + "oga", + "ogg", + "oma", + "omg", + "opus", + "paf", + "pcm", + "pvf", + "qcp", + "r16", + "r24", + "r32", + "ra", + "rak", + "rco", + "rmf", + "rso", + "s16be", + "s16le", + "s24be", + "s24le", + "s32be", + "s32le", + "s8", + "sb", + "sbc", + "sds", + "sdx", + "sf", + "sfx", + "sfx2", + "shn", + "siff", + "sln", + "sol", + "son", + "sox", + "spdif", + "sph", + "spx", + "ss2", + "stk", + "stm", + "str", + "svag", + "sw", + "tak", + "thd", + "truehd", + "tta", + "tun", + "u16be", + "u16le", + "u24be", + "u24le", + "u32be", + "u32le", + "u8", + "ub", + "ul", + "ult", + "umx", + "uw", + "vag", + "voc", + "vox", + "vpk", + "vqe", + "vqf", + "vql", + "w64", + "wa", + "wav", + "way", + "wma", + "wow", + "wsaud", + "wsd", + "wv", + "wve", + "xa", + "xl", + "xm", + "xmd", + "xmv", + "xpk", + "xvag", + "xwma", +]; + +const videoInputs = [ + "264", + "265", + "266", + "302", + "3dostr", + "3g2", + "3gp", + "4xm", + "anm", + "ans", + "argo_asf", + "argo_brp", + "asc", + "asf", + "asf_o", + "av1", + "avc", + "avi", + "avs", + "avs2", + "avs3", + "bethsoftvid", + "bfi", + "bin", + "bink", + "bitpacked", + "bmv", + "boa", + "c93", + "cavsvideo", + "cdata", + "cdxl", + "cgi", + "cif", + "cine", + "codec2", + "codec2raw", + "concat", + "cri", + "dash", + "dat", + "data", + "dav", + "dbm", + "dcstr", + "dfa", + "dhav", + "dif", + "digi", + "dirac", + "diz", + "dmf", + "dnxhd", + "dsicin", + "dv", + "dxa", + "ea", + "ea_cdata", + "evc", + "f4v", + "fap", + "fbdev", + "ffmetadata", + "film_cpk", + "filmstrip", + "flic", + "flm", + "flv", + "frm", + "gdm", + "gdv", + "gxf", + "h261", + "h263", + "h264", + "h265", + "h266", + "h26l", + "hevc", + "hls", + "hnm", + "ice", + "idcin", + "idf", + "iec61883", + "iff", + "ifv", + "imf", + "imx", + "ingenient", + "ipmovie", + "ipu", + "ism", + "isma", + "ismv", + "iv8", + "ivf", + "ivr", + "j2b", + "jack", + "jpegls", + "jv", + "kmsgrab", + "kux", + "kvag", + "laf", + "lavfi", + "lmlm4", + "luodat", + "lvf", + "lxf", + "m15", + "m2ts", + "m4v", + "mac", + "mca", + "mcc", + "mdl", + "med", + "mj2", + "mk3d", + "mks", + "mkv", + "mlv", + "mm", + "mmcmp", + "mms", + "mo3", + "mods", + "moflex", + "mov", + "mp4", + "mpeg", + "mpg", + "mpjpeg", + "mpo", + "mptm", + "msf", + "msnwctcp", + "msp", + "mt2", + "mtaf", + "mtv", + "mv", + "mxf", + "mxg", + "nc", + "nfo", + "nistsphere", + "nsp", + "nst", + "nsv", + "nut", + "nuv", + "obu", + "okt", + "openal", + "osq", + "oss", + "pdv", + "pgx", + "photocd", + "plm", + "pmp", + "pp", + "psd", + "psm", + "psp", + "psxstr", + "pt36", + "ptm", + "pulse", + "pva", + "qcif", + "qdraw", + "r3d", + "rawvideo", + "rcv", + "redspark", + "rka", + "rl2", + "rm", + "roq", + "rpl", + "rsd", + "rt", + "rtp", + "rtsp", + "s337m", + "s3m", + "sap", + "sbg", + "sdns", + "sdp", + "sdr2", + "ser", + "sga", + "smjpeg", + "smk", + "smush", + "sndio", + "st26", + "stp", + "swf", + "tco", + "thp", + "tiertexseq", + "tmv", + "ts", + "tty", + "txd", + "txt", + "ty", + "ty+", + "usm", + "v", + "vb", + "vc1", + "vc1test", + "vidc", + "video4linux2", + "viv", + "vividas", + "vivo", + "vmd", + "vob", + "vt", + "vvc", + "wc3movie", + "webm", + "wmv", + "wsvqa", + "wtv", + "x11grab", + "xbin", + "y4m", + "yop", + "yuv10", +]; + +const subtitleInputs = [ + "aqt", + "aqtitle", + "ass", + "cvd", + "dks", + "dvbsub", + "dvbtxt", + "idx", + "jacosub", + "js", + "jss", + "lrc", + "microdvd", + "mpl2", + "mpsub", + "pjs", + "realtext", + "sami", + "sbv", + "scc", + "smi", + "srt", + "ssa", + "stl", + "sub", + "subviewer", + "subviewer1", + "sup", + "tedcaptions", + "ttml", + "vobsub", + "vplayer", + "vtt", + "webvtt", + "xml", +]; + +const imageOutputs = [ + "apng", + "avif", + "bmp", + "dpx", + "exr", + "fits", + "gif", + "hdr", + "ico", + "im1", + "im24", + "im8", + "j2c", + "j2k", + "jls", + "jp2", + "jpeg", + "jpg", + "jxl", + "ljpg", + "mjpeg", + "mjpg", + "pam", + "pbm", + "pcx", + "pfm", + "pgm", + "pgmyuv", + "phm", + "pix", + "png", + "ppm", + "qoi", + "ras", + "rgb", + "rs", + "sgi", + "sun", + "sunras", + "tga", + "tif", + "tiff", + "vbn", + "wbmp", + "webp", + "xbm", + "xface", + "xwd", + "y", + "yuv", +]; + +const audioOutputs = [ + "aac", + "ac3", + "ac4", + "adts", + "adx", + "afc", + "aif", + "aifc", + "aiff", + "al", + "amr", + "apm", + "aptx", + "aptxhd", + "ast", + "au", + "aud", + "bit", + "c2", + "caf", + "chk", + "cvg", + "dfpwm", + "drc", + "dts", + "eac3", + "ec3", + "flac", + "g722", + "gsm", + "ircam", + "latm", + "lbc", + "loas", + "m2a", + "m4a", + "m4b", + "mka", + "mlp", + "mmf", + "mp2", + "mp3", + "mpa", + "msbc", + "oga", + "ogg", + "oma", + "opus", + "pcm", + "ra", + "rco", + "rso", + "sb", + "sbc", + "sf", + "sox", + "spdif", + "spx", + "sw", + "thd", + "tta", + "tun", + "ub", + "ul", + "uw", + "vag", + "voc", + "w64", + "wav", + "wma", + "wv", +]; + +const videoOutputs = [ + "264", + "265", + "266", + "302", + "3g2", + "3gp", + "a64", + "amv", + "asf", + "av1.mkv", + "av1.mp4", + "avi", + "avs", + "avs2", + "avs3", + "cavs", + "cpk", + "dnxhd", + "dnxhr", + "dv", + "dvd", + "evc", + "f4v", + "ffmeta", + "flm", + "flv", + "gxf", + "h261", + "h263", + "h264.mkv", + "h264.mp4", + "h265.mkv", + "h265.mp4", + "h266.mkv", + "hevc", + "isma", + "ismv", + "ivf", + "m1v", + "m2t", + "m2ts", + "m2v", + "m3u8", + "m4v", + "mkv", + "mov", + "mp4", + "mpd", + "mpeg", + "mpg", + "mts", + "mxf", + "nut", + "obu", + "ogv", + "psp", + "rcv", + "rm", + "roq", + "swf", + "tco", + "ts", + "vc1", + "vc2", + "vob", + "vvc", + "webm", + "wmv", + "wtv", + "y4m", +]; + +const subtitleOutputs = [ + "ass", + "js", + "jss", + "lrc", + "scc", + "srt", + "ssa", + "sub", + "sup", + "ttml", + "vtt", + "xml", +]; + export const properties = { from: { - muxer: [ - "264", - "265", - "266", - "302", - "3dostr", - "3g2", - "3gp", - "4xm", - "669", - "722", - "aa", - "aa3", - "aac", - "aax", - "ac3", - "ac4", - "ace", - "acm", - "act", - "adf", - "adp", - "ads", - "adx", - "aea", - "afc", - "aiff", - "aix", - "al", - "alaw", - "alias_pix", - "alp", - "alsa", - "amf", - "amr", - "amrnb", - "amrwb", - "ams", - "anm", - "ans", - "apc", - "ape", - "apl", - "apm", - "apng", - "aptx", - "aptxhd", - "aqt", - "aqtitle", - "argo_asf", - "argo_brp", - "art", - "asc", - "asf", - "asf_o", - "ass", - "ast", - "au", - "av1", - "avc", - "avi", - "avif", - "avr", - "avs", - "avs2", - "avs3", - "awb", - "bcstm", - "bethsoftvid", - "bfi", - "bfstm", - "bin", - "bink", - "binka", - "bit", - "bitpacked", - "bmv", - "bmp", - "bonk", - "boa", - "brender_pix", - "brstm", - "c2", - "c93", - "caf", - "cavsvideo", - "cdata", - "cdg", - "cdxl", - "cgi", - "cif", - "cine", - "codec2", - "codec2raw", - "concat", - "cri", - "dash", - "dat", - "data", - "daud", - "dav", - "dbm", - "dcstr", - "dds", - "derf", - "dfpwm", - "dfa", - "dhav", - "dif", - "digi", - "dirac", - "diz", - "dmf", - "dnxhd", - "dpx_pipe", - "dsf", - "dsicin", - "dsm", - "dss", - "dtk", - "dtm", - "dts", - "dtshd", - "dv", - "dvbsub", - "dvbtxt", - "dxa", - "ea", - "eac3", - "ea_cdata", - "epaf", - "exr_pipe", - "f32be", - "f32le", - "ec3", - "evc", - "f4v", - "f64be", - "f64le", - "fap", - "far", - "fbdev", - "ffmetadata", - "filmstrip", - "film_cpk", - "fits", - "flac", - "flic", - "flm", - "flv", - "frm", - "fsb", - "fwse", - "g722", - "g723_1", - "g726", - "g726le", - "g729", - "gdm", - "gdv", - "genh", - "gif", - "gsm", - "gxf", - "h261", - "h263", - "h264", - "h265", - "h266", - "h26l", - "hca", - "hcom", - "hevc", - "hls", - "hnm", - "ice", - "ico", - "idcin", - "idf", - "idx", - "iec61883", - "iff", - "ifv", - "ilbc", - "image2", - "imf", - "imx", - "ingenient", - "ipmovie", - "ipu", - "ircam", - "ism", - "isma", - "ismv", - "iss", - "it", - "iv8", - "ivf", - "ivr", - "j2b", - "j2k", - "jack", - "jacosub", - "jv", - "jpegls", - "jpeg", - "jxl", - "kmsgrab", - "kux", - "kvag", - "lavfi", - "laf", - "lmlm4", - "loas", - "lrc", - "luodat", - "lvf", - "lxf", - "m15", - "m2a", - "m2ts", - "m4a", - "m4b", - "m4v", - "mac", - "mca", - "mcc", - "mdl", - "med", - "microdvd", - "mj2", - "mjpeg", - "mjpg", - "mk3d", - "mka", - "mks", - "mkv", - "mlp", - "mlv", - "mm", - "mmcmp", - "mmf", - "mms", - "mo3", - "mod", - "mods", - "moflex", - "mov", - "mp2", - "mp3", - "mp4", - "mpa", - "mpc", - "mpc8", - "mpeg", - "mpg", - "mpjpeg", - "mpl2", - "mpo", - "mpsub", - "mptm", - "msbc", - "msf", - "msnwctcp", - "msp", - "mt2", - "mtaf", - "mtm", - "mtv", - "mulaw", - "musx", - "mv", - "mvi", - "mxf", - "mxg", - "nc", - "nfo", - "nist", - "nistsphere", - "nsp", - "nst", - "nsv", - "nut", - "nuv", - "obu", - "ogg", - "okt", - "oma", - "omg", - "opus", - "openal", - "oss", - "osq", - "paf", - "pdv", - "pam", - "pbm", - "pcx", - "pgmyuv", - "pgm", - "pgx", - "photocd", - "pictor", - "pjs", - "plm", - "pmp", - "png", - "ppm", - "pp", - "psd", - "psm", - "psp", - "psxstr", - "pt36", - "ptm", - "pulse", - "pva", - "pvf", - "qcif", - "qcp", - "qdraw", - "r3d", - "rawvideo", - "rco", - "rcv", - "realtext", - "redspark", - "rgb", - "rl2", - "rm", - "roq", - "rpl", - "rka", - "rsd", - "rso", - "rt", - "rtp", - "rtsp", - "s16be", - "s16le", - "s24be", - "s24le", - "s32be", - "s32le", - "s337m", - "s3m", - "s8", - "sami", - "sap", - "sb", - "sbc", - "sbg", - "scc", - "sdns", - "sdp", - "sdr2", - "sds", - "sdx", - "ser", - "sf", - "sfx", - "sfx2", - "sga", - "sgi", - "shn", - "siff", - "sln", - "smi", - "smjpeg", - "smk", - "smush", - "sndio", - "sol", - "son", - "sox", - "spdif", - "sph", - "srt", - "ss2", - "ssa", - "st26", - "stk", - "stl", - "stm", - "stp", - "str", - "sub", - "sup", - "svag", - "svg", - "svs", - "sw", - "swf", - "tak", - "tco", - "tedcaptions", - "thd", - "thp", - "tiertexseq", - "tif", - "tiff", - "tmv", - "truehd", - "ts", - "tta", - "tty", - "txd", - "txt", - "ty", - "ty+", - "u16be", - "u16le", - "u24be", - "u24le", - "u32be", - "u32le", - "u8", - "ub", - "ul", - "ult", - "umx", - "usm", - "uw", - "v", - "v210", - "v210x", - "vag", - "vb", - "vc1", - "vc1test", - "vidc", - "video4linux2", - "viv", - "vividas", - "vivo", - "vmd", - "vobsub", - "vob", - "voc", - "vpk", - "vplayer", - "vqe", - "vqf", - "vql", - "vt", - "vtt", - "vvc", - "w64", - "wa", - "wav", - "way", - "wc3movie", - "webm", - "webp", - "webvtt", - "wma", - "wmv", - "wow", - "wsaud", - "wsd", - "wsvqa", - "wtv", - "wv", - "wve", - "x11grab", - "xa", - "xbin", - "xl", - "xm", - "xmd", - "xmv", - "xpk", - "xvag", - "xwma", - "y4m", - "yop", - "yuv", - "yuv10", - ], + images: imageInputs, + audio: audioInputs, + video: videoInputs, + subtitles: subtitleInputs, }, to: { - muxer: [ - "264", - "265", - "266", - "302", - "3g2", - "3gp", - "a64", - "aac", - "ac3", - "ac4", - "adts", - "adx", - "afc", - "aif", - "aifc", - "aiff", - "al", - "amr", - "amv", - "apm", - "apng", - "aptx", - "aptxhd", - "asf", - "ass", - "ast", - "au", - "aud", - "av1.mkv", - "av1.mp4", - "avi", - "avif", - "avs", - "avs2", - "avs3", - "bit", - "bmp", - "c2", - "caf", - "cavs", - "chk", - "cpk", - "cvg", - "dfpwm", - "dnxhd", - "dnxhr", - "dpx", - "drc", - "dts", - "dv", - "dvd", - "eac3", - "ec3", - "evc", - "exr", - "f4v", - "ffmeta", - "fits", - "flac", - "flm", - "flv", - "g722", - "gif", - "gsm", - "gxf", - "h261", - "h263", - "h264.mkv", - "h264.mp4", - "h265.mkv", - "h265.mp4", - "h266.mkv", - "hdr", - "hevc", - "ico", - "im1", - "im24", - "im8", - "ircam", - "isma", - "ismv", - "ivf", - "j2c", - "j2k", - "jls", - "jp2", - "jpeg", - "jpg", - "js", - "jss", - "jxl", - "latm", - "lbc", - "ljpg", - "loas", - "lrc", - "m1v", - "m2a", - "m2t", - "m2ts", - "m2v", - "m3u8", - "m4a", - "m4b", - "m4v", - "mjpeg", - "mjpg", - "mka", - "mkv", - "mlp", - "mmf", - "mov", - "mp2", - "mp3", - "mp4", - "mpa", - "mpd", - "mpeg", - "mpg", - "msbc", - "mts", - "mxf", - "nut", - "obu", - "oga", - "ogg", - "ogv", - "oma", - "opus", - "pam", - "pbm", - "pcm", - "pcx", - "pfm", - "pgm", - "pgmyuv", - "phm", - "pix", - "png", - "ppm", - "psp", - "qoi", - "ra", - "ras", - "rco", - "rcv", - "rgb", - "rm", - "roq", - "rs", - "rso", - "sb", - "sbc", - "scc", - "sf", - "sgi", - "sox", - "spdif", - "spx", - "srt", - "ssa", - "sub", - "sun", - "sunras", - "sup", - "sw", - "swf", - "tco", - "tga", - "thd", - "tif", - "tiff", - "ts", - "tta", - "ttml", - "tun", - "ub", - "ul", - "uw", - "vag", - "vbn", - "vc1", - "vc2", - "vob", - "voc", - "vtt", - "vvc", - "w64", - "wav", - "wbmp", - "webm", - "webp", - "wma", - "wmv", - "wtv", - "wv", - "xbm", - "xface", - "xml", - "xwd", - "y", - "y4m", - "yuv", - ], + images: imageOutputs, + audio: Array.from(new Set([...audioOutputs, ...imageOutputs, ...videoOutputs])), + video: Array.from( + new Set([...videoOutputs, ...audioOutputs, ...imageOutputs, ...subtitleOutputs]), + ), + subtitles: subtitleOutputs, }, }; @@ -737,6 +853,8 @@ export async function convert( ); } else if (audioFormatsNoCover.includes(convertTo)) { extraArgs.push("-vn"); + } else if (imageOutputs.includes(convertTo) && audioInputs.includes(fileType)) { + extraArgs.push("-an"); } if (convertTo === "ico") { diff --git a/src/converters/main.ts b/src/converters/main.ts index d87ecd18..3ac17e74 100644 --- a/src/converters/main.ts +++ b/src/converters/main.ts @@ -315,7 +315,13 @@ for (const converterName in properties) { for (const ext of fromList) { if (!possibleTargets[ext]) possibleTargets[ext] = {}; - possibleTargets[ext][converterName] = [...toList]; + if (!possibleTargets[ext][converterName]) { + possibleTargets[ext][converterName] = [...toList]; + } else { + possibleTargets[ext][converterName] = [ + ...new Set([...possibleTargets[ext][converterName], ...toList]), + ]; + } } } } @@ -349,16 +355,13 @@ for (const converterName in properties) { if (!converterProperties) continue; + const targets = new Set(); for (const key in converterProperties.to) { - if (allTargets[converterName]) { - allTargets[converterName] = [ - ...allTargets[converterName], - ...(converterProperties.to[key] || []), - ]; - } else { - allTargets[converterName] = [...(converterProperties.to[key] || [])]; + for (const ext of converterProperties.to[key] || []) { + targets.add(ext); } } + allTargets[converterName] = Array.from(targets); } export const getAllTargets = () => { @@ -371,16 +374,13 @@ for (const converterName in properties) { if (!converterProperties) continue; + const inputs = new Set(); for (const key in converterProperties.from) { - if (allInputs[converterName]) { - allInputs[converterName] = [ - ...allInputs[converterName], - ...(converterProperties.from[key] || []), - ]; - } else { - allInputs[converterName] = converterProperties.from[key] || []; + for (const ext of converterProperties.from[key] || []) { + inputs.add(ext); } } + allInputs[converterName] = Array.from(inputs); } export const getAllInputs = (converter: string) => { diff --git a/tests/converters/ffmpeg.test.ts b/tests/converters/ffmpeg.test.ts index a6479cc9..aa4d3af5 100644 --- a/tests/converters/ffmpeg.test.ts +++ b/tests/converters/ffmpeg.test.ts @@ -117,6 +117,21 @@ test.each(["wav", "aac"])("drops video streams for %s output", async (ext) => { expect(calls[0]).toEqual(["-i", "in.mp3", "-vn", `out.${ext}`]); }); +test.each(["png", "jpg", "jpeg", "webp"])( + "drops audio streams when extracting cover art from audio to %s", + async (ext) => { + await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile); + + expect(calls[0]).toEqual(["-i", "in.mp3", "-an", `out.${ext}`]); + }, +); + +test.each(["png", "jpg", "jpeg", "webp"])("drops audio streams when extracting cover art from audio to %s", async (ext) => { + await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile); + + expect(calls[0]).toEqual(["-i", "in.mp3", "-an", `out.${ext}`]); +}); + test("places the cover art args after FFMPEG_OUTPUT_ARGS", async () => { process.env.FFMPEG_OUTPUT_ARGS = "-b:a 192k"; diff --git a/tests/converters/main.test.ts b/tests/converters/main.test.ts index 00b7bd92..453349c1 100644 --- a/tests/converters/main.test.ts +++ b/tests/converters/main.test.ts @@ -155,6 +155,33 @@ describe("converter registry", () => { expect(getPossibleTargets("jxl").libjxl).not.toContain("jxl"); expect(libreofficeProperties.from.text).not.toContain("xlsx"); expect(libreofficeProperties.to.text).not.toContain("xlsm"); + + // ffmpeg categories + const pngTargets = getPossibleTargets("png").ffmpeg ?? []; + expect(pngTargets).toContain("jpg"); + expect(pngTargets).toContain("webp"); + expect(pngTargets).toContain("gif"); + expect(pngTargets).not.toContain("mp3"); + expect(pngTargets).not.toContain("wav"); + expect(pngTargets).not.toContain("srt"); + expect(pngTargets).not.toContain("vtt"); + + const mp3Targets = getPossibleTargets("mp3").ffmpeg ?? []; + expect(mp3Targets).toContain("flac"); + expect(mp3Targets).toContain("wav"); + expect(mp3Targets).toContain("png"); + expect(mp3Targets).toContain("jpg"); + expect(mp3Targets).toContain("mp4"); + expect(mp3Targets).toContain("mkv"); + expect(mp3Targets).not.toContain("srt"); + expect(mp3Targets).not.toContain("vtt"); + + const srtTargets = getPossibleTargets("srt").ffmpeg ?? []; + expect(srtTargets).toContain("vtt"); + expect(srtTargets).toContain("ass"); + expect(srtTargets).not.toContain("png"); + expect(srtTargets).not.toContain("mp3"); + expect(srtTargets).not.toContain("mp4"); }); }); diff --git a/tests/integration/converters/all-formats.test.ts b/tests/integration/converters/all-formats.test.ts index 966c591b..ce443e7d 100644 --- a/tests/integration/converters/all-formats.test.ts +++ b/tests/integration/converters/all-formats.test.ts @@ -94,8 +94,8 @@ test("converts every saved PNG target for each converter", async () => { console.error = originalConsoleError; } - expect(testedTargets).toBe(558); - expect(successfulTargets).toBe(415); + expect(testedTargets).toBe(405); + expect(successfulTargets).toBe(370); expect(observedFailures.sort()).toEqual(expectedFailures); expect(failures).toEqual([]); }, 120000); diff --git a/tests/integration/converters/expected-failures.json b/tests/integration/converters/expected-failures.json index bc1399b7..c3a5498f 100644 --- a/tests/integration/converters/expected-failures.json +++ b/tests/integration/converters/expected-failures.json @@ -1,116 +1,6 @@ { "sample.png": [ - "ffmpeg:265", - "ffmpeg:266", - "ffmpeg:302", - "ffmpeg:3g2", - "ffmpeg:3gp", - "ffmpeg:aac", - "ffmpeg:ac3", - "ffmpeg:ac4", - "ffmpeg:adts", - "ffmpeg:adx", - "ffmpeg:afc", - "ffmpeg:aif", - "ffmpeg:aifc", - "ffmpeg:aiff", - "ffmpeg:al", - "ffmpeg:amr", - "ffmpeg:amv", - "ffmpeg:apm", - "ffmpeg:aptx", - "ffmpeg:aptxhd", - "ffmpeg:ass", - "ffmpeg:ast", - "ffmpeg:au", - "ffmpeg:aud", - "ffmpeg:avs", - "ffmpeg:avs2", - "ffmpeg:avs3", - "ffmpeg:bit", - "ffmpeg:c2", - "ffmpeg:caf", - "ffmpeg:cavs", - "ffmpeg:chk", - "ffmpeg:cvg", - "ffmpeg:dfpwm", - "ffmpeg:dnxhd", - "ffmpeg:dnxhr", - "ffmpeg:drc", - "ffmpeg:dts", - "ffmpeg:dv", - "ffmpeg:eac3", - "ffmpeg:ec3", - "ffmpeg:evc", - "ffmpeg:flac", - "ffmpeg:g722", - "ffmpeg:gsm", - "ffmpeg:gxf", - "ffmpeg:h261", - "ffmpeg:h263", - "ffmpeg:h265.mkv", - "ffmpeg:h265.mp4", - "ffmpeg:h266.mkv", - "ffmpeg:hevc", - "ffmpeg:ircam", - "ffmpeg:ivf", - "ffmpeg:js", - "ffmpeg:jss", - "ffmpeg:latm", - "ffmpeg:lbc", - "ffmpeg:loas", - "ffmpeg:lrc", - "ffmpeg:m2a", - "ffmpeg:m4a", - "ffmpeg:mka", - "ffmpeg:mlp", - "ffmpeg:mmf", - "ffmpeg:mp2", - "ffmpeg:mp3", - "ffmpeg:mpa", - "ffmpeg:msbc", - "ffmpeg:oga", - "ffmpeg:ogg", - "ffmpeg:oma", - "ffmpeg:opus", - "ffmpeg:pcm", - "ffmpeg:psp", - "ffmpeg:rco", - "ffmpeg:rcv", - "ffmpeg:rso", - "ffmpeg:sb", - "ffmpeg:sbc", - "ffmpeg:scc", - "ffmpeg:sf", - "ffmpeg:sox", - "ffmpeg:spdif", - "ffmpeg:spx", - "ffmpeg:srt", - "ffmpeg:ssa", - "ffmpeg:sub", - "ffmpeg:sup", - "ffmpeg:sw", - "ffmpeg:tco", - "ffmpeg:thd", - "ffmpeg:tta", - "ffmpeg:ttml", - "ffmpeg:tun", - "ffmpeg:ub", - "ffmpeg:ul", - "ffmpeg:uw", - "ffmpeg:vag", - "ffmpeg:vc1", - "ffmpeg:vc2", - "ffmpeg:voc", - "ffmpeg:vtt", - "ffmpeg:vvc", - "ffmpeg:w64", - "ffmpeg:wav", - "ffmpeg:webm", - "ffmpeg:wv", "ffmpeg:xface", - "ffmpeg:xml", - "ffmpeg:y4m", "graphicsmagick:8bim", "graphicsmagick:8bimtext", "graphicsmagick:8bimwtext", From eb22dc291af8d826c10eb20d41954d827b4c1c60 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 21:07:36 +0000 Subject: [PATCH 8/8] [autofix.ci] apply automated fixes --- tests/converters/ffmpeg.test.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/converters/ffmpeg.test.ts b/tests/converters/ffmpeg.test.ts index aa4d3af5..a089f4e7 100644 --- a/tests/converters/ffmpeg.test.ts +++ b/tests/converters/ffmpeg.test.ts @@ -126,11 +126,14 @@ test.each(["png", "jpg", "jpeg", "webp"])( }, ); -test.each(["png", "jpg", "jpeg", "webp"])("drops audio streams when extracting cover art from audio to %s", async (ext) => { - await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile); +test.each(["png", "jpg", "jpeg", "webp"])( + "drops audio streams when extracting cover art from audio to %s", + async (ext) => { + await convert("in.mp3", "mp3", ext, `out.${ext}`, undefined, mockExecFile); - expect(calls[0]).toEqual(["-i", "in.mp3", "-an", `out.${ext}`]); -}); + expect(calls[0]).toEqual(["-i", "in.mp3", "-an", `out.${ext}`]); + }, +); test("places the cover art args after FFMPEG_OUTPUT_ARGS", async () => { process.env.FFMPEG_OUTPUT_ARGS = "-b:a 192k";