// File: /workspace/github_c_makefile_star2_O2/hfiguiere[P]exifprobe/maker_minolta.c
// Function: minolta1_interpret_value
void
minolta1_interpret_value(struct ifd_entry *entry_ptr,int model)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0101:    /* ColorMode                                  */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Natural"); break;
                    case 1: chpr += printf("Black/White*"); break;
                    case 2: chpr += printf("Vivid"); break;
                    case 3: chpr += printf("Solarize"); break;
                    case 4: chpr += printf("Adobe RGB"); break;
                    case 9: chpr += printf("unknown"); break;
                    case 132: chpr += printf("Adobe RGB Embedded Profile"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0102:    /* CameraSettings ImageQuality, 7, 7Hi, F300  */
minolta_7Hi_botch:
                print_startvalue();
                switch(entry_ptr->value)
                {
                    /* ###%%% jpeg quality/compression? check this        */
                    case 0: chpr += printf("Raw"); break;
                    case 1: chpr += printf("Uncompressed"); break; /* superfine, raw? tiff? */
                    case 2: chpr += printf("Fine(1/2)"); break;
                    case 3: chpr += printf("Normal(1/3)"); break;   /* ###%%% */
                    case 4: chpr += printf("Economy(1/4)"); break;  /* ###%%% */
                    case 5: chpr += printf("ExtraFine(1/1)"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0103:    /* CameraSettings ImageSize*, 7Hi, F300       */
                /* The 7Hi appears to get this wrong, printing the same   */
                /* value for this as for 0x0102; the F300 seems to do it  */
                /* right. The ImageSize entry in "Camera Settings"        */
                /* appears correct in both cases. For the 7Hi, it would   */
                /* be wrong to report this as image size, so just don't   */
                /* do it.                                                 */
                if(model == MINOLTA_DIMAGE7Hi)
                    goto minolta_7Hi_botch;

                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("1600x1200"); break;
                    case 2: chpr += printf("unknown"); break;   /* 1280x960? */
                    case 3: chpr += printf("640x480"); break;
                    case 4: chpr += printf("unknown"); break;
                    case 5: chpr += printf("2560x1920"); break;
                    case 6: chpr += printf("2272x1704"); break; 
                    case 7: chpr += printf("2048x1536"); break;
                    case 13: chpr += printf("3264x2448"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0201:    /* Quality, X, F100                           */
                print_startvalue();
                    /* ###%%% jpeg quality/compression? check this, same as 0x0102?       */
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Raw*"); break;
                    case 1: chpr += printf("Economy(1/8)"); break;
                    case 2: chpr += printf("Normal(1/4)"); break; 
                    case 3: chpr += printf("Fine(1/2)"); break;
                    case 4: chpr += printf("Uncompressed"); 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;
        }
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x30f84
leaq 0x26434(%rip), %rax     # 0x57180
testb $0x30, (%rax)
je 0x30f84
movq %rdi, %r14
movzwl (%rdi), %eax
cmpl $0x202, %eax            # imm = 0x202
je 0x30e22
cmpl $0x102, %eax            # imm = 0x102
je 0x30df3
cmpl $0x103, %eax            # imm = 0x103
je 0x30dee
cmpl $0x201, %eax            # imm = 0x201
je 0x30dbb
cmpl $0x101, %eax            # imm = 0x101
jne 0x30f84
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x9, %rax
ja 0x30ee9
leaq 0x18a7a(%rip), %rcx     # 0x49820
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x18f7b(%rip), %rdi     # 0x49d31
jmp 0x30f74
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x4, %rax
ja 0x30e84
leaq 0x189e7(%rip), %rcx     # 0x497c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x18fe4(%rip), %rdi     # 0x49dcd
jmp 0x30f74
cmpl $0x3, %esi
jne 0x30e52
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x5, %rax
ja 0x30e84
leaq 0x189fb(%rip), %rcx     # 0x49808
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xf9f3(%rip), %rdi      # 0x40810
jmp 0x30f74
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x2, %rax
je 0x30eb9
cmpq $0x1, %rax
je 0x30ead
testq %rax, %rax
jne 0x30efa
leaq 0x1855c(%rip), %rdi     # 0x493a9
jmp 0x30f74
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
decq %rax
cmpq $0xc, %rax
ja 0x30e84
leaq 0x18965(%rip), %rcx     # 0x497d4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x12ae5(%rip), %rdi     # 0x43964
jmp 0x30f74
leaq 0x15f8e(%rip), %rdi     # 0x46e19
callq 0x56e2
jmp 0x30f7d
leaq 0x18ee1(%rip), %rdi     # 0x49d7d
jmp 0x30f74
leaq 0x18ec8(%rip), %rdi     # 0x49d70
jmp 0x30f74
leaq 0x13813(%rip), %rdi     # 0x446c7
jmp 0x30f74
leaq 0x17cc2(%rip), %rdi     # 0x48b82
jmp 0x30f74
leaq 0x18ec7(%rip), %rdi     # 0x49d93
jmp 0x30f74
leaq 0x18eaf(%rip), %rdi     # 0x49d87
jmp 0x30f74
leaq 0x18ebc(%rip), %rdi     # 0x49da0
jmp 0x30f74
cmpq $0x84, %rax
jne 0x30efa
leaq 0x18e5d(%rip), %rdi     # 0x49d55
jmp 0x30f74
leaq 0x15f18(%rip), %rdi     # 0x46e19
callq 0x56e2
xorl %ebx, %ebx
jmp 0x30f7d
leaq 0x18ece(%rip), %rdi     # 0x49ddf
jmp 0x30f74
leaq 0x18eb8(%rip), %rdi     # 0x49dd2
jmp 0x30f74
leaq 0x18e16(%rip), %rdi     # 0x49d39
jmp 0x30f74
leaq 0x1817c(%rip), %rdi     # 0x490a8
jmp 0x30f74
leaq 0x18e11(%rip), %rdi     # 0x49d46
jmp 0x30f74
leaq 0x18e0e(%rip), %rdi     # 0x49d4c
jmp 0x30f74
leaq 0x18e72(%rip), %rdi     # 0x49db9
jmp 0x30f74
leaq 0x17496(%rip), %rdi     # 0x483e6
jmp 0x30f74
leaq 0x18804(%rip), %rdi     # 0x4975d
jmp 0x30f74
leaq 0x18e61(%rip), %rdi     # 0x49dc3
jmp 0x30f74
leaq 0x187ea(%rip), %rdi     # 0x49755
jmp 0x30f74
leaq 0x18e3b(%rip), %rdi     # 0x49daf
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x8fa0
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x16a4f