Exemple #1
0
int
agfa_model_number(char *model,char *software)
{
    struct camera_id *model_id;
    int number = NO_MODEL;

    for(model_id = &agfa_model_id[0]; model_id && model_id->name; ++model_id)
    {
        if(strncasecmp(model,model_id->name,model_id->namelen) == 0)
        {
            number = model_id->id;
            setnoteversion(model_id->noteversion);
            setnotetagset(model_id->notetagset);    /* info only      */
            break;
        }
    }
    return(number);
}
Exemple #2
0
char *
maker_asahi2_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    /* This is the same as Casio note version 2                       */
    switch(tag)
    {
        case 0x0002: tagname = "JpegThumbnailDimensions"; break;
        case 0x0003: tagname = "JpegThumbnailLength"; break;
        case 0x0004: tagname = "JpegThumbnailOffset"; break;
        case 0x0008: tagname = "QualityMode"; break;
        case 0x0009: tagname = "ImageSize"; break;
        case 0x000D: tagname = "FocusMode"; break;
        case 0x0014: tagname = "IsoSensitivity"; break;
        case 0x0019: tagname = "WhiteBalance"; break;
        case 0x001D: tagname = "FocalLength"; break; /* units .1mm   */
        case 0x001F: tagname = "Saturation"; break;
        case 0x0020: tagname = "Contrast"; break;
        case 0x0021: tagname = "Sharpness"; break;
        case 0x2000: tagname = "JpegThumbnail"; break;
        case 0x2011: tagname = "WhiteBalanceBias"; break;
        case 0x2012: tagname = "WhiteBalance"; break;
        case 0x2022: tagname = "ObjectDistance"; break;
        case 0x2034: tagname = "FlashDistance"; break;
        case 0x3000: tagname = "RecordMode"; break;
        case 0x3001: tagname = "SelfTimer?"; break;
        case 0x3002: tagname = "Quality"; break;
        case 0x3003: tagname = "FocusMode"; break;
        case 0x3006: tagname = "TimeZone"; break;
        case 0x3007: tagname = "BestshotMode"; break;
        case 0x3014: tagname = "CCDSensitivity"; break;
        case 0x3015: tagname = "ColorMode"; break;
        case 0x3016: tagname = "Enhancement"; break;
        case 0x3017: tagname = "Filter"; break;
        default: break;
    }
    setnotetagset(2);
    return(tagname);
}
Exemple #3
0
char *
maker_agfa1_tagname(unsigned short tag)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0100: tagname = "JpegThumbnail"; break;
        case 0x0200: tagname = "SpecialMode"; break;
        case 0x0201: tagname = "Quality"; break;
        case 0x0202: tagname = "Macro"; break;
        case 0x0204: tagname = "DigitalZoom"; break;
        case 0x0207: tagname = "SoftwareRelease"; break;
        case 0x0208: tagname = "PictureInfo"; break;
        case 0x0209: tagname = "CameraID"; break;
        case 0x020b: tagname = "ImageWidth"; break; /* ? */
        case 0x020c: tagname = "ImageHeight"; break; /* ? */
        case 0x0f00: tagname = "Data"; break;
        default: break;
    }
    setnotetagset(1);
    return(tagname);
}
Exemple #4
0
char *
maker_asahi3_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0001: tagname = "CaptureMode"; break;
        case 0x0002: tagname = "JpegThumbnailDimensions"; break;
        case 0x0003: tagname = "JpegThumbnailLength"; break;
        case 0x0004: tagname = "JpegThumbnailOffset"; break;
        case 0x0006: tagname = "Date"; break;
        case 0x0007: tagname = "Time"; break;
        case 0x0008: tagname = "QualityMode"; break;
        case 0x0009: tagname = "ImageSize"; break;
        case 0x000B: tagname = "PictureMode"; break;
        case 0x000D: tagname = "FocusMode"; break;
        case 0x0014: tagname = "IsoSensitivity"; break;
        case 0x0017: tagname = "MeteringMode"; break;
        case 0x0019: tagname = "WhiteBalance"; break;
        case 0x001D: tagname = "FocalLength"; break;
        case 0x001E: tagname = "DigitalZoom"; break;
        case 0x001F: tagname = "Saturation"; break;
        case 0x0020: tagname = "Contrast"; break;
        case 0x0021: tagname = "Sharpness"; break;
        case 0x0029: tagname = "FrameNumber"; break;
        case 0x0039: tagname = "RawImageSize"; break;
        case 0x003F: tagname = "LensType"; break;
        case 0x0200: tagname = "BlackPoint"; break;
        case 0x0201: tagname = "WhitePoint"; break;
        case 0x0402: tagname = "ToneCurve"; break;
        case 0x0403: tagname = "ToneCurves"; break;
        default: break;
    }
    setnotetagset(3);
    return(tagname);
}
Exemple #5
0
char *
maker_agfa_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;
    int noteversion = 0;

    /* Should have to do this only once, and only for unrecognized    */
    /* models. If the model is recognized (or the user has forced a   */
    /* noteversion) noteversion will already be set.                  */
    if((noteversion = getnoteversion()) == 0)
    {
        noteversion = 1;
        setnoteversion(1);
    }

    switch(noteversion)
    {
        case 1:
            tagname = maker_agfa1_tagname(tag);
            break;
        default:
            setnotetagset(noteversion); /* for info only              */
            break;
    }

    /* If no model-specific tag is found, check "generic" tags        */
    if(tagname == NULL)
    {
        switch(tag)
        {
            case 0x0e00: tagname = "PrintIM"; break;
            default: break;
        }
    }
    return(tagname);
}
Exemple #6
0
int
set_asahi_noteversion()
{
    struct maker_scheme *scheme;
    int noteversion = 0;
    int tagset = 0;

    scheme = retrieve_makerscheme();
    if(scheme->note_version <= 0)
    {
        switch(scheme->scheme_type)
        {
            case HAS_ID_SCHEME:
                if(scheme->first_entry.tag == 0x1)
                {
                    tagset = 3;
                    noteversion = 3;
                }
                else
                {
                    tagset = 2;
                    noteversion = 2;
                }
                break;
            case PLAIN_IFD_SCHEME:
                tagset = 1;
                noteversion = 1;
                break;
        }
        setnotetagset(tagset);
        setnoteversion(noteversion);
    }
    else
        noteversion = scheme->note_version;
    return(noteversion);
}
Exemple #7
0
char *
maker_asahi1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0001: tagname = "CaptureMode"; break;
        case 0x0002: tagname = "Quality"; break;
        case 0x0003: tagname = "FocusMode"; break;
        case 0x0004: tagname = "FlashMode"; break;
        case 0x0007: tagname = "WhiteBalance"; break;
        case 0x000a: tagname = "DigitalZoom"; break;
        case 0x000b: tagname = "Sharpness"; break;
        case 0x000c: tagname = "Contrast"; break;
        case 0x000d: tagname = "Saturation"; break;
        case 0x0014: tagname = "ISOSpeedSetting"; break;
        case 0x0017: tagname = "Color"; break;
        case 0x1000: tagname = "TimeZone"; break;
        case 0x1001: tagname = "DaylightSavings"; break;
    }
    setnotetagset(1);
    return(tagname);
}