From: Niels H. <nie...@gm...> - 2010-06-21 11:47:11
|
Hi, I've been using dvdauthor in combination with tovid and discovered that it sometimes gives an error about png images being too big, while they aren't. This seems to be caused by the new libpng library. The following patch (against the stable 0.6.18 version) solves it: --- dvdauthor/src/subgen-image.c 2010-03-13 05:14:07.000000000 -0300 +++ dvdauthor_patched/src/subgen-image.c 2010-06-11 08:10:04.000000000 -0300 @@ -226,7 +226,7 @@ png_struct *ps; png_info *pi; png_byte **rowp; - unsigned long width,height; + png_uint_32 width,height; int bit_depth,color_type,channels,x,y; fp=fopen(s->fname,"rb"); @@ -271,7 +271,7 @@ assert(bit_depth==8); // 8bpp, not 1, 2, 4, or 16 assert(!(color_type&PNG_COLOR_MASK_PALETTE)); // not a palette if( width>MAXX || height>MAXY ) { - fprintf(stderr,"ERR: PNG %s is too big: %lux%lu\n",s->fname,width,height); + fprintf(stderr,"ERR: PNG %s is too big: %lux%lu\n",s->fname,(long unsigned int)width,(long unsigned int)height); png_destroy_read_struct(&ps,&pi,NULL); return -1; } Thanks, Niels Horn Rio de Janeiro, RJ Brasil site: www.nielshorn.net e-mail: nie...@gm... |
From: Lawrence D'O. <ld...@ge...> - 2010-06-22 11:21:45
|
On 21/06/10 23:47, Niels Horn wrote: > I've been using dvdauthor in combination with tovid and discovered > that it sometimes gives an error about png images being too big, while > they aren't. On a 64-bit architecture, presumably? Big-endian, by any chance? (Just wondering why I never noticed this on my AMD64 machine.) > The following patch (against the stable 0.6.18 version) solves it: Thanks for that. > @@ -271,7 +271,7 @@ > assert(bit_depth==8); // 8bpp, not 1, 2, 4, or 16 > assert(!(color_type&PNG_COLOR_MASK_PALETTE)); // not a palette > if( width>MAXX || height>MAXY ) { > - fprintf(stderr,"ERR: PNG %s is too big: > %lux%lu\n",s->fname,width,height); > + fprintf(stderr,"ERR: PNG %s is too big: > %lux%lu\n",s->fname,(long unsigned int)width,(long unsigned > int)height); > png_destroy_read_struct(&ps,&pi,NULL); > return -1; > } I would dispense with the casts, and take out the “l” modifiers on the format specifiers. Normally I prefer to discuss patches on dvdauthor-developer: that’s the list for the technicalities of the source code, this list is for the technicalities of using the code. Though I admit things might get blurred sometime... |
From: Niels H. <nie...@gm...> - 2010-06-22 11:50:44
|
On Tue, Jun 22, 2010 at 8:21 AM, Lawrence D'Oliveiro <ld...@ge...> wrote: > On 21/06/10 23:47, Niels Horn wrote: > >> I've been using dvdauthor in combination with tovid and discovered >> that it sometimes gives an error about png images being too big, while >> they aren't. > > On a 64-bit architecture, presumably? Big-endian, by any chance? (Just > wondering why I never noticed this on my AMD64 machine.) > This is on a Slackware64 Linux machine and it happens with tovid (I use mostly) and devede (I use once in a while), when it creates the menus by overlaying several images with "Highlights" (a border around an image, underlining some text, etc.) to show the selected item. I talked to people using dvdauthor with other programs / directly from the command-line that had no problems at all. >> The following patch (against the stable 0.6.18 version) solves it: > > Thanks for that. > >> @@ -271,7 +271,7 @@ >> assert(bit_depth==8); // 8bpp, not 1, 2, 4, or 16 >> assert(!(color_type&PNG_COLOR_MASK_PALETTE)); // not a palette >> if( width>MAXX || height>MAXY ) { >> - fprintf(stderr,"ERR: PNG %s is too big: >> %lux%lu\n",s->fname,width,height); >> + fprintf(stderr,"ERR: PNG %s is too big: >> %lux%lu\n",s->fname,(long unsigned int)width,(long unsigned >> int)height); >> png_destroy_read_struct(&ps,&pi,NULL); >> return -1; >> } > > I would dispense with the casts, and take out the “l” modifiers on the > format specifiers. > Looking at it now you're right of course. I did this as a quick patch to test the result and never went back to clean it up. :) > Normally I prefer to discuss patches on dvdauthor-developer: that’s the > list for the technicalities of the source code, this list is for the > technicalities of using the code. > OK, sorry for that... I'm new in this list and will subscribe to the developer list as well. > Though I admit things might get blurred sometime... > Hope this will make it into the next release! Niels |
From: Lawrence D'O. <ld...@ge...> - 2010-06-28 03:11:21
|
I wrote: > (Just wondering why I never noticed this on my AMD64 machine.) Duh ... it’s because that code is not used if you have ImageMagick/GraphicsMagick. > I would dispense with the casts, and take out the “l” modifiers on the > format specifiers. Turns out you need one “l”, and it should have been “ll” before. Anyway, amended and committed. |