Exemplo n.º 1
0
void
agfa1_interpret_value(struct ifd_entry *entry_ptr)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0201:    /* Compression Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("SQ"); break;
                    case 2: chpr += printf("HQ"); break;
                    case 3: chpr += printf("SHQ"); break;
                    case 33: chpr += printf("not compressed"); break; /* TIFF  */
                    case 34:    /* not sure about this one ###%%%         */
                                chpr += printf("not compressed");
                                break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0202:    /* Macro */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Macro"); break;
                    case 2: chpr += printf("View"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
}
Exemplo n.º 2
0
void
agfa1_interpret_offset_makervalue(FILE *inptr,unsigned short byteorder,
                    struct ifd_entry *entry_ptr,unsigned long fileoffset_base)
{
    unsigned long offset,value;
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        offset = entry_ptr->value + fileoffset_base;
        switch(entry_ptr->tag)
        {
            case 0x0200:    /* SpecialMode                            */
                value = read_ulong(inptr,byteorder,offset);
                print_startvalue();
                switch(value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Unknown"); break;
                    case 2: chpr += printf("Fast"); break;
                    case 3: chpr += printf("Panorama,");
                            value = read_ulong(inptr,byteorder,HERE);
                            chpr += printf("#%lu,",value);
                            value = read_ulong(inptr,byteorder,HERE);
                            switch(value)
                            {
                                case 1: chpr += printf(" Left to Right"); break;
                                case 2: chpr += printf(" Right to Left"); break;
                                case 3: chpr += printf(" Bottom to Top"); break;
                                case 4: chpr += printf(" Top to Bottom"); break;
                                default: printred(" undefined"); break;
                            }
                            break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}
Exemplo n.º 3
0
void
asahi2_interpret_value(struct ifd_entry *entry_ptr)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0002: /* ThumbnailDimensions" */
                chpr += printf(" pixels");
                break;
            case 0x0008: /* QualityMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Fine"); break;
                    case 2: chpr += printf("Super Fine"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x0009: /* ImageSize" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("640x480"); break;
                    case 4: chpr += printf("1600x1200"); break;
                    case 5: chpr += printf("2048x1536"); break;
                    case 8: chpr += printf("2560x1920"); break;
                    case 20: chpr += printf("2288x1712"); break;
                    case 21: chpr += printf("2592x1944"); break;
                    case 22: chpr += printf("2304x1728"); break;
                    case 23: chpr += printf("2296x3056"); break;
                    case 36: chpr += printf("3008x2008"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x000D: /* FocusMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("Macro"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x0014: /* IsoSensitivity" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 3: chpr += printf("50"); break;
                    case 4: chpr += printf("64"); break;
                    case 6: chpr += printf("100"); break;
                    case 9: chpr += printf("200"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x0019: /* WhiteBalance" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Daylight"); break;
                    case 2: chpr += printf("Shade"); break;
                    case 3: chpr += printf("Tungsten"); break;
                    case 4: chpr += printf("Fluorescent"); break;
                    case 5: chpr += printf("Manual"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x001D: chpr += printf(" x .1 mm"); break; 
            case 0x001F: /* Saturation" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("-1"); break;
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("+1"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x0020: /* Contrast" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("-1"); break;
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("+1"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x0021: /* Sharpness" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("-1"); break;
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("+1"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x2012: /* WhiteBalance" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Manual"); break;
                    case 1: chpr += printf("Auto"); break;
                    case 4: chpr += printf("Flash"); break;
                    case 12: chpr += printf("Flash"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x2022: /* ObjectDistance" */
                chpr += printf("mm");
                break;
            case 0x2034: /* FlashDistance" */
#if 0
    Off?
                if(entry_ptr->value == 0)
                {
                    print_startvalue();
                    chpr += printf("Off");
                    print_endvalue();
                }
#endif
                break;
            case 0x3000: /* RecordMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 2: chpr += printf("Normal"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3001: /* SelfTimer?" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Off"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3002: /* Quality" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Economy"); break;
                    case 2: chpr += printf("Normal"); break;
                    case 3: chpr += printf("Fine"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3003: /* FocusMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Fixed"); break;
                    case 3: chpr += printf("Single-Area Auto"); break;
                    case 6: chpr += printf("Multi-Area Auto"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3007: /* BestshotMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3015: /* ColorMode" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off*"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3016: /* Enhancement" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x3017: /* Filter" */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            default: break;
        }
    }
Exemplo n.º 4
0
void
asahi1_interpret_value(struct ifd_entry *entry_ptr)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0001:    /* CaptureMode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Night-scene"); break;
                    case 2: chpr += printf("Manual"); break;
                    case 4: chpr += printf("Multiple"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0002:    /* Quality */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Good"); break;
                    case 1: chpr += printf("Better"); break;
                    case 2: chpr += printf("Best"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0003:    /* Focus Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 2: chpr += printf("Custom"); break;
                    case 3: chpr += printf("Auto"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0004:    /* Flash Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Auto"); break;
                    case 2: chpr += printf("On"); break;
                    case 4: chpr += printf("Off"); break;
                    case 6: chpr += printf("Red-eye"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0007:    /* White Balance */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Daylight"); break;
                    case 2: chpr += printf("Shade"); break;
                    case 3: chpr += printf("Tungsten"); break;
                    case 4: chpr += printf("Fluorescent"); break;
                    case 5: chpr += printf("Manual"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x000a:    /* Digital Zoom */
                if(entry_ptr->value == 0)
                {
                    print_startvalue();
                    chpr += printf("Off");
                    print_endvalue();
                }
                break;
            case 0x000b:    /* Sharpness */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Soft"); break;
                    case 2: chpr += printf("Hard"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x000c:    /* Contrast */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Low"); break;
                    case 2: chpr += printf("High"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x000d:    /* Saturation */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Low"); break;
                    case 2: chpr += printf("High"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0014:    /* ISO Speed Setting */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 10: chpr += printf("ISO 100"); break;
                    case 16: chpr += printf("ISO 200"); break;
                    case 100: chpr += printf("ISO 100"); break;
                    case 200: chpr += printf("ISO 200"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0017:    /* Color */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("Black & White"); break;
                    case 3: chpr += printf("Sepia"); break;
                    default: break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}