52,10 → 52,6 |
dw 0x927c ;app2 ¤«ï Canon |
db 'Ca' |
dd gr_927c_Ca |
|
dw 0x927c ;app2 ¤«ï Samsung |
db 'Sa' |
dd gr_927c_Sa |
.end: |
|
align 4 |
823,59 → 819,6 |
|
dd 0 |
|
;¤ ë¥ app2 ¤«ï Samsung |
align 4 |
gr_927c_Sa: |
db 0x00,0x01,'MakerNoteVersion',0 |
db 0x00,0x02,'DeviceType',0 |
db 0x00,0x03,'SamsungModelID',0 |
db 0x00,0x21,'PictureWizard',0 |
db 0x00,0x30,'LocalLocationName',0 |
db 0x00,0x31,'LocationName',0 |
db 0x00,0x35,'PreviewIFD',0 |
db 0x00,0x43,'CameraTemperature',0 |
db 0x00,0x45,'RawCompressionMode',0 |
db 0x01,0x00,'FaceDetect',0 |
db 0x01,0x20,'FaceRecognition',0 |
db 0x01,0x23,'FaceName',0 |
db 0xa0,0x01,'FirmwareName',0 |
db 0xa0,0x03,'LensType',0 |
db 0xa0,0x04,'LensFirmware',0 |
db 0xa0,0x05,'InternalLensSerialNumber',0 |
db 0xa0,0x10,'SensorAreas',0 |
db 0xa0,0x11,'ColorSpace',0 |
db 0xa0,0x12,'SmartRange',0 |
db 0xa0,0x13,'ExposureCompensation',0 |
db 0xa0,0x14,'ISO',0 |
db 0xa0,0x18,'ExposureTime',0 |
db 0xa0,0x19,'FNumber',0 |
db 0xa0,0x1a,'FocalLengthIn35mmFormat',0 |
db 0xa0,0x20,'EncryptionKey',0 |
db 0xa0,0x21,'WB_RGGBLevelsUncorrected',0 |
db 0xa0,0x22,'WB_RGGBLevelsAuto',0 |
db 0xa0,0x23,'WB_RGGBLevelsIlluminator1',0 |
db 0xa0,0x24,'WB_RGGBLevelsIlluminator2',0 |
db 0xa0,0x28,'WB_RGGBLevelsBlack',0 |
db 0xa0,0x30,'ColorMatrix',0 |
db 0xa0,0x31,'ColorMatrixSRGB',0 |
db 0xa0,0x32,'ColorMatrixAdobeRGB',0 |
db 0xa0,0x33,'CbCrMatrixDefault',0 |
db 0xa0,0x34,'CbCrMatrix',0 |
db 0xa0,0x35,'CbCrGainDefault',0 |
db 0xa0,0x36,'CbCrGain',0 |
db 0xa0,0x40,'ToneCurveSRGBDefault',0 |
db 0xa0,0x41,'ToneCurveAdobeRGBDefault',0 |
db 0xa0,0x42,'ToneCurveSRGB',0 |
db 0xa0,0x43,'ToneCurveAdobeRGB',0 |
db 0xa0,0x48,'RawData?',0 |
db 0xa0,0x50,'Distortion?',0 |
db 0xa0,0x51,'ChromaticAberration?',0 |
db 0xa0,0x52,'Vignetting?',0 |
db 0xa0,0x53,'VignettingCorrection?',0 |
db 0xa0,0x54,'VignettingSetting?',0 |
|
dd 0 |
|
;input: |
; bof - 㪠§ ⥫ì ç «® ä ©« |
; app1 - 㪠§ â¥«ì ¤«ï § ¯®«¥¨ï exif.app1 |
1014,7 → 957,9 |
mov ebx,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
mov eax,[app1] |
add ebx,[eax+4] |
1076,7 → 1021,9 |
mov ebx,dword[eax+4] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
cmp ebx,4 |
jle .no_suport ; §¢ ¨¥ ¯à®¨§¢®¤¨â¥«ï ¬¥ìè¥ 4 ᨬ¢®«®¢, ¥ ¯®¤¤¥à¦¨ ¢ ¥âáï |
1084,7 → 1031,9 |
mov ebx,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
|
;¯à®¢¥àª ¯®¤¤¥à¦¨¢ ¥¬ëå ¯à®¨§¢®¤¨â¥«¥© |
1096,10 → 1045,6 |
je .suport |
cmp dword[ebx],'Pana' |
je .suport |
cmp dword[ebx],'SAMS' |
je .suport |
cmp dword[ebx],'sams' |
je .suport |
|
;¢á¥ ®áâ «ìë¥ ¥ ¯®¤¤¥à¦¨¢ îâáï |
jmp .no_suport |
1122,7 → 1067,6 |
sub eax,8 |
mov dword[edi+4],eax |
mov word[edi+offs_id_gr_mak],'Ni' |
jmp .end_f |
@@: |
cmp dword[ebx],'Pana' |
jne @f |
1129,29 → 1073,17 |
;for Panasonic |
add dword[edi],12 |
mov word[edi+offs_id_gr_mak],'Pa' |
jmp .end_f |
@@: |
cmp dword[ebx],'Cano' |
jne @f |
;for Canon |
mov word[edi+offs_id_gr_mak],'Ca' |
jmp .end_f |
@@: |
|
cmp dword[ebx],'SAMS' |
je @f |
cmp dword[ebx],'sams' |
je @f |
jmp .end_f |
@@: |
;for Samsung |
mov word[edi+offs_id_gr_mak],'Sa' |
jmp .end_f |
@@: |
|
jmp @f |
.no_suport: |
mov dword[edi],0 |
.end_f: |
@@: |
popad |
ret |
endp |
1283,7 → 1215,9 |
mov esi,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap esi |
ror si,8 |
ror esi,16 |
ror si,8 |
@@: |
mov eax,[app1] |
mov eax,[eax+4] |
1335,7 → 1269,9 |
mov esi,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap esi |
ror si,8 |
ror esi,16 |
ror si,8 |
@@: |
mov eax,[app1] |
mov eax,[eax+4] |
1380,7 → 1316,9 |
mov ebx,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
stdcall str_len,edi |
add edi,eax |
1405,7 → 1343,9 |
mov ebx,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
stdcall str_len,edi |
add edi,eax |
1415,7 → 1355,9 |
mov eax,[ebx] |
bt edx,0 |
jnc @f |
bswap eax |
ror ax,8 |
ror eax,16 |
ror ax,8 |
@@: |
stdcall convert_int_to_str, [t_max] ;áâ ¢¨¬ 1-¥ ç¨á«® |
stdcall str_n_cat,edi,txt_div,[t_max] ;áâ ¢¨¬ § ª ¤¥«¥¨ï |
1424,7 → 1366,9 |
mov eax,[ebx+4] |
bt edx,0 |
jnc @f |
bswap eax |
ror ax,8 |
ror eax,16 |
ror ax,8 |
@@: |
stdcall convert_int_to_str, [t_max] ;áâ ¢¨¬ 2-¥ ç¨á«® |
;.over4b_05: |
1489,7 → 1433,9 |
mov esi,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap esi |
ror si,8 |
ror esi,16 |
ror si,8 |
@@: |
mov eax,[app1] |
mov eax,[eax+4] |
1542,7 → 1488,9 |
mov ebx,dword[eax+8] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
stdcall str_len,edi |
add edi,eax |
1574,7 → 1522,9 |
mov ebx,dword[eax+4] |
bt edx,0 |
jnc @f |
bswap ebx |
ror bx,8 |
ror ebx,16 |
ror bx,8 |
@@: |
ret |
|
1657,6 → 1607,7 |
xor edx,edx ;®ç¨áâ¨âì edx |
div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
push edx ;¯®«®¦¨âì ¢ á⥪ |
;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
pop eax |
@@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |