// File: /workspace/github_c_makefile_star2_O3/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 0x329ed
leaq 0x259db(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x329ed
movq %rdi, %r14
movzwl (%rdi), %eax
cmpl $0x102, %eax            # imm = 0x102
jle 0x3280c
cmpl $0x103, %eax            # imm = 0x103
je 0x3281f
cmpl $0x201, %eax            # imm = 0x201
je 0x3285b
cmpl $0x202, %eax            # imm = 0x202
jne 0x329ed
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x2, %rax
je 0x32922
cmpq $0x1, %rax
je 0x32916
testq %rax, %rax
jne 0x32963
leaq 0x18bf2(%rip), %rdi     # 0x4b3f9
jmp 0x329dd
cmpl $0x101, %eax            # imm = 0x101
je 0x3288a
cmpl $0x102, %eax            # imm = 0x102
je 0x32828
jmp 0x329ed
cmpl $0x3, %esi
jne 0x328bb
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x5, %rax
ja 0x328ed
leaq 0x19012(%rip), %rcx     # 0x4b858
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xffba(%rip), %rdi      # 0x42810
jmp 0x329dd
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x4, %rax
ja 0x328ed
leaq 0x18f9b(%rip), %rcx     # 0x4b810
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x19598(%rip), %rdi     # 0x4be1d
jmp 0x329dd
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x9, %rax
ja 0x32952
leaq 0x18fca(%rip), %rcx     # 0x4b870
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x194cb(%rip), %rdi     # 0x4bd81
jmp 0x329dd
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
decq %rax
cmpq $0xc, %rax
ja 0x328ed
leaq 0x18f4c(%rip), %rcx     # 0x4b824
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x130c0(%rip), %rdi     # 0x459a8
jmp 0x329dd
leaq 0x16575(%rip), %rdi     # 0x48e69
callq 0x5c26
jmp 0x329e6
leaq 0x194c8(%rip), %rdi     # 0x4bdcd
jmp 0x329dd
leaq 0x194af(%rip), %rdi     # 0x4bdc0
jmp 0x329dd
leaq 0x13dfa(%rip), %rdi     # 0x46717
jmp 0x329dd
leaq 0x182a9(%rip), %rdi     # 0x4abd2
jmp 0x329dd
leaq 0x194ae(%rip), %rdi     # 0x4bde3
jmp 0x329dd
leaq 0x19496(%rip), %rdi     # 0x4bdd7
jmp 0x329dd
leaq 0x194a3(%rip), %rdi     # 0x4bdf0
jmp 0x329dd
cmpq $0x84, %rax
jne 0x32963
leaq 0x19444(%rip), %rdi     # 0x4bda5
jmp 0x329dd
leaq 0x164ff(%rip), %rdi     # 0x48e69
callq 0x5c26
xorl %ebx, %ebx
jmp 0x329e6
leaq 0x194b5(%rip), %rdi     # 0x4be2f
jmp 0x329dd
leaq 0x1949f(%rip), %rdi     # 0x4be22
jmp 0x329dd
leaq 0x1940a(%rip), %rdi     # 0x4bd96
jmp 0x329dd
leaq 0x19407(%rip), %rdi     # 0x4bd9c
jmp 0x329dd
leaq 0x193eb(%rip), %rdi     # 0x4bd89
jmp 0x329dd
leaq 0x18751(%rip), %rdi     # 0x4b0f8
jmp 0x329dd
leaq 0x19459(%rip), %rdi     # 0x4be09
jmp 0x329dd
leaq 0x18df4(%rip), %rdi     # 0x4b7ad
jmp 0x329dd
leaq 0x19451(%rip), %rdi     # 0x4be13
jmp 0x329dd
leaq 0x17a6b(%rip), %rdi     # 0x4a436
jmp 0x329dd
leaq 0x18dd1(%rip), %rdi     # 0x4b7a5
jmp 0x329dd
leaq 0x19422(%rip), %rdi     # 0x4bdff
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x971e
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x17a82