trunk: extend support for pdf2jp2

This commit is contained in:
Mathieu Malaterre 2014-09-19 15:48:48 +00:00
parent 6868ee373e
commit 31fd8d3fe8
1 changed files with 16 additions and 1 deletions

View File

@ -37,6 +37,11 @@
* only work on linux since I need memmem function * only work on linux since I need memmem function
*/ */
/*
* Add support for other signatures:
*
* obj<</Subtype/Image/Length 110494/Filter/JPXDecode/BitsPerComponent 8/ColorSpace/DeviceRGB/Width 712/Height 1052>>stream
*/
#define _GNU_SOURCE #define _GNU_SOURCE
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
@ -98,7 +103,17 @@ int main(int argc, char *argv[])
assert( r ); assert( r );
/*fprintf( stderr, "DEBUG: %s", r );*/ /*fprintf( stderr, "DEBUG: %s", r );*/
s = sscanf(r, "JPXDecode]/Length %d/Width %*d/BitsPerComponent %*d/Height %*d", &len); s = sscanf(r, "JPXDecode]/Length %d/Width %*d/BitsPerComponent %*d/Height %*d", &len);
assert( s == 1 ); if( s == 0 )
{ // try again harder
const int ret = fseek(f, offets[i] - 40, SEEK_SET); // 40 is magic number
assert( ret == 0 );
r = fgets(buffer, sizeof(buffer), f);
assert( r );
const char needle2[] = "/Length";
char * s2 = strstr(buffer, needle2);
s = sscanf(s2, "/Length %d/", &len);
}
if( s == 1 )
{ {
FILE *jp2; FILE *jp2;
int j; int j;