changeset 2056:c27ed6465022

Add pixel aspect ratio information for C64 formats. Not used yet.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 04 Dec 2018 15:31:13 +0200
parents 6c6a4ea67540
children 02fa60b27af5
files tools/lib64fmts.c tools/lib64gfx.h
diffstat 2 files changed, 35 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/tools/lib64fmts.c	Tue Dec 04 10:33:06 2018 +0200
+++ b/tools/lib64fmts.c	Tue Dec 04 15:31:13 2018 +0200
@@ -1110,6 +1110,7 @@
         D64_FMT_MC,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        2, 1,
         NULL, NULL,
         NULL,
         {
@@ -1125,6 +1126,7 @@
         D64_FMT_MC | D64_FMT_FLI,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        2, 1,
         NULL, NULL,
         fmtGetPixelBlackMailFLI,
         {
@@ -1140,6 +1142,7 @@
         D64_FMT_HIRES,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        1, 1,
         NULL, NULL,
         NULL,
         {
@@ -1153,6 +1156,7 @@
         D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE,
         C64_SCR_WIDTH, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        1, 1,
         NULL, NULL,
         fmtGetPixelFunPaint2,
         {
@@ -1172,6 +1176,7 @@
         D64_FMT_MC,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        2, 1,
         NULL, NULL,
         NULL,
         {
@@ -1187,6 +1192,7 @@
         D64_FMT_MC | D64_FMT_ILACE,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        1, 1,
         NULL, NULL,
         NULL,
         {
@@ -1204,6 +1210,7 @@
         D64_FMT_MC | D64_FMT_ILACE,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        1, 1,
         NULL, NULL,
         fmtGetPixelTruePaint,
         {
@@ -1222,6 +1229,7 @@
         D64_FMT_HIRES | D64_FMT_FLI,
         C64_SCR_WIDTH,    C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        1, 1,
         fmtConvertECIBMP2Image, NULL,
         fmtGetPixelECI,
         {
@@ -1238,6 +1246,7 @@
         D64_FMT_HIRES | D64_FMT_FLI,
         C64_SCR_WIDTH, 24*8, // Actually 296 x 192 (=24*8)
         C64_SCR_CH_WIDTH, 24,
+        1, 1,
         NULL, NULL,
         fmtGetPixelCrestHIFLIorCDHM,
         {
@@ -1251,6 +1260,7 @@
         D64_FMT_MC | D64_FMT_FLI,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        2, 1,
         NULL, NULL,
         fmtGetPixelFLIDesigner,
         {
@@ -1265,6 +1275,7 @@
         D64_FMT_HIRES,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        1, 1,
         NULL, NULL,
         NULL,
         {
@@ -1324,6 +1335,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1345,6 +1357,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1394,6 +1407,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1416,6 +1430,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1437,6 +1452,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1460,6 +1476,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1481,6 +1498,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1503,6 +1521,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1524,6 +1543,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1547,6 +1567,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1569,6 +1590,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1640,6 +1662,7 @@
             D64_FMT_HIRES,
             C64_SCR_WIDTH   , C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+            1, 1,
             NULL, NULL,
             NULL,
             {
@@ -1660,6 +1683,7 @@
             D64_FMT_HIRES,
             C64_SCR_WIDTH   , C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+            1, 1,
             NULL, NULL,
             NULL,
             {
@@ -1679,6 +1703,7 @@
             D64_FMT_HIRES,
             C64_SCR_WIDTH   , C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+            1, 1,
             NULL, NULL,
             NULL,
             {
@@ -1698,6 +1723,7 @@
             D64_FMT_MC | D64_FMT_FLI,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT * 2,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             fmtGetPixelBFLI,
             {
@@ -1762,6 +1788,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1784,6 +1811,7 @@
             D64_FMT_MC,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1805,6 +1833,7 @@
             D64_FMT_MC,
             XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8,
             XX2_WIDTH_CH    , XX2_HEIGHT_CH,
+            2, 1,
             NULL, NULL,
             NULL,
             {
@@ -1840,6 +1869,7 @@
             D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE,
             C64_SCR_WIDTH, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+            1, 1,
             NULL, NULL,
             fmtGetPixelFunPaint2, // The format is essentially same as FP2
             {
@@ -1868,6 +1898,7 @@
             D64_FMT_MC | D64_FMT_FLI,
             C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
             C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             fmtGetPixelHCB,
             {
@@ -1891,6 +1922,7 @@
             D64_FMT_HIRES | D64_FMT_FLI,
             192, C64_SCR_HEIGHT,
             24, C64_SCR_CH_HEIGHT,
+            2, 1,
             NULL, NULL,
             fmtGetPixelPentelPaint,
             {
@@ -1914,6 +1946,7 @@
             D64_FMT_HIRES | D64_FMT_FLI,
             C64_SCR_WIDTH, C64_SCR_HEIGHT,    // Actually 296 x 112 (=14*8)
             C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+            1, 1,
             NULL, NULL,
             fmtGetPixelCrestHIFLIorCDHM,
             {
--- a/tools/lib64gfx.h	Tue Dec 04 10:33:06 2018 +0200
+++ b/tools/lib64gfx.h	Tue Dec 04 15:31:13 2018 +0200
@@ -202,7 +202,8 @@
 {
     int  type,               // Type flags, see D64_FMT_*
          width, height,      // Width and height in pixels
-         chWidth, chHeight;  // Width and height in charblocks
+         chWidth, chHeight,  // Width and height in charblocks
+         aspectX, aspectY;   // Pixel aspectX/Y
 
     int  (*convertFrom)(DMImage *, const DMC64Image *, const DMC64ImageFormat *fmt, const DMC64ImageConvSpec *spec);
     int  (*convertTo)(DMC64Image *, const DMImage *, const DMC64ImageFormat *fmt, const DMC64ImageConvSpec *spec);