forked from KolibriOS/kolibrios
rename 2 functions,
add new function 'exif_get_tag_id' git-svn-id: svn://kolibrios.org@6322 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -928,8 +928,10 @@ endp
|
||||
; num - <20><><EFBFBD>浪<EFBFBD><EFA4AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⥣<> (<28><>稭<EFBFBD><E7A8AD><EFBFBD><EFBFBD><EFBFBD> <20> 1)
|
||||
; txt - 㪠<><E3AAA0>⥫<EFBFBD> <20><> ⥪<><E2A5AA>, <20>㤠 <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||
; t_max - <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||||
;output:
|
||||
; txt - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>⮬ <20> <20><><EFBFBD><EFBFBD> "<22><>ࠬ<EFBFBD><E0A0AC><EFBFBD>: <20><><EFBFBD>祭<EFBFBD><E7A5AD>", <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||||
align 4
|
||||
proc exif_get_app1_tag, app1:dword, num:dword, txt:dword, t_max:dword
|
||||
proc exif_get_tag, app1:dword, num:dword, txt:dword, t_max:dword
|
||||
pushad
|
||||
mov eax,[app1]
|
||||
mov edi,[txt]
|
||||
@@ -967,6 +969,55 @@ popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; app1 - 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> exif.app1
|
||||
; id - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> ⥣<> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD>ண<EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
; txt - 㪠<><E3AAA0>⥫<EFBFBD> <20><> ⥪<><E2A5AA>, <20>㤠 <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||
; t_max - <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||||
;output:
|
||||
; txt - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>⮬ <20> <20><><EFBFBD><EFBFBD> "<22><>ࠬ<EFBFBD><E0A0AC><EFBFBD>: <20><><EFBFBD>祭<EFBFBD><E7A5AD>", <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||||
align 4
|
||||
proc exif_get_tag_id, app1:dword, id:dword, txt:dword, t_max:dword
|
||||
pushad
|
||||
mov eax,[app1]
|
||||
mov edi,[txt]
|
||||
|
||||
xor edx,edx
|
||||
mov byte[edi],dl
|
||||
cmp [eax],edx
|
||||
je .end_f ;<3B> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> exif.app1
|
||||
|
||||
mov ebx,[id]
|
||||
movzx edx,word[eax+offs_m_or_i] ;if 'MM' edx=1
|
||||
bt edx,0
|
||||
jnc @f
|
||||
ror bx,8
|
||||
@@:
|
||||
|
||||
;<3B><>६ <20><> ⥣<><E2A5A3>
|
||||
mov eax,[eax]
|
||||
movzx ecx,word[eax]
|
||||
bt edx,0
|
||||
jnc @f
|
||||
ror cx,8
|
||||
@@:
|
||||
;<3B> ecx - <20><> ⥣<><E2A5A3>
|
||||
|
||||
;<3B>饬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥣
|
||||
add eax,offs_tag_0
|
||||
.cycle_0:
|
||||
cmp word[eax],bx ;word[eax+0] - <20><><EFBFBD> ⥣<>
|
||||
je @f
|
||||
add eax,tag_size
|
||||
loop .cycle_0
|
||||
jmp .end_f
|
||||
@@:
|
||||
stdcall read_tag_value,[app1],[t_max]
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; app1 - 㪠<><E3AAA0>⥫<EFBFBD> <20><> exif.app1 <20><><EFBFBD> <20><> exif.app1.child
|
||||
; child - 㪠<><E3AAA0>⥫<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD>୨<EFBFBD> ⥣<><E2A5A3> exif.app1.child
|
||||
@@ -974,7 +1025,7 @@ endp
|
||||
;output:
|
||||
; child - 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD>୨<EFBFBD> ⥣<><E2A5A3>
|
||||
align 4
|
||||
proc exif_get_app1_child, app1:dword, child:dword , c_tag:dword
|
||||
proc exif_get_child, app1:dword, child:dword , c_tag:dword
|
||||
pushad
|
||||
mov eax,[app1]
|
||||
mov edi,[child]
|
||||
@@ -1106,11 +1157,11 @@ pushad
|
||||
|
||||
.suport:
|
||||
;<3B><>室<EFBFBD><E5AEA4> ⥣ 0x8769 (<28><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Exif)
|
||||
stdcall exif_get_app1_child, eax,edi,0x8769
|
||||
stdcall exif_get_child, eax,edi,0x8769
|
||||
cmp dword[edi],0
|
||||
je .no_suport
|
||||
;<3B><>室<EFBFBD><E5AEA4> ⥣ 0x927c (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Maker <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
stdcall exif_get_app1_child, edi,edi, 0x927c
|
||||
stdcall exif_get_child, edi,edi, 0x927c
|
||||
cmp dword[edi],0
|
||||
je .no_suport
|
||||
|
||||
@@ -1673,11 +1724,14 @@ align 4
|
||||
align 16
|
||||
EXPORTS:
|
||||
dd sz_exif_get_app1, exif_get_app1
|
||||
dd sz_exif_get_app1_tag, exif_get_app1_tag
|
||||
dd sz_exif_get_app1_child, exif_get_app1_child
|
||||
dd sz_exif_get_app2, exif_get_app2
|
||||
dd sz_exif_get_tag, exif_get_tag
|
||||
dd sz_exif_get_tag_id, exif_get_tag_id
|
||||
dd sz_exif_get_child, exif_get_child
|
||||
dd 0,0
|
||||
sz_exif_get_app1 db 'exif_get_app1',0
|
||||
sz_exif_get_app1_tag db 'exif_get_app1_tag',0
|
||||
sz_exif_get_app1_child db 'exif_get_app1_child',0
|
||||
sz_exif_get_app2 db 'exif_get_app2',0
|
||||
sz_exif_get_tag db 'exif_get_tag',0
|
||||
sz_exif_get_tag_id db 'exif_get_tag_id',0
|
||||
sz_exif_get_child db 'exif_get_child',0
|
||||
|
||||
|
Reference in New Issue
Block a user