// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_minolta.c
// Function: maker_minolta1_tagname
char *
maker_minolta1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    /* The Minolta MakerNote of TIFF format images have a JPEG        */
    /* thumbnail with a defective SOI marker (0x00f8). In fact,       */
    /* Minolta JPEG_SOI is often missing the high "0xff".             */

    if(tagname == NULL)
    {
        switch(tag)
        {
            case 0x0000: tagname = "Version"; break;
            case 0x0001: tagname = "CameraSettings"; break;
            case 0x0003: tagname = "CameraSettings"; break;
            case 0x0040: tagname = "ImageByteSize"; break;
            case 0x0081: tagname = "JpegThumbnail"; break;
            case 0x0088: tagname = "JpegThumbnailOffset"; break;
            case 0x0089: tagname = "JpegThumbnailLength"; break;
            case 0x0101: tagname = "ColorMode"; break;
            case 0x0102: tagname = "ImageQuality"; break;
            case 0x0103: if(model == MINOLTA_DIMAGE7Hi)
                              tagname = "ImageQuality";
                         else
                              tagname = "ImageSize";
                         break;
            /* The following tagname appears valid for at least the   */
            /* F200, thanks to Harald Puhl (h.puhl@ki-ag.com)         */
            case 0x0104: tagname = "FlashCompensation"; break;
            case 0x0200: tagname = "SpecialMode"; break;

    /* The following tag names appear valid for the F100 and "X" but  */
    /* do not appear to be used for any other Minolta model. They are */
    /* essentially the Sanyo tag set, used here based upon guesswork; */
    /* some Minolta and Sanyo cameras are said to use the same chip,  */
    /* and some F100 and "X" images I've seen contain almost exactly  */
    /* this set of tags (as described by John Hawkins for Sanyo       */
    /* DSC-MZ2 notes). The Quality, Macro, SpecialMode and PrintIM    */
    /* tags are reasonably certain to be correct (they "decode"       */
    /* properly). The remaining names are less certain, and no        */
    /* attempt is made to decode them in minolta1_interpret_value()/  */

            case 0x0201: tagname = "Quality"; break;
            case 0x0202: tagname = "Macro"; break;
            case 0x0204: tagname = "DigiZoom"; break;
            case 0x0207: tagname = "SoftwareRelease"; break;
            case 0x0208: tagname = "PictInfo"; break;
            case 0x0209: tagname = "CameraID"; break;
            case 0x020e: tagname = "SeqShotMethod"; break;
            case 0x020f: tagname = "WideRange"; break;
            case 0x0210: tagname = "ColorAdjMode"; break;
            case 0x0213: tagname = "QuickShot"; break;
            case 0x0214: tagname = "SelfTimer"; break;
            case 0x0216: tagname = "VoiceMemo"; break;
            case 0x0217: tagname = "RecordShutterRel"; break;
            case 0x0218: tagname = "FlickerReduce"; break;
            case 0x0219: tagname = "OpticalZoom"; break;
            case 0x021b: tagname = "DigitalZoom"; break;
            case 0x021d: tagname = "LightSourceSpecial"; break;
            case 0x021e: tagname = "Resaved"; break;
            case 0x021f: tagname = "SceneSelect"; break;
            case 0x0223: tagname = "ManualFocusDist"; break; /* ###%%% not seen */
            case 0x0224: tagname = "SeqShotIntvl"; break; /* ###%%% not seen */
            case 0x0225: tagname = "FlashMode"; break; /* ###%%% not seen */
            case 0x0e00: tagname = "PrintIM"; break;
            case 0x0f00: tagname = "Data"; break;
            default: break;
        }
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
cmpl $0x1ff, %edi            # imm = 0x1FF
jle 0x34719
leal -0x200(%rdi), %eax
cmpl $0x25, %eax
ja 0x3478c
leaq 0x173e0(%rip), %rcx     # 0x4bae4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x15ee4(%rip), %rbx     # 0x4a5f8
jmp 0x34915
cmpl $0x87, %edi
jg 0x3474c
cmpl $0x2, %edi
jle 0x34773
cmpl $0x3, %edi
je 0x34780
cmpl $0x40, %edi
je 0x347d4
cmpl $0x81, %edi
jne 0x34915
leaq 0xf81e(%rip), %rbx      # 0x43f65
jmp 0x34915
leal -0x101(%rdi), %eax
cmpl $0x3, %eax
ja 0x347b0
leaq 0x17376(%rip), %rcx     # 0x4bad4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x14e91(%rip), %rbx     # 0x495ff
jmp 0x34915
testl %edi, %edi
je 0x347e0
cmpl $0x1, %edi
jne 0x34915
leaq 0xf701(%rip), %rbx      # 0x43e88
jmp 0x34915
cmpl $0xe00, %edi            # imm = 0xE00
je 0x348dc
cmpl $0xf00, %edi            # imm = 0xF00
jne 0x34915
leaq 0x10166(%rip), %rbx     # 0x44911
jmp 0x34915
cmpl $0x88, %edi
je 0x3490e
cmpl $0x89, %edi
jne 0x34915
leaq 0x16ecd(%rip), %rbx     # 0x4b69c
jmp 0x34915
leaq 0x17475(%rip), %rbx     # 0x4bc50
jmp 0x34915
leaq 0xeb13(%rip), %rbx      # 0x432fa
jmp 0x34915
leaq 0x174df(%rip), %rbx     # 0x4bcd2
jmp 0x34915
leaq 0x15e15(%rip), %rbx     # 0x4a614
jmp 0x34915
leaq 0x174e6(%rip), %rbx     # 0x4bcf1
jmp 0x34915
leaq 0x1746f(%rip), %rbx     # 0x4bc86
jmp 0x34915
leaq 0x1749b(%rip), %rbx     # 0x4bcbe
jmp 0x34915
leaq 0x17499(%rip), %rbx     # 0x4bcc8
jmp 0x34915
leaq 0x174a8(%rip), %rbx     # 0x4bce3
jmp 0x34915
leaq 0x17456(%rip), %rbx     # 0x4bc9d
jmp 0x34915
leaq 0x174d1(%rip), %rbx     # 0x4bd24
jmp 0x34915
leaq 0x17404(%rip), %rbx     # 0x4bc63
jmp 0x34915
leaq 0x17412(%rip), %rbx     # 0x4bc7d
jmp 0x34915
leaq 0x15db7(%rip), %rbx     # 0x4a62e
jmp 0x34915
leaq 0x11e54(%rip), %rbx     # 0x466d7
jmp 0x34915
leaq 0x1746e(%rip), %rbx     # 0x4bcfd
jmp 0x34915
leaq 0x1747d(%rip), %rbx     # 0x4bd18
jmp 0x34915
leaq 0x173eb(%rip), %rbx     # 0x4bc8f
jmp 0x34915
leaq 0x173fa(%rip), %rbx     # 0x4bca7
jmp 0x34915
leaq 0x173fe(%rip), %rbx     # 0x4bcb4
jmp 0x34915
leaq 0x17451(%rip), %rbx     # 0x4bd10
jmp 0x34915
leaq 0x15842(%rip), %rbx     # 0x4a10a
jmp 0x34915
leaq 0x161e1(%rip), %rbx     # 0x4aab2
jmp 0x34915
leaq 0x1745a(%rip), %rbx     # 0x4bd34
jmp 0x34915
leaq 0xe9df(%rip), %rbx      # 0x432c2
jmp 0x34915
cmpl $0x3, %esi
leaq 0x1736f(%rip), %rax     # 0x4bc5e
leaq 0x19d59(%rip), %rbx     # 0x4e64f
cmoveq %rax, %rbx
jmp 0x34915
leaq 0x17368(%rip), %rbx     # 0x4bc6b
jmp 0x34915
leaq 0x17352(%rip), %rbx     # 0x4bc5e
jmp 0x34915
leaq 0x16d9b(%rip), %rbx     # 0x4b6b0
movl $0x1, %edi
callq 0x1bff7
movq %rbx, %rax
popq %rbx
retq