- Move source code from `trunk` into root directory for each library. - Update build files and ASM include paths. Add SPDX license header where appropriate. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. (Work towards #75, point 3) Reviewed-on: KolibriOS/kolibrios#436 Reviewed-by: Burer <burer@kolibrios.org> Reviewed-by: Ivan B <1+dunkaist@noreply.localhost> Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com> Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
160 lines
6.2 KiB
HTML
160 lines
6.2 KiB
HTML
<html>
|
|
<head>
|
|
<title>сшсышюЄхър фы яюыєўхэш шэЇюЁьрЎшш шч ЇюЁьрЄр Exif</title>
|
|
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
|
|
<style>
|
|
body
|
|
{
|
|
font-size: 15px;
|
|
font-family: "Bookman Old Style";
|
|
color: black;
|
|
text-align: justify;
|
|
}
|
|
h1 { color: green; font-size: 23px; }
|
|
h2 { color: green; font-size: 21px; }
|
|
h3 { color: green; font-size: 19px; }
|
|
h4 { color: #803f00; font-size: 17px; }
|
|
i { color: #0099cc; }
|
|
b { color: #0099cc; }
|
|
p {
|
|
text-indent: 1em;
|
|
margin-top: 3px;
|
|
margin-bottom: 2px;
|
|
margin-left: 0px;
|
|
margin-right: 0px;
|
|
}
|
|
ol, ul, dl{
|
|
margin-top: 3px;
|
|
margin-bottom: 2px;
|
|
}
|
|
pre
|
|
{
|
|
padding: 2px;
|
|
padding-left: 20px;
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
margin-left: 0px;
|
|
margin-right: 0px;
|
|
font-family: "Courier New";
|
|
font-size: 15px;
|
|
color: #004000;
|
|
background-color: #ffd0ff;
|
|
}
|
|
table { font-size: 15px; }
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>╬уыртыхэшх</h1>
|
|
<ul>
|
|
<li>┬ёЄєяыхэшх</li>
|
|
<li><a href="#fun">╘єэъЎшш</a></li>
|
|
<ul>
|
|
<li><a href="#f_1">exif_get_app1</a></li>
|
|
<li><a href="#f_2">exif_get_tag</a></li>
|
|
<li><a href="#f_5">exif_get_tag_id</a></li>
|
|
<li><a href="#f_3">exif_get_child</a></li>
|
|
<li><a href="#f_4">exif_get_app2</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#const">╩юэёЄрэЄ√ фы ЇєэъЎшш exif_get_child</a></li>
|
|
<li><a href="#tabl_e">╥рсышЎр ¤ъёяюЁЄр</a></li>
|
|
<li><a href="#hist">╚ёЄюЁш </a></li>
|
|
</ul>
|
|
|
|
<h1>┬ёЄєяыхэшх</h1>
|
|
<p>─юъєьхэЄрЎш ъ ётюсюфэющ сшсышюЄхъх <b>exif.obj</b>, фы <b>╬╤ ╩юышсЁш</b>.
|
|
▌Єр сшсышюЄхър ёючфрэр фы яЁюёьюЄЁр шэЇюЁьрЎшш эрїюф ∙хщё т шчюсЁрцхэш ї т ЇюЁьрЄх Exif. ╚эЇюЁьрЎш ¤Єр ёючфрхЄё ЎшЇЁют√ьш ЇюЄюърьхЁрьш ш ёюфхЁцшЄ Ёрчэ√х ярЁрьхЄЁ√ эряЁшьхЁ Єръшх ъръ: эрчтрэшх ЇшЁь√ яЁюшчтюфшЄхы , ьюфхы№ ърьхЁ√, ш Є.ф.</p>
|
|
|
|
<p>╧юёыхфэхх юсэютыхэшх сшсышюЄхъш 23.07.14.</p>
|
|
|
|
<h1><a name="fun">╘єэъЎшш</a></h1>
|
|
|
|
<p>╘єэъЎшш ЁрсюЄр■Є ё єърчрЄхы ьш эр ёЄЁєъЄєЁ√ app1 шыш эр app1_child. ╧ЁшьхЁ ёЄЁєъЄєЁ√:</p>
|
|
<pre>align 4
|
|
h_app1:
|
|
dd 0 ;+0 єърчрЄхы№ эр ъюышўхёЄтю Єхуют ш эр ёрьш Єхуш
|
|
dd 0 ;+4 ёьх∙хэшх фюсрты хьюх ъ єърчрЄхы ь т Єхурї
|
|
dw 0 ;+8 ярЁрьхЄЁ, юЄтхўр■∙шщ чр яюЁ фюъ ёыхфютрэш срщЄют</pre>
|
|
dw 0 ;+10 шфхэЄшЇшърЄюЁ фы уЁєяя√ Єхуют</pre>
|
|
|
|
<h4><a name="f_1">exif_get_app1</a></h4>
|
|
<p>▌Єр ЇєэъЎш ш∙хЄ эрўрыю Exif фрээ√ї. ┼ёыш юэш эрщфхэ√ Єю чряюыэ хЄё ёЄЁєъЄєЁр app1. ┼ёыш эх эрщфхэ√, Єю яхЁт√щ ярЁрьхЄЁ т ёЄЁєъЄєЁх фхырхЄё Ёртэ√ь 0. ╧ЁшьхЁ:</p>
|
|
<pre>stdcall [exif_get_app1], [open_file],h_app1
|
|
...
|
|
h_app1 rb 14</pre>
|
|
<p>уфх open_file - єърчрЄхы№ эр фрээ√х Їрщыр шчюсЁрцхэш (яюър яюффхЁцштр■Єё Єюы№ъю *.jpg ш *.jpeg).</p>
|
|
<p>h_app1 - ёЄЁєъЄєЁр фы чряюьшэрэш эрўрыр Exif фрээ√ї.</p>
|
|
|
|
<h4><a name="f_2">exif_get_tag</a></h4>
|
|
<p>╟ряюыэ хЄ ЄхъёЄютє■ ёЄЁюъє шьхэхь ярЁрьхЄЁр шч Exif ш хую чэрўхэшхь. ╧ЁшьхЁ:</p>
|
|
<pre>stdcall [exif_get_tag], h_app1,3,txt_buf,80
|
|
...
|
|
h_app1 rb 14
|
|
txt_buf rb 80</pre>
|
|
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр т exif_get_app1 шыш т exif_get_child.</p>
|
|
<p>3 - яюЁ фъют√щ эюьхЁ ярЁрьхЄЁр.</p>
|
|
<p>txt_buf - ЄхъёЄют√щ сєЇхЁ фы чряюыэхэш .</p>
|
|
<p>80 - ьръёшьры№эр фышэр ЄхъёЄр.</p>
|
|
|
|
<h4><a name="f_5">exif_get_tag_id</a></h4>
|
|
<p>╟ряюыэ хЄ ЄхъёЄютє■ ёЄЁюъє шьхэхь ярЁрьхЄЁр шч Exif ш хую чэрўхэшхь. ╧ЁшьхЁ:</p>
|
|
<pre>stdcall [exif_get_tag_id], h_app1,0x010f,txt_buf,80
|
|
...
|
|
h_app1 rb 14
|
|
txt_buf rb 80</pre>
|
|
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр т exif_get_app1 шыш т exif_get_child.</p>
|
|
<p>0x010f - ъюф Єхур т ъюЄюЁюь ёюфхЁцшЄё эрчтрэшх яЁюшчтюфшЄхы ърьхЁ√.</p>
|
|
<p>txt_buf - ЄхъёЄют√щ сєЇхЁ фы чряюыэхэш .</p>
|
|
<p>80 - ьръёшьры№эр фышэр ЄхъёЄр.</p>
|
|
|
|
<h4><a name="f_3">exif_get_child</a></h4>
|
|
<p>┼ёЄ№ яЁюёЄ√х Єхуш ё шэЇюЁьрЎшхщ р хёЄ№ Єхуш єърч√тр■∙шх эр ёяшёъш фЁєушї Єхуют. ▌Єр ЇєэъЎш схЁхЄ єърчрЄхы№ эр эрўрыю ёяшёър фюўхЁэшї Єхуют. ╧ЁшьхЁ:</p>
|
|
<pre>stdcall [exif_get_child], h_app1,h_child,0x8769
|
|
...
|
|
h_app1 rb 14
|
|
h_child rb 14</pre>
|
|
<p>уфх h_app1 - ёЄЁєъЄєЁр чряюыхээр т exif_get_app1 шыш т exif_get_child.</p>
|
|
<p>h_child - ёЄЁєъЄєЁр фы чряюыхэш фрээ√ї ёяшёър фюўхЁэшї Єхуют.</p>
|
|
<p>0x8769 - ъюф Єхур (эрїюф ∙хуюё т ёяшёъх Єхуют h_app1), ъюЄюЁ√щ ты хЄё єърчрЄхыхь эр ёяшёюъ фЁєушї фюўхЁэшї Єхуют.</p>
|
|
<p>┬ фрэюь яЁшьхЁх ЇєэъЎш схЁхЄ Єху 0x8769 ш я√ЄрхЄё эрщЄш хую т ёяшёъх h_app1, хёыш эрїюфшЄ Єю чряюыэ хЄ яю эхьє чэрўхэш т ёЄЁєъЄєЁх h_child. ─рыхх ъ ёяшёъє h_child ьюцэю яЁшьхэ Є№ ЇєэъЎш■ exif_get_tag фы тч Єш чэрўхэш ¤Єшї Єхуют. ╤ яюью∙№■ ¤Єющ ЇєэъЎшш ь√ ъръ с√ яхЁхїюфшь тэєЄЁ№ эхъющ "яряъш" ё Єхурьш, ъюЄюЁ√х ёЁрчє фюёЄрЄ№ эх ьюцхь.</p>
|
|
|
|
<h4><a name="f_4">exif_get_app2</a></h4>
|
|
<p>▌Єр ЇєэъЎш ш∙хЄ эрўрыю фрээ√ї Exif.app2. ┼ёыш юэш эрщфхэ√ Єю чряюыэ хЄё ёЄЁєъЄєЁр app2. ┼ёыш эх эрщфхэ√, Єю яхЁт√щ ярЁрьхЄЁ т ёЄЁєъЄєЁх фхырхЄё Ёртэ√ь 0. ╧ЁшьхЁ:</p>
|
|
<pre>stdcall [exif_get_app2], h_app1,h_app2
|
|
...
|
|
h_app1 rb 14
|
|
h_app2 rb 14</pre>
|
|
<p>уфх h_app1 - ёЄЁєъЄєЁр c фрээ√ьш Exif.app1, яЁхфтрЁшЄхы№эю чряюыэхээр ЇєэъЎшхщ exif_get_app1.</p>
|
|
<p>h_app2 - ёЄЁєъЄєЁр фы чряюьшэрэш эрўрыр фрээ√ї Exif.app2.</p>
|
|
|
|
<h1><a name="const">╩юэёЄрэЄ√ фы ЇєэъЎшш exif_get_child</a></h1>
|
|
<p>╟фхё№ яЁштхфхэ√ эхъюЄюЁ√х ъюэёЄрэЄ√, ъюЄюЁ√х ьюуєЄ шёяюы№чютрЄё ъръ 3-щ ярЁрьхЄЁ фы ЇєэъЎшш exif_get_child. ▌Єш ъюэёЄрэЄ√ юсючэрўр■Є ёяхЎшры№э√х Єхуш, ъюЄюЁ√х ёюфхЁцрЄ ёьх∙хэшх эр фюўхЁэшх ярЁрьхЄЁ√, ъюЄюЁ√х эрїюф Єё т Exif.</p>
|
|
<h4>0x8769</h4>
|
|
<p>╬сючэрўрхЄ фюяюыэшЄхы№э√х ярЁрьхЄЁ√ Exif.</p>
|
|
<h4>0x8825</h4>
|
|
<p>╬сючэрўрхЄ ярЁрьхЄЁ√ GPS.</p>
|
|
|
|
<h1><a name="tabl_e">╥рсышЎр ¤ъёяюЁЄр</a></h1>
|
|
<p>╧ЁшьхЁ ЄрсышЎ√ ¤ъёяюЁЄр, ЁрёўшЄрээющ эр шёяюы№чютрэшх ьръЁюёр <b>@use_library</b>:</p>
|
|
<pre>align 4
|
|
import_exif:
|
|
exif_get_app1 dd sz_exif_get_app1
|
|
exif_get_app2 dd sz_exif_get_app2
|
|
exif_get_tag dd sz_exif_get_tag
|
|
exif_get_tag_id dd sz_exif_get_tag_id
|
|
exif_get_child dd sz_exif_get_child
|
|
dd 0,0
|
|
sz_exif_get_app1 db 'exif_get_app1',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</pre>
|
|
|
|
<h1><a name="hist">╚ёЄюЁш </a></h1>
|
|
<p>15.07.14 - яхЁтр тхЁёш сшсышюЄхъш, яЁшьхЁ шёяюы№чютрэш .</p>
|
|
<p>23.07.14 - фюсртыхэр ЇєэъЎш exif_get_app2.</p>
|
|
<p>11.03.16 - фюсртыхэр ЇєэъЎш exif_get_tag_id, шчьхэхэ√ эрчтрэш эхъюЄюЁ√ї ЇєэъЎшщ (єсЁрэю app1 яюЄюьє ўЄю юэш ьюуєЄ ЁрсюЄрЄ№ эх Єюы№ъю ё app1).</p>
|
|
</body>
|
|
</html> |