From 41842068184dae1c90d2f12f8f07656d9cf5d69a Mon Sep 17 00:00:00 2001
From: Andrey Astafiev
-
-
-
-|
-
- íà÷àëî
-|
-
- íîâîñòè
-|
-
- ôàéëû
-|
-
- õàðàêòåðèñòèêè
-|
-
- öåëè
-|
-
- ôîðìàò
-|
-
-|
-
- id
-|
-
- ñðàâíåíèå
-|
-
- ðàçðàáîòêà
-|
-
- äîêóìåíòàöèÿ
-|
-
- ññûëêè
-|
-
- àâòîðû
-|
-
-|
-
- english
-|
-
- ðóññêèé
-|
FLAC - ýòî îòêðûòûé ïðîåêò è íàì áóäåò î÷åíü ïðèÿòíî, åñëè êòî-ëèáî çàõî÷åò ê íàì ïðèñîåäèíèòüñÿ. Âû ìîæåòå ïðèíèìàòü ó÷àñòèå â ðàçðàáîòêå ÷åðåç ñïèñîê ðàññûëêè, ñîîáùàÿ îá îøèáêàõ èëè âûñêàçûâàÿ ñâîè èäåè, èëè êàê ðàçðàáîò÷èê.  ëþáîì ñëó÷àå, ïî÷èòàéòå ñïèñîê öåëåé, ñòîÿùèõ ïåðåä ïðîåêòîì, ïîòîìó ÷òî íåêîòîðûå âîçìîæíîñòè, òàêèå êàê çàùèòà îò êîïèðîâàíèÿ è ñæàòèå ñ ïîòåðÿìè, ìû äîáàâëÿòü íå õîòèì.
- -Ñïèñîê îñîáåííî âàæíûõ çàäà÷:
- --- -Òåñòèðîâàíèå. Åíêîäåð, ñæèìàþùèé ôàéë áåç ïîòåðü, äîëæåí ðàáîòàòü àáñîëþòíî êà÷åñòâåííî äëÿ ëþáûõ âõîäíûõ äàííûõ. Íàáîð òåñòîâ ñîäåðæèò îáðàçöû ðàçðàáîòàííûõ ñïåöèàëüíî, ÷òîáû çàñòàâèòü åíêîäåð èçðÿäíî ïîòðóäèòüñÿ, îäíàêî òîëüêî èìè íåëüçÿ îãðàíè÷èâàòüñÿ. ×åì áîëüøå áóäåò òåñòîâ, òåì ëó÷øå. - -Áîëüøå ïëàãèíîâ äëÿ ïëåéåðîâ. Ñåé÷àñ åñòü ïëàãèíû òîëüêî äëÿ Winamp è XMMS. Õî÷åòñÿ áîëüøå! -
×åãî áû åùå õîòåëîñü:
- --- - -Óëó÷øèòü ìåòîäû ñæàòèÿ. - -Ïîïðàâèòü ìåéêôàéëû äëÿ MSVC, ÷òîáû âìåñòî libFLAC.lib íà âûõîäå ïîëó÷àëñÿ libFLAC.dll. - -Îáåñïå÷èòü íàñòðàèâàåìóþ ïîääåðæêó ID3v1 è ID3v2 â ïëàãèíàõ. - -Cäåëàòü ïîääåðæêó äëÿ áîëüøåãî êîëè÷åñòâà òèïîâ âõîäíûõ ôàéëîâ (íå òîëüêî WAVE è raw). - -Íàðèñóéòå êëàññíîå ëîãî! -
FLAC îòêðûò äëÿ ðàçðàáîò÷èêîâ, æåëàþùèõ äîáàâèòü ïîääåðæêó FLAC â ñâîèõ ïðîãðàììàõ. Âñå íåîáõîäèìûå ôóíêöèè íàõîäÿòñÿ â áèáëèîòåêå libFLAC, ðàñïðîñòðàíÿåìîé ïî ëèöåíçèè LGPL. Ñîîòâåòñòâóþùàÿ äîêóìåíòàöèÿ íàõîäèòñÿ çäåñü:
- - èñõîäíûõ òåêñòàõ ïðîåêòà åñòü íåñêîëüêî ïðèìåðîâ èñïîëüçîâàíèÿ libFLAC. Íà ñòðàíèöå ôàéëû íàïèñàíî, êàê ìîæíî èõ ïîëó÷èòü.
- -Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
FLAC - ýòî îòêðûòûé ïðîåêò è íàì áóäåò î÷åíü ïðèÿòíî, åñëè êòî-ëèáî çàõî÷åò ê íàì ïðèñîåäèíèòüñÿ. Âû ìîæåòå ïðèíèìàòü ó÷àñòèå â ðàçðàáîòêå ÷åðåç ñïèñîê ðàññûëêè, ñîîáùàÿ îá îøèáêàõ èëè âûñêàçûâàÿ ñâîè èäåè, èëè êàê ðàçðàáîò÷èê.  ëþáîì ñëó÷àå, ïî÷èòàéòå ñïèñîê öåëåé, ñòîÿùèõ ïåðåä ïðîåêòîì, ïîòîìó ÷òî íåêîòîðûå âîçìîæíîñòè, òàêèå êàê çàùèòà îò êîïèðîâàíèÿ è ñæàòèå ñ ïîòåðÿìè, ìû äîáàâëÿòü íå õîòèì.
+ +Ñïèñîê îñîáåííî âàæíûõ çàäà÷:
+ +++ +Òåñòèðîâàíèå. Åíêîäåð, ñæèìàþùèé ôàéë áåç ïîòåðü, äîëæåí ðàáîòàòü àáñîëþòíî êà÷åñòâåííî äëÿ ëþáûõ âõîäíûõ äàííûõ. Íàáîð òåñòîâ ñîäåðæèò îáðàçöû ðàçðàáîòàííûõ ñïåöèàëüíî, ÷òîáû çàñòàâèòü åíêîäåð èçðÿäíî ïîòðóäèòüñÿ, îäíàêî òîëüêî èìè íåëüçÿ îãðàíè÷èâàòüñÿ. ×åì áîëüøå áóäåò òåñòîâ, òåì ëó÷øå. + +Áîëüøå ïëàãèíîâ äëÿ ïëåéåðîâ. Ñåé÷àñ åñòü ïëàãèíû òîëüêî äëÿ Winamp è XMMS. Õî÷åòñÿ áîëüøå! +
×åãî áû åùå õîòåëîñü:
+ +++ + +Óëó÷øèòü ìåòîäû ñæàòèÿ. + +Ïîïðàâèòü ìåéêôàéëû äëÿ MSVC, ÷òîáû âìåñòî libFLAC.lib íà âûõîäå ïîëó÷àëñÿ libFLAC.dll. + +Îáåñïå÷èòü íàñòðàèâàåìóþ ïîääåðæêó ID3v1 è ID3v2 â ïëàãèíàõ. + +Cäåëàòü ïîääåðæêó äëÿ áîëüøåãî êîëè÷åñòâà òèïîâ âõîäíûõ ôàéëîâ (íå òîëüêî WAVE è raw). + +Íàðèñóéòå êëàññíîå ëîãî! +
FLAC îòêðûò äëÿ ðàçðàáîò÷èêîâ, æåëàþùèõ äîáàâèòü ïîääåðæêó FLAC â ñâîèõ ïðîãðàììàõ. Âñå íåîáõîäèìûå ôóíêöèè íàõîäÿòñÿ â áèáëèîòåêå libFLAC, ðàñïðîñòðàíÿåìîé ïî ëèöåíçèè LGPL. Ñîîòâåòñòâóþùàÿ äîêóìåíòàöèÿ íàõîäèòñÿ çäåñü:
+ + èñõîäíûõ òåêñòàõ ïðîåêòà åñòü íåñêîëüêî ïðèìåðîâ èñïîëüçîâàíèÿ libFLAC. Íà ñòðàíèöå ôàéëû íàïèñàíî, êàê ìîæíî èõ ïîëó÷èòü.
+ +Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/documentation.html b/doc/ru/documentation.html index 2a5166a..95a77ec 100644 --- a/doc/ru/documentation.html +++ b/doc/ru/documentation.html @@ -1,566 +1,566 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
Ýòà ñòðàíèöà ðàçáèòà íà ñëåäóþùèå ðàçäåëû:
- -çäåñü íàõîäèòñÿ äîêóìåíòàöèÿ äëÿ óòèëèòû êîìàäíîé ñòðîêè flac, ðåäàêòîðà ìåòàäàííûõ metaflac è ïëàãèíîâ äëÿ ïëååðîâ. - - -Ïîìíèòå, ÷òî îíëàéíîâàÿ âåðñèÿ ýòîãî äîêóìåíòà (íà àíãëèéñêîì ÿçûêå) âêëþ÷àåòñÿ â ïîñëåäíèé ðåëèç.
- - -Îïöèè ïî óìîë÷àíèþ äëÿ flac íàñòðîåíû íà ïîëó÷åíèå îïòèìàëüíîãî ñîîòíîøåíèÿ ñêîðîñòü/óðîâåíü ñæàòèÿ äëÿ áîëüøèíñòâà òèïîâ âõîäíûõ ôàéëîâ. Çäåñü îïèñûâàåòñÿ êàê ìîæíî ïîïûòàòüñÿ óâåëè÷èòü óðîâåíü èëè ñêîðîñòü ñæàòèÿ èëè ñ íàèáîëüøèì ýôôåêòîì èñïîëüçîâàòü ñèñòåìó ìåòàäàííûõ.
- -Îñíîâíûìè ÷àñòÿìè ïîòîêà ÿâëÿþòñÿ:
- -- --
- Ñòðîêà èç ÷åòûðåõ áàéòîâ "fLaC".
- -- Áëîê ìåòàäàííûõ STREAMINFO.
- -- Äðóãèå íåîáÿçàòåëüíûå áëîêè ìåòàäàííûõ.
- -- Îäèí èëè áîëåå àóäèî ôðåéìîâ.
-
Ïåðâûå ÷åòûðå áàéòà èäåòèôèöèðóþò ïîòîê FLAC. Ñëåäóþùèå çà íèìè ìåòàäàííûå ñîäåðæàò èíôîðìàöèþ î ïîòîêå, çàòåì èäóò ñæàòûå àóäèîäàííûå.
- - -FLAC îïðåäåëÿåò íåñêîëüêî òèïîâ áëîêîâ ìåòàäàííûõ (âñå îíè ïåðå÷èñëåíû íà ñòðàíèöå ôîðìàò). Áëîêè ìåòàäàííûõ ìîãóò áûòü ëþáîãî ðàçìåðà, íîâûå áëîêè ìîãóò áûòü ëåãêî äîáàâëåíû. Äåêîäåð èìååò âîçìîæíîñòü ïðîïóñêàòü íåèçâåòíûå åìó áëîêè ìåòàäàííûõ. Îáÿçàòåëåí òîëüêî áëîê STREAMINFO.  íåì ñîäåðæèòñÿ ÷àñòîòà äèñêðåòèçàöèÿ, êîëè÷åñòâî êàíàëîâ è ò.ï., à òàêæå äàííûå ïîçâîëÿþùèå äåêîäåðó íàñòðîèòü áóôôåðû. Ñþäà òàêæå çàïèñûâàåòñÿ ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ. Ýòî ïîëåçíî äëÿ ïðîâåðêè âñåãî ïîòîêà ïîñëå åãî ïåðåäà÷è.
- -Äðóãèå áëîêè ïðåäíàçíà÷åíû äëÿ ðåçåðâèðîâàíèÿ ìåñòà, õðàíåíèÿ òàáëèö òî÷åê ïîèñêà, à òàêæå äàííûõ äëÿ êîíêðåòíûõ ïðèëîæåíèé. Îïöèè äëÿ äîáàâëåíèÿ áëîêîâ PADDING èëè òî÷åê ïîèñêà ïðèâåäåíû íèæå. FLAC íå íóæäàåòñÿ â òî÷êàõ ïîèñêà, îäíàêî îíè ïîçâîëÿþò çíà÷èòåëüíî óâåëè÷èòü ñêîðîñòü äîñòóïà, à òàêæå ìîãóò áûòü èñïîëüçîâàíèÿ äëÿ ðàññòàíîâêè ìåòîê â àóäèî ðåäàêòîðàõ.
- -Åñëè Âàì íóæåí ñîáñòâåííûé áëîê ìåòàäàííûõ, Âû ìîæåòå îïðåäåëèòü åãî è çàïðîñèòü èäåíòèôèêàòîð çäåñü. Âû ìîæåòå çàðåçåðâèðîâàòü áëîê PADDING íåîáõîäèìîãî ðàçìåðà è çàïèñàòü íà åãî ìåñòî ñâîè äàííûå ïîñëå êîäèðîâàíèÿ. Ïîëó÷åíííûé ïîòîê áóäåò îòâå÷àòü ôîðìàòó FLAC, äåêîäåðû ðàñïîçíàþùèå ýòè áëîêè ñìîãóò èõ èñïîëüçîâàòü, îñòàëüíûå áóäóò èõ ïðîïóñêàòü.
- - -Çà ìåòàäàííûì ñëåäóþò ñæàòûå àóäèîäàííûå. Ìåòàäàííûå è àóäèîäàííûå íå ÷åðåäóþòñÿ. Êàê è áîëüøèíñòâî êîäåêîâ FLAC äåëèò âõîäíîé ïîòîê íà áëîêè è êîäèðóåò èõ íåçàâèñèìî äðóã îò äðóãà. Áëîê óïàêîâûâàòñÿ âî ôðåéì è äîáàâëÿåòñÿ ê ïîòîêó. Áàçîâûé åíêîäåð èñïîëüçóåò áëîêè ïîñòîÿííîãî ðàçìåðà äëÿ âñåãî ïîòîêà, îäíàêî ôîðìàò ïðåäóñìàòðèâàåò íàëè÷èå áëîêîâ ðàçíîé äëèíû â ïîòîêå.
- - -Ðàçìåð áëîêà - î÷åíü âàæíûé ïàðàìåòð äëÿ êîäèðîâàíèÿ. Åñëè îí î÷åíü ìàë, òî â ïîòîêå áóäåò ñëèøêîì çàãîëîâêîâ ôðåéìîâ, ÷òî óìåíüøèò óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áîëüøîé, òî åíêîäåð íå ñìîæåò ïîäîáðàòü ýôôåêòèâíóþ ìîäåëü ñæàòèÿ. Ïîíèìàíèå ïðîöåññà ìîäåëèðîâàíèÿ ïîìîæåò Âàì óâåëè÷èòü óðîâåíü ñæàòèÿ äëÿ íåêîòîðûõ òèïîâ âõîäíûõ äàííûõ. Îáû÷íî ïðè èñïîëüçîâàíèè ëèíåéíîãî ïðîãíîçèðîâàíèÿ íà àóäèîäàííûõ ñ ÷àñòîòîé äèñêðåòèçàöèè 44.1 êÃö îïòèìàëüíûé ðàçìåð áëîêà ëåæèò â äèàïàçîíå 2-6 òûñÿ÷ ñýìïëîâ.  ýòîì ñëó÷àå çíà÷åíèå ïî óìîë÷àíèþ - 4608. Åñëè èñïîëüçîâàòü áûñòðûå ïîñòîÿííûå ïðåäèêòîðû, ïðåäïî÷òèòåëüíåå ìåíüøèå ðàçìåðû áëîêîâ, òàê êàê â ýòîì ñëó÷àå ðàçìåðû çàãîëîâêîâ ôðåéìîâ ìåíüøå.
- - -Åñëè íà âõîä ïîñòóïàþò ñòåðåî àóäèîäàííûå, îíè ìîãóò ïðîéòè ÷åðåç ñòàäèþ ìåæêàíàëüíîé äåêîððåëÿöèè. Ïðàâûé è ëåâûé êàíàë ïðåîáðàçóþòñÿ ê ñðåäíåìó è ðàçíîñòíîìó ïî ôîðìóëàì: ñðåäíèé = (ëåâûé + ïðàâûé)/2, ðàçíîñòíûé = ëåâûé - ïðàâûé.  îòëè÷èå îò joint stereo ýòîò ïðîöåññ íå ïðèâîäèò ê ïîòåðÿì. Äëÿ äàííûõ ñ àóäèî êîìïàêò-äèñêîâ ýòî îáû÷íî ïðèâîäèò ê çíà÷èòåëüíîìó óâåëè÷åíèþ óðîâíÿ ñæàòèÿ. Äëÿ âêëþ÷åíèÿ èñïîëüçîâàíèÿ ýòîãî ìåòîäà êîäèðîâàíèÿ flac èìååò äâå îïöèè: -m âñåãäà äåëàåò ðàçíîñòíóþ è íåçàâèñèìóþ âåðñèþ áëîêà è âûáèðàåò íàèìåíüøèé ôðåéì è -M, êîòîðàÿ àäàïòèâíî âûáèðàåò ñõåìó ñæàòèÿ.
- - -Íà ñëåäóþùåì ýòàïå åíêîäåð ïûòàåòñÿ àïïðîêñèìèðîâàòü ñèãíàë òàêîé ôóíêöèåé, ÷òîáû ïîëó÷åííûé ïîñëå åå âû÷èòàíèÿ èç îðèãèíàëà ðåçóëüòàò (íàçûâàåìûé ðàçíîñòüþ, îñòàòêîì, îøèáêîé) ìîæíî áûëî çàêîäèðîâàòü ìèíèìàëüíûì êîëè÷åñòâîì áèòîâ. Ïàðàìåòðû ôóíêöèé òîæå äîëæíû çàïèñûâàòüñÿ, ïîýòîìó îíè íå äîëæíû çàíèìàòü ìíîãî ìåñòà. FLAC èñïîëüçóåò äâà ìåòîäà ôîðìèðîâàíèÿ àïïðîêñèìàöèé: 1) ïîäãîíêà ïðîñòîãî ïîëèíîìà ê ñèãíàëó è 2) îáùåå êîäèðîâàíèå ñ ëèíåéíûìè ïðåäèêòîðàìè (LPC).
- -Âî-ïåðâûõ, ïîñòîÿííîå ïîëèíîìèàëüíîå ïðåäñêàçàíèå (-l 0) ðàáîòàåò çíà÷èòåëüíî áûñòðåå, íî ìåíåå òî÷íî, ÷åì LPC. ×åì âûøå ïîðÿäîê LPC, òåì ìåäëåííåå, íî ëó÷øå áóäåò ìîäåëü. Îäíàêî ñ óâåëè÷åíèåì ïîðÿäêà âûèãðûø áóäåò âñå ìåíåå çíà÷èòåëüíûì.  íåêîòîðîé òî÷êå (îáû÷íî îêîëî 9) ïðîöåäóðà åíêîäåðà, îïðåäåëÿþùàÿ íàèëó÷øèé ïîðÿäîê, íà÷èíàåò îøèáàòüñÿ è ðàçìåð ïîëó÷àåìûõ ôðåéìîâ âîçðàñòàåò. ×òîáû ïðåîäîëåòü ýòî, ìîæíî èñïîëüçîâàòü ïîëíûé ïåðåáîð (îïöèÿ -e), ÷òî ïðèâåäåò ê çíà÷èòåëüíîìó óâåëè÷åíèþ âðåìåíè êîäèðîâàíèÿ.
- -Âî-âòîðûõ, ïàðàìåòðû äëÿ ïîñòîÿííûõ ïðåäèêòîðîâ ìîãóò áûòü îïèñàíû òðåìÿ áèòàìè, à ïàðàìåòðû äëÿ ìîäåëè LPC çàâèñÿò îò êîëè÷åñòâà áèò íà ñýìïë è ïîðÿäêà LPC. Ýòî çíà÷èò, ÷òî ðàçìåð çàãîëîâêà ôðåéìà çàâèñèò îò âûáðàííîãî ìåòîäà è ïîðÿäêà è ìîæåò ïîâëèÿòü íà îïòèìàëüíûé ðàçìåð áëîêà.
- - -Êîãäà ìîäåëü ïîäîáðàíà, åíêîäåð âû÷èòàåò ïðèáëèæåíèå èç îðèãèíàëà, ÷òîáû ïîëó÷èòü îñòàòî÷íûé (îøèáî÷íûé) ñèãíàë, êîòîðûé çàòåì êîäèðóåòñÿ áåç ïîòåðü. Äëÿ ýòîãî èñïîëüçóåòñÿ òî îáñòîÿòåëüñòâî, ÷òî ðàçíîñòíûé ñèãíàë îáû÷íî èìååò ðàñïðåäåëåíèå Ëàïëàñà è åñòü íàáîð ñïåöèàëüíûé êîäîâ Õàôôìàíà, íàçûâàåìûå êîäàìè Ðàéñà, ïîçâîëÿþùèå ýôôåêòèâíî è áûñòðî êîäèðîâàòü ýòè ñèãíàëû áåç èñïîëüçîâàíèÿ ñëîâàðÿ.
- -Êîäèðîâàíèå Ðàéñà ñîñòîèò èç íàõîæäåíèÿ îäíîãî ïàðàìåòðà, îòâå÷àþùåãî ðàñïðåäåëåíèþ ñèãíàëà, à çàòåì èñïîëüçîâàíèÿ åãî äëÿ ñîñòàâëåíèÿ êîäîâ. Ïðè èçìåíåíèè ðàñïðåäåëåíèÿ ìåíÿåòñÿ è îïòèìàëüíûé ïàðàìåòð, ïîýòîìó èìååòñÿ ìåòîä ïîçâîëÿþùèé ïåðåñ÷èòûâàòü åãî ïî íåîáõîäèìîñòè. Îñòàòîê ìîæåò áûòü ðàçáèò íà êîíòåêñòû èëè ðàçäåëû, ó êàæäîãî èç êîòîðûõ áóäåò ñâîé ïàðàìåòð Ðàéñà. flac ïîçâîëÿåò óêàçàòü, êàê íóæíî ïðîèçâîäèòü ðàçáèåíèå, ñ ïîìîùüþ îïöèè -r. Îñòàòîê ìîæåò áûòü ðàçáèò íà 2^n ðàçäåëà, åñëè èñïîëüçîâàòü -r n,n. Ïàðàìåòð n íàçûâàåòñÿ ïîðÿäêîì ðàçäåëà. Òàêæå åíêîäåð ìîæåò èñêàòü â ïðåäåëàõ îò m äî n ïîðÿäêà, âûáèðàÿ ëó÷øèé âàðèàíò, åñëè óêàçàòü -r m,n. Îáû÷íî âûáîð n íå âëèÿåò íà ñêîðîñòü êîäèðîâàíèÿ. Îò ðàçíèöû ìåæäó m è n ñèëüíî çàâèñèò âðåìÿ ðàáîòû, ÷åì îíà áîëüøå, òåì áîëüøå âðåìåíè áóäåò çàòðà÷èâàòüñÿ íà ïîèñê ëó÷øåãî ïîðÿäêà. Âûáîð ðàçìåðà áëîêà òàêæå âëèÿåò íà îïòèìàëüíûé ïîðÿäîê ðàçäåëà.
- - -Àóäèîôðåéìó ïðåäøåñòâóåò çàãîëîâîê, êîòîðûé íà÷èíàåòñÿ ñ êîäà ñèíõðîíèçàöèè è ñîäåðæèò ìèíèìóì èíôîðìàöèè, íåîáõîäèìîé äåêîäåðó äëÿ âîñïðîèçâåäåíèÿ ïîòîêà. Ñþäà òàêæå çàïèñûâàåòñÿ íîìåð áëîêà èëè ñýìïëà è âîñüìèáèòíàÿ êîíòðîëüíàÿ ñóììà ñàìîãî çàãîëîâêà. Êîä ñèíõðîíèçàöèè, CRC çàãîëîâêà ôðåéìà è íîìåð áëîêà/ñýìïëà ïîçâîëÿþò îñóùåñòâëÿòü ïåðåñèíõðîíèçàöèþ è ïîèñê äàæå â îòñóòñòâèå òî÷åê ïîèñêà.  êîíöå ôðåéìà çàïèñûâàåòñÿ åãî øåñòíàäöàòèáèòíàÿ êîíòðîëüíàÿ ñóììà. Åñëè áàçîâûé äåêîäåð îáíàðóæèò îøèáêó, áóäåò ñãåíåðèðîâàí áëîê òèøèíû.
- - -×òîáû ïîääåðæèâàòü îñíîâíûå òèïû ìåòàäàííûõ, áàçîâûé äåêîäåð óìååò ïðîïóñêàòü òåãè ID3V1 è ID3V2, ïîýòîìó èõ ìîæíî ñâîáîäíî äîáàâëÿòü. Òåãè ID3V2 äîëæíû ðàñïîëàãàòüñÿ ïåðåä ìàðêåðîì "fLaC", à òåãè ID3V1 - â êîíöå ôàéëà.
- -Ó flac åñòü îïöèÿ (-V) äëÿ ïðîâåðêè âûõîäíûõ äàííûõ ïðè êîäèðîâàíèè.  ýòîì ñëó÷àå äåêîäåð ðàáîòàåò îäíîâðåìåííî ñ åíêîäåðîì è åãî âûõîä ñðàâíèâàåòñÿ ñ îðèãèíàëüíûì ââîäîì. Åñëè áóäåò íàéäåíî îòëè÷èå, flac çàêîí÷èò ðàáîòó ñ ñîîáùåíèåì îá îøèáêå.
- - - -flac - ýòî êîäåê, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Âõîäîì äëÿ åíêîäåðà è âûõîäîì äëÿ äåêîäåðà äîëæåí áûòü ëèáî äàííûå â ôîðìàòå RIFF WAVE, ëèáî ïîòîê ñýìïëîâ áåç çàãîëîâêà. flac èñïîëüçóåò òîëüêî ëèíåéíûå PCM ñýìïëû (äðóãèìè ñëîâàìè, A-LAW, uLAW, è ò.ï. íå ïîääåðæèâàþòñÿ). Ñëåäóþùèì îãðàíè÷åíèåì ÿâëÿåòñÿ òî, ÷òî âî êîäèðóåìîì ôàéëå ñýìïëû äîëæíû áûòü 8, 16 èëè 24-áèòíûìè. Ýòî íå îãðàíè÷åíèå ôîðìàòà, ïðîñòî òàê ðàáîòàþò áàçîâûé åíêîäåð è äåêîäåð.
- -flac ïðåäïîëàãàåò, ÷òî ôàéëû RIFF WAVE èìåþò ñóôôèêñ ".wav"; ýòî óìîë÷àíèå ìîæåò áûòü ïåðåîïðåäåëåíî ñïåöèàëüíûì êëþ÷îì. Äëÿ äàííûõ, ïîñòóïàþùèõ èç ïîòîêà, flac ïûòàåòñÿ îïðåäåëèòü òèï, ïðîñìàòðèâàÿ íà÷àëî ôàéëà â ïîèñêå çàãîëîâêà.  îñòàëüíûõ ñëó÷àÿõ flac íå äåëàåò ïðåäïîëîæåíèé î ñóôôèêñàõ, õîòÿ ïî ñîãëàøåíèþ ôàéëû FLAC èìåþò ñóôôèêñ ".flac" (èëè ".fla" íà ñòàðûõ ôàéëîâûõ ñèñòåìàõ òàêèõ êàê FAT-16).
- -Ïåðåä ïîëíûì îïèñàíèåì êëþ÷åé, èñïîëüçóåìûõ flac, îáðàòèì âíèìàíèå íà òî ÷òî: 1) ïî óìîë÷àíèþ flac ñæèìàåò ôàéëû (äëÿ äåêîäèðîâàíèÿ èñïîëüçóéòå êëþ÷ -d); 2) êëþ÷è -0..-9, óïðàâëÿþùèå óðîâíåì ñæàòèÿ, ÿâëÿþòñÿ ñèíîíèìàìè äëÿ ðàçëè÷íûõ ãðóïï íàñòðîåê êîäèðîâàíèÿ. Òîãî æå ýôôåêòà ìîæíî äîáèòüñÿ, èñïîëüçóÿ íàáîðû ñîîòâåòñòâóþùèõ êëþ÷åé; 3) ìîäåëü îáðàáîòêè âõîäíûõ è âûõîäíûõ ôàéëîâ ó flac àíàëîãè÷íà gzip.
- -flac âûçûâàåòñÿ îäíèì èç ÷åòûðåõ ñïîñîáîâ:
- -- --
- Êîäèðîâàíèå:
- -
flac [-s] [--skip #] [<íàñòðîéêè_ôîðìàòà>] [<îïöèè_êîäèðîâàíèÿ>] [âõîäíîé_ôàéë [...]]- Äåêîäèðîâàíèå:
- -
flac -d [-s] [--skip #] [<íàñòðîéêè_ôîðìàòà>] [<îïöèè_êîäèðîâàíèÿ>] [âõîäíîé_ôàéë [...]]- Òåñòèðîâàíèå:
- -
flac -t [-s] [âõîäíîé_ôàéë [...]]- Àíàëèç:
-
flac -a [-s] [--skip #] [<îïöèè_àíàëèçà>] [âõîäíîé_ôàéë [...]]
 ëþáîì ñëó÷àå, åñëè âõîäíîé ôàéë íå óêàçàí, ïîäðàçóìåâàåòñÿ ñòàíäàðòíûé ââîä. Åñëè óêàçàí òîëüêî îäèí âõîäíîé ôàéë, òî ýòî ìîæåò áûòü "-" äëÿ ñòàíäàðòíîãî ââîäà (stdin). Êîãäà èñïîëüçóåòñÿ ñòàíäàðòíûé ââîä, flac ïèøåò â ñòàíäàðòíûé âûâîä (stdout).  îñòàëüíûõ ñëó÷àÿõ flac âûïîëíèò óêàçàííûå äåéñòâèÿ äëÿ êàæäîãî âõîäíîãî ôàéëà è çàïèøåò ðåçóëüòàòû â ôàéëû ñ àíàëîãè÷íûìè èìåíàìè (ïðè êîäèðîâàíèè ñóôôèêñ áóäåò çàìåíåí íà ".flac" èëè, åñëè åãî íå áûëî, áóäåò äîáàâëåí; ïðè äåêîäèðîâàíèè ñóôôèêñû òàêæå èçìåíÿþòñÿ â ñîîòâåòñòâèè ñ òèïîì âûõîäíûõ äàííûõ.) Îðèãèíàë óäàëÿåòñÿ, òîëüêî åñëè óêàçàí êëþ÷ --delete-input-file.
- -Ñóùåñòâóþò îñîáûå ôîðìû âûçîâà ïðîöåäóð êîäèðîâàíèÿ/äåêîäèðîâàíèÿ èç ñòàíäàíäàðòíîãî ââîäà â ôàéë.
- --- --
- -- flac [îïöèè] - âûõîäíîé_ôàéë
- -- flac -d [îïöèè] - âûõîäíîé_ôàéë
-êîòîðûå ëó÷øå ÷åì
- --
-- flac [îïöèè] > âûõîäíîé_ôàéë
- -- flac -d [îïöèè] > âûõîäíîé_ôàéë
-
òàê êàê â ïåðâîì ñëó÷àå ñîõðàíÿåòñÿ âîçìîæíîñòü ïðîèçâåñòè ïðè íåîáõîäèìîñòè ïîñëåäóþùóþ îáðàáîòêó ôàéëà, íàïðèìåð äëÿ çàïèñè çàãîëîâêîâ RIFF WAVE èëè STREAMINFO.
- -Äàííûå â ñòàíäàðòíûé âûâîä ìîæíî ïåðåíàïðàâèòü ñ ïîìîùüþ êëþ÷à -c.
- -Îïöèè êîäèðîâàíèÿ âëèÿþò íà ñêîðîñòü ðàáîòû è óðîâåíü ñæàòèÿ. Íàñòðîéêè ôîðìàòà îïðåäåëÿþò ðàñïîëîæåíèå ñýìïëîâ, åñëè íà âõîä ïîñòóïàåò ôàéë áåç çàãîëîâêà. Åñëè ó ôàéëà åñòü çàãîëîâîê RIFF WAVE, òî íàñòîéêè ôîðìàòà íå íóæíû, òàê êàê îíè áåðóòñÿ èç ôàéëà.
- - ðåæèìå òåñòèðîâàíèÿ flac ðàáîòàåò êàê è ïðè äåêîäèðîâàíèè, òîëüêî âûõîäíîé ôàéë íå çàïèñûâàåòñÿ. Ðåæèìû äåêîäèðîâàíèÿ è òåñòèðîâàíèÿ ïðîâåðÿþò ïîòîê íà íàëè÷èå îøèáîê, à òàêæå ñðàâíèâàþò ïîäïèñü MD5 äåêîäèðîâàííîãî ïîòîêà ñ ñîõðàíåííîé ïîäïèñüþ, äàæå åñëè ôîðìàò ïîòîêà ïðàâèëüíûé.
- --d | -Äåêîäèðîâàíèå (ïî óìîë÷àíèþ flac êîäèðóåò). flac çàâåðøèò ðàáîòó ñ êîäîì âûõîäà 1, åñëè áóäåò âñòðå÷åíà îøèáêà èëè êîíòðîëüíàÿ ñóììà MD5 äåêîäèðîâàííîãî ïîòîêà íå ñîâïàäåò ñ ñîõðàíåííîé. Åñëè îøèáîê íå áóäåò, êîä âîçâðàòà áóäåò ðàâåí 0. |
-t | -Òåñòèðîâàíèå (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîä íå çàïèñûâàåòñÿ â ôàéë). Êîäû âîçâðàòà òå æå. |
-a | -Àíàëèç (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîäîì ÿâëÿåòñÿ ôàéë ñòàòèñòèêè). Êîäû âîçâðàòà òå æå. Ðåæèì ïðåäíàçíà÷åí â îñíîâíîì äëÿ ðàçðàáîò÷èêîâ.  âûõîäíîé òåêñòîâûé ôàéë çàïèñûâàåòñÿ èíôîðìàöèÿ î êàæäîì ôðåéìå è ïîäôðåéìå. |
-c | -Íàïðàâèòü ðåçóëüòàò â ñòàíäàðòíûé âûâîä (stdout). |
-s | -Íå ïîêàçûâàòü ñòàòèñòèêó ïðè êîäèðîâàíèè/äåêîäèðîâàíèè. |
-o ôàéë | -ßâíî óêàçàòü èìÿ âûõîäíîãî ôàéëà, ïî óìîë÷àíèþ flac ïðîñòî çàìåíÿåò ñóôôèêñ. |
--output-prefix ñòðîêà | -Äîáàâëÿåò ïðåôèêñ ê êàæäîìó èìåíè âûõîäíîìó ôàéëó. Ìîæåò èìñïîëüçîâàòüñÿ äëÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ ôàéëîâ â äðóãîé êàòàëîã. Åñëè óêàçàííàÿ ñòðîêà ÿâëÿåòñÿ ÷àñòüþ ïóòè, óáåäèòåñü, ÷òî îíà çàêàí÷èâàåòñÿ ñëýøåì '/'. |
--delete-input-file | -Ïîñëå óñïåøíîãî îêîí÷àíèÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ âõîäíîé ôàéë áóäåò óäàëåí. Åñëè ïðîèçîéäåò îøèáêà, èñõîäíûé ôàéë îñòàíåòñÿ. |
--skip # | -Ïðîïóñòèòü ïåðâûå # ñýìïëîâ âõîäíîãî ôàéëà. Ðàáîòàåò äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ, íî íå äëÿ òåñòèðîâàíèÿ. |
--a-rtext | -Äîáàâëÿåò â ôàéë îñòàòî÷íûé ñèãíàë. Ðåçóëüòèðóþùèé ôàéë ïîëó÷àåòñÿ î÷åíü áîëüøèì. |
--a-rgp | -Ñîçäàåò ôàéëû-äèàãðàììû äëÿ êàæäîãî ïîäôðåéìà.  êàæäîì ôàéëå áóäåò îñòàòî÷íîå ðàñïðåäåëåíèå äëÿ ïîäôðåéìà. Áóäåò ñîçäàíî î÷åíü ìíîãî ôàéëîâ. |
--lax | -Ïîçâîëÿåò åíêîäåðó ñîçäàâàòü ôàéëû, îòâå÷àþùèå ïîäìíîæåñòâó ôîðìàòà FLAC.  ðåçóëüòàòå ðàáîòû áóäåò ïîëó÷àòüñÿ íåïîòîêîâûé ôàéë, ïîýòîìó ýòîò êëþ÷ ñëåäóåò èñïîëüçîâàòü òîëüêî äëÿ àðõèâèðîâàíèÿ. Äåêîäåð áóäåò ïîääåðæèâàòü âîñïðîèçâåäåíèå è ïîèñê â òàêèõ ôàéëàõ. |
--sector-align | -
- Ïðè êîäèðîâàíèè íåñêîëüêèõ WAVE ôàéëîâ ôîðìàòà CD-Audio âûðàâíèâàòü èõ íà ãðàíèöó ñåêòîðà. Ýòà îïöèÿ ïðèìåíèìà òîëüêî äëÿ êîäèðîâàíèÿ íåñêîëüêèõ WAVE ôàéëîâ, êàæäûé èç êîòîðûõ äîëæåí èìåòü ÷àñòîòó äèñêðåòèçàöèè 44.1 êÃö è äâà êàíàëà. Åñëè áóäåò óêàçàíà ýòà îïöèÿ åíêîäåð âûðîâíÿåò ïîòîêè .flac òàê, -÷òî èõ äëèíû áóäóò êðàòíû ðàçìåðó ñåêòîðà CD-Audio (ðàâíû 1/75 ñåêóíäàì èëè 588 ñýìïëàì). Ýòî îñóùåñòâëÿåòñÿ ïåðåíîñîì ÷àñòè ñåêòîðà â êîíöå êàæäîãî WAVE ôàéëà â íà÷àëî ñëåäóþùåãî. Ïîñëåäíèé ïîòîê áóäåò äîïîëíåí äî ãðàíèöû âûðàâíèâàíèÿ íóëÿìè. -Èñïîëüçîâàíèå ýòîé îïöèè íå ïðèâåäåò íè ê ÷åìó, åñëè ôàéëû óæå âûðîâíåíû (íàïðèìåð, åñëè ïðàâèëüíî ñêîïèðîâàíû ñ àóäèî-CD). flac ìîæåò âûðîâíÿòü òîëüêî íåñêîëüêî ôàéëîâ çà îäèí âûçîâ. - -ÂÍÈÌÀÍÈÅ: Ïîðÿäîê ôàéëîâ èìååò çíà÷åíèå! Åñëè âû ñäåëàåòå ñëåäóþùèé âûçîâ 'flac --sector-align *.wav', êîìàíäíûé ïðîöåññîð ìîæåò îáðàáîòàòü øàáëîí íå â òîì ïîðÿäêå, â êàêîì âû ðàññ÷èòûâàåòå. Ïîýòîìó ëó÷øå âñåãî âûçûâàòü ïðîãðàììó, ÿâíî óêàçàâ ñïèñîê ôàéëîâ, íàïðèìåð, 'flac --sector-align 8.wav 9.wav 10.wav'. - |
-S {#|X|#x} | -Äîáàâëÿåò òî÷êè äëÿ ïîèñêà â òàáëèöó SEEKTABLE.
-
-
Îïöèþ -S ìîæíî èñïîëüçîâàòü íåñêîëüêî ðàç.  ðåçóëüòàòå ïîëó÷èòñÿ îáúåäèíåííàÿ òàáëèöà, â êîòîðîé áóäóò ïðèñóòñòâîâàòü òîëüêî óíèêàëüíûå çíà÷åíèÿ. |
-P # | -Eíêîäåð çàïèøåò áëîê ìåòàäàííûõ PADDING, óêàçàííîãî ðàçìåðà (â áàéòàõ), ïîñëå áëîêà STREAMINFO. -P 0 óêàçûâàåò, ÷òî áëîê PADDING íå íóæåí (çíà÷åíèå ïî óìîë÷àíèþ). Ýòîò áëîê ïîëåçåí, åñëè âû ñîáèðàåòåñü äîáàâèòü òýã â ôàéë ïîçæå. Âìåñòî òîãî, ÷òîáû ïåðåïèñûâàòü ôàéë ïîëíîñòüþ, ìîæíî áóäåò çàïèñàòü èíôîðìàöèþ âìåñòî áëîêà PADDING. |
-b # | -Óñòàíàâëèâàåò ðàçìåð áëîêà â ñýìïëàõ. Ïî óìîë÷àíèþ 1152 äëÿ -l 0, èíà÷å 4608. Ñòàíäàðòíûå ïîòîêè äîëæíû èñïîëüçîâàòü îäíî èç óêàçàíûõ çíà÷åíèé: 192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768. Ñåé÷àñ åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà äëÿ âñåãî ôàéëà. |
-m | -Âêëþ÷àåò ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Îáû÷íî óâåëè÷èâàåò óðîâåíü ñæàòèÿ íà íåñêîëüêî ïðîöåíòîâ. Äëÿ êàæäîãî áëîêà ñîçäàåòñÿ óñðåäíåííàÿ è ñòåðåî âåðñèÿ áëîêà, ñîõðàíÿåòñÿ áëîê ìåíüøåãî ðàçìåðà. Ñåé÷àñ ðàçíîñòíîå êîäèðîâàíèå äîñòóïíî äëÿ ôàéëîâ, ãäå ñýìïë èìååò ðàçìåð íå áîëüøå 16 áèò. |
-M | -Âêëþ÷àåò ñâîáîäíîå ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Ðàáîòàåò àíàëîãè÷íî -m, îäíàêî åíêîäåð ïåðåêëþ÷àåòñÿ ìåæäó íåçàâèñèìûì è óñðåäíÿþùèì êîäèðîâàíèåì àäàïòèâíî. Ìåòîä ðàáîòàåò áûñòðåå, íî óðîâåíü ñæàòèÿ ìåíüøå, òàê êàê -m ïðîèçâîäèò ïîëíûé ïåðåáîð âàðèàíòîâ. |
-0..-9 | -Áûñòðåéøåå ñæàòèå ... ìàêñèìàëüíîå ñæàòèå. Ïî óìîë÷àíèþ -5. |
-0 | -Àíàëîãè÷íî -l 0 -b 1152 -r 2,2. |
-1 | -Àíàëîãè÷íî -l 0 -b 1152 -r 2,2 -M. |
-2 | -Àíàëîãè÷íî -l 0 -b 1152 -r 3 -m. |
-3 | -Àíàëîãè÷íî -l 6 -b 4608 -r 3,3 |
-4 | -Àíàëîãè÷íî -l 8 -b 4608 -r 3,3 -M. |
-5 | -Àíàëîãè÷íî -l 8 -b 4608 -r 3,3 -m. |
-6 | -Àíàëîãè÷íî -l 8 -b 4608 -r 4 -m. |
-7 | -Àíàëîãè÷íî -l 8 -b 4608 -r 6 -m -e. |
-8 | -Àíàëîãè÷íî -l 12 -b 4608 -r 6 -m -e. |
-9 | -Àíàëîãè÷íî -l 32 -b 4608 -r 16 -m -e -E -p. Ðàáîòàåò î÷åíü ìåäëåííî, íî äîñòèãàåòñÿ ìàêñèìàëüíûé óðîâåíü ñæàòèÿ äëÿ äàííîãî ðàçìåðà áëîêà. |
-e | -Ïîëíûé ïîèñê ìîäåëè (ðàáîòàåò ìåäëåííî!). Îáû÷íî åíêîäåð îïðåäåëÿåò ëó÷øóþ ìîäåëü è êîäèðóåò äàëåå îïèðàÿñü íà íåå.  äàííîì ðåæèìå åíêîäåð áóäåò ñîçäàâàòü ïîäôðåéìû âñåõ ïîðÿäêîâ è èñïîëüçîâàòü íàèìåíüøèé. Åñëè ìàêñèìàëüíîå çíà÷åíèå ïîðÿäêà LPC âåëèêî, âðåìÿ êîäèðîâàíèÿ ñóùåñòâåííî âîçðàñòåò. Âûèãðûø îáû÷íî ñîñòàâëÿåò îêîëî 0.5%. |
-E | -Èñïîëüçîâàòü óïðàâëÿþùèå êîäû â êîäåðå ýíòðîïèè. Ýòà îïöèÿ ïîçâîëÿåò çàïèñûâàòü íåçàêîäèðîâàííîå ïðåäñòàâëåíèå îñòàòêà â ðàçäåëå, åñëè åãî ðàçìåð ìåíüøå. Ïðè ýòîì âðåìÿ ðàáîòû óâåëè÷èâàåòñÿ, à óðîâåíü ñæàòèÿ îáû÷íî óëó÷øàåòñÿ ïðèìåðíî íà 1%. |
-l # | -Îïðåäåëÿåò ìàêñèìàëüíûé ïîðÿäîê LPC (êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ). ×èñëî äîëæíî áûòü ìåíüøå èëè ðàâíî 32. Åñëè çíà÷åíèå ðàâíî 0, åíêîäåð áóäåò èñïîëüçîâàòü âìåñòî îáùåãî ëèíåéíîãî ïðîãíîçèðîâàíèÿ ïîñòîÿííûå êîýôôèöèåíòû. Ýòîò ìåòîä óâåëè÷èâàåò ñêîðîñòü ðàáîòû, íî ôàéëû ïîëó÷àþòñÿ íà 5-10% áîëüøå. |
-q # | -Îïðåäåëÿåò òî÷íîñòü äèñêðåòíûõ êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. Ïî óìîë÷àíèþ -q 0, ÷òî ïîçâîëÿåò åíêîäåðó ïðèíèìàòü ðåøåíèå â çàâèñèìîñòè îò ñèãíàëà. Ëó÷øå îñòàâëÿòü çíà÷åíèå ïî óìîë÷àíèþ. |
-p | -Ïðîèçâîäèòü îïòèìèçàöèþ LPC. Ïåðåîïðåäåëÿåò ëþáóþ îïöèþ -q. Ñèëüíî çàìåäëÿåò ðàáîòó, è óìåíüøàåò ðàçìåð ôàéëà íà äîëþ ïðîöåíòà. -q íå ðàáîòàåò, êîãäà èñïîëüçóåòñÿ -l 0. |
-r [#,]# | -Óñòàíîâèòü [min,]max ïîðÿäîê ðàçäåëà. Åñëè ìèíèìàëüíîå çíà÷åíèå íå óêàçàíî, òî îíî óñòàíàâëèâàåòñÿ ðàâíûì 0. Ïî óìîë÷àíèþ åíêîäåð îäèí ïàðàìåòð Ðàéñà äëÿ âñåãî îñòàòêà ïîäôðåéìà. Åñëè èñïîëüçîâàòü ýòó îïöèþ, îñòàòîê áóäåò ðàçäåëÿòüñÿ íà 2^min# ... 2^max ÷àñòåé, äëÿ êàæäîé èç êîòîðûõ áóäåò îïðåäåëåí ñîáñòâåííûé ïàðàìåòð Ðàéñà. Ñ óâåëè÷åíèåì ïàðàìåòðà max âûèãðûø áóäåò âñå ìåíüøå. Íàèáîëåå îïòèìàëüíûé âàðèàíò äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè -r 2,2 (è áîëüøèõ çíà÷åíèé äëÿ áîëüøèõ ðàçìåðîâ áëîêîâ). Ïðè ýòîì ñæàòèå îáû÷íî óâåëè÷èâàåòñÿ íà 1.5%. Âûáîð îïòèìàëüíîãî çíà÷åíèÿ ìîæíî ïðîèçâåñòè ïî ôîðìóëå ðàçìåð_áëîêà/(2^n)=128. Ìàêñèìàëüíûé óðîâåíü ñæàòèÿ äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè -r 0,16. |
-R # | -Óñòàíîâèòü ïðåäåëû ïîèñêà ïàðàìåòðà Ðàéñà. Ïî óìîë÷àíèþ 0. Êîäåð îñòàòêîâ áóäåò èñêàòü íàèëó÷øèé ïàðàìåòð Ðàéñà â óêàçàííîì ïðåäåëå äëÿ êàæäîãî ðàçäåëà îñòàòêîâ. Èñïîëüçîâàíèå ýòîé îïöèè íå äàåò áîëüøîãî âûèãðûøà, íî ñèëüíî çàìåäëÿåò ðàáîòó.  ðåçóëüòàòå, îïöèè -0 ... -9 íå èñïîëüçóþò åå. |
-V | -Ïðîâåðÿòü ïðîöåññ ñæàòèÿ.  äàííîì ñëó÷àå flac ñîçäàåò ïàðàëëåëüíûé äåêîäåð, ðàñêîäèðóþùèé âûõîä åíêîäåðà è ñðàâíèâàåò ðåçóëüòàò ñ îðèãèíàëîì. Åñëè áóäåò íàéäåíî íåñîîòâåòñòâèå, êîäèðîâàíèå ïðåêðàòèòñÿ. Âðåìÿ ðàáîòû ñ ýòîé îïöèåé óâåëè÷èâàåòñÿ, îäíàêî, ïðè ýòîì ãàðàíòèðóåòñÿ, ÷òî ôàéë áóäåò ïðàâèëüíî äåêîäèðîâàí. |
- | -S-, -m-, -V-, -e-, -E-, -p-, --lax-, --delete-input-file-, --sector-align èñïîëüçóþòñÿ äëÿ îòêëþ÷åíèÿ ñîîòâåòñòâóþùèõ îïöèé. |
-fb | -fl | -Îïðåäåëÿåò ïîðÿäîê áàéòîâ â ôàéëå áåç çàãîëîâêà big-endian | little-endian. |
-fc n | -Îïðåäåëÿåò êîëè÷åñòâî êàíàëîâ â ôàéëå áåç çàãîëîâêà. |
-fp n | -Îïðåäåëÿåò êîëè÷åñòâî áèò íà ñýìïë â ôàéëå áåç çàãîëîâêà. |
-fs n | -Îïðåäåëÿåò êîëè÷åñòâî ñýìïëîâ â ñåêóíäó â ôàéëå áåç çàãîëîâêà. |
-fu | -Óêàçûâàåò, ÷òî ñýìïëû â ôàéëå áåç çàãîëîâêà áåççíàêîâûå (ïî óìîë÷àíèþ çíàêîâûå). |
-fr | -Âîñïðèíèìàòü âõîäíîé (èëè âûõîäíîé ïðè äåêîäèðîâàíèè) ôàéë êàê raw ïîòîê ñýìïëîâ âíå çàâèñèìîñòè îò ñóôôèêñà. |
-fw | -Âîñïðèíèìàòü âõîäíîé (èëè âûõîäíîé ïðè äåêîäèðîâàíèè) ôàéë êàê RIFF WAVE âíå çàâèñèìîñòè îò ñóôôèêñà. |
metaflac - ýòî ðåäàêòîð ìåòàäàííûõ, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Ñåé÷àñ îí òîëüêî âûâîäèò ñîäåðæèìîå áëîêîâ ìåòàäàííûõ âî .flac ôàéëå, íî ñêîðî ñ åãî ïîìîùüþ ìîæíî áóäåò âñòàâëÿòü, óäàëÿòü è ðåäàêòèðîâàòü áëîêè.
- -Cåé÷àñ metaflac âûçûâàåòñÿ òîëüêî îäíèì ñïîñîáîì:
- -metaflac [-v] âõîäíîé_ôàéë
- -Âõîäíûì_ôàéëîì ìîæåò áûòü "-" äëÿ ñòàíäàðòíîãî ââîäà (stdin). åñëè èñïîëüçîâàòü -v, áóäåò ïîëó÷åí áîëåå ïîäðîáíûé îò÷åò.
- - - -Äëÿ åãî óñòàíîâêè íåîáõîäèìî ñêîïèðîâàòü libxmms-flac.so â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà XMMS (îáû÷íî /usr/lib/xmms/Input). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå XMMS.
- - - -Äëÿ åãî óñòàíîâêè íåîáõîäèìî ñêîïèðîâàòü in_flac.dll â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà Winamp (îáû÷íî /Plugins). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå Winamp.
- - - -Áèáëèîòåêà libFLAC ÿâëÿåòñÿ ðåàëèçàöèåé íà C áàçîâîãî åíêîäåðà è äåêîäåðà. Èñïîëüçóÿ ýòó áèáëèîòåêó è íàïèñàâ íåìíîãî êîäà, ìîæíî äîáàâèòü ïîääåðæêó FLAC â ñâîþ ïðîãðàììó. Óñëîâèÿ ðàñïðîñòðàíåíèÿ - LGPL. Èñõîäíûå êîäû áèáëèîòåêè libFLAC, òàêæå êàê è êîíñîëüíîãî êîäåêà è ïëàãèíîâ äîñòóïíû, è ìîãóò ïîñëóæèòü õîðîøèì ïðèìåðîì äëÿ èñïîëüçîâàíèÿ.
- -libFLAC òðåáóåò ñòàíäàðòíóþ è ìàòåìàòè÷åñêóþ áèáëèîòåêè äëÿ ÿçûêà C. Ïîòîêè íå èñïîëüçóþòñÿ, îäíàêî, òàê êàê libFLAC íå èñïîëüçóåò ãëîáàëüíûå ïåðåìåííûå, áèáëèîòåêà äîëæíà áûòü thread-safe.
- -Èíòåðôåéñ libFLAC îïèñàí â ïóáëè÷íûõ çàãîëîâî÷íûõ ôàéëàõ â êàòàëîãå include/FLAC. Äëÿ èñïîëüçîâàíèÿ ñêîìïèëèðîâàííîé áèáëèîòåêè íóæíû òîëüêî ïóáëè÷íûå çàãîëîâêè. Îáðàòèòå âíèìàíèå íà òî, ÷òî êîä èç src/libFLAC/, âêëþ÷àÿ çàùèùåííûå çàãîëîâî÷íûå ôàéëû èç src/libFLAC/include/ íå íóæåí.
- -Â îñíîâíîì èñïîëüçîâàíèå libFLAC ñîñòîèò â ñëåäóþùåì:
- -Äëÿ äåêîäèðîâàíèÿ libFLAC ïðåäîñòàâëÿåò äâà óðîâíÿ äîñòóïà. Íà íèæíåì óðîâíå íàõîäèòñÿ äåêîäåð ïîòîêîâ, à íà âåðõíåì - ôàéëîâ (ÿâëÿþùèéñÿ â ñâîþ î÷åðåäü îáîëî÷êîé äëÿ ïîòîêîâîãî äåêîäåðà). Èíòåðôåéñû îïèñàíû â ôàéëàõ stream_decoder.h è file_decoder.h ñîîòâåòñòâåííî. Ôàéëîâûé äåêîäåð ñàì îñóùåñòâëÿåò îáðàòíûå âûçîâû äëÿ ÷òåíèÿ è ïðåäîñòàâëÿåò ôóíêöèè ïîèñêà. Åíêîäåð ïîêà ÷òî ðåàëèçîâàí òîëüêî íà ïîòîêîâîì óðîâíå (stream_encoder.h).
- -Ñòðóêòóðû è êîíñòàíòû, îòíîñÿùèåñÿ ê ôîðìàòó, îïðåäåëåíû â ôàéëå format.h.
- - -ÄÅÊÎÄÅÐ ÏÎÒÎÊÎÂ
- -Ñíà÷àëà îáñóäèì äåêîäåð ïîòîêîâ. Òèï åãî ýêçåìïëÿðà FLAC__StreamDecoder. Îáû÷íî â ïðîãðàììå ýêçåìïëÿð ñîçäàåòñÿ âûçîâîì FLAC__stream_decoder_new() è èíèöèàëèçèðóåòñÿ FLAC__stream_decoder_init(). Ïðîãðàììà òàêæå ìîæåò ïðåäîñòàâëÿòü óêàçàòåëü client_data íà FLAC__stream_decoder_init(), êîòîðûé áóäåò èñïîëüçîâàòüñÿ äëÿ îáðàòíûõ âûçîâîâ.
- -Êîãäà äåêîäåð èíèöèàëèçèðîâàí, ïðîãðàììà ìîæåò âûçâàòü îäíó èç ñëåäóþùèõ ôóíêöèé äëÿ äåêîäèðîâàíèÿ:
- -Êîãäà äåêîäåð çàêàí÷èâàåò ðàáîòó, ýêçåìïëÿð îáðàáàòûâàåòñÿ ôóíêöèåé FLAC__stream_decoder_finish(), êîòîðàÿ ïðîâåðÿåò ñîñòîÿíèå äåêîäåðà è îñâîáîæäàåò ïàìÿòü. Çàòåì ýêçåìïëÿð ìîæåò áûòü óäàëåí ôóíêöèåé FLAC__stream_decoder_delete() èëè èíèöèàëèçèðîâàí çàíîâî äëÿ äåêîäèðîâàíèÿ äðóãîãî ïîòîêà.
- -Îáðàòèòå âíèìàíèå íà òî, ÷òî ïîòîêîâûé äåêîäåð íå èìååò ïðåäñòàâëåíèÿ î ïîçèöèè â ïîòîêå, îí òîëüêî ïðåîáðàçîâûâàåò äàííûå. ×òîáû îñóùåñòâëÿòü ïîèñê â ïîòîêå ôóíêöèè îáðàòíîãî âûçîâà ìîãóò òîëüêî ñáðàñûâàòü äàííûå äåêîäåðà ôóíêöèåé FLAC__stream_decoder_flush() è íà÷èíàòü ïîäàâàòü äàííûå ñ íîâîé ïîçèöèè ñ ïîìîùüþ îáðàòíîãî âûçîâà äëÿ ÷òåíèÿ. Äåêîäåð ôàéëîâ ïîñòóïàåò èìåííî òàê.
- - -ÄÅÊÎÄÅÐ ÔÀÉËÎÂ
- -Äåêîäåð ôàéëîâ - ýòî îáîëî÷êà äåêîäåðà ïîòîêîâ, ïðèçâàííàÿ óïðîñòèòü ïðîöåññ äåêîäèðîâàíèÿ ôàéëîâ. Òèï åãî ýêçåìïëÿðà - FLAC__FileDecoder. Îòëè÷èå îò ïîòîêîâîãî äåêîäåðà ñîñòîèò â òîì, ÷òî âìåñòî îáðàòíîãî âûçîâà äëÿ ÷òåíèÿ (êîòîðûé îáðàáàòûâàåò ñàì äåêîäåð) ïðè èíèöèàëèçàöèè óêàçûâàåòñÿ ïóòü ê ôàéëó. Îñòàëüíûå ôóíêöèè àíàëîãè÷íû ýêâèâàëåíòàì â äåêîäåðå ïîòîêîâ.
- -Òàê êàê äåêîäåð ôàéëîâ ñàì óïðàâëÿåò âõîäíûìè äàííûìè, îí ìîæåò ïðåäîñòàâèòü è ïîèñê. Îí îñóùåñòâëÿåòñÿ ìåòîäîì FLAC__file_decoder_seek_absolute().  ëþáîé ìîìåíò ïîñëå èíèöèàëèçàöèè äåêîäåðà ôàéëîâ ïðîãðàììà ìîæåò âûçâàòü ýòó ôóíêöèþ äëÿ ïîèñêà ñýìïëà â ôàéëå. Âïîñëåäñòâèè, ïðè ïåðâîì îáðàòíîì âûçîâå äëÿ çàïèñè îí áóäåò ñîäåðæàòü (âîçæîæíî íåïîëíûé) áëîê, íà÷èíàþùèéñÿ ñ ýòîãî ñýìïëà.
- -Äåêîäåð ôàéëîâ òàêæå ïðåäîñòàâëÿåò ïðîâåðêó ïîäïèñè MD5. Åñëè ýòà âîçìîæíîñòü áóäåò âêëþ÷åíà ïåðåä èíèöèàëèçàöèåé, FLAC__file_decoder_finish() ñîîáùèò, åñëè ïîäïèñü MD5 ðàñïàêîâàííûõ äàííûõ íå ñîâïàäåò ñ ñîõðàíåííîé â áëîêå STREAMINFO. Ïðîâåðêà MD5 àâòîìàòè÷åñêè âûêëþ÷àåòñÿ, åñëè â áëîêå STREAMINFO íåò ïîäïèñè èëè ïðè ïîïûòêå îñóùåñòâëåíèÿ ïîèñêà. - - -
ÅÍÊÎÄÅÐ ÏÎÒÎÊÎÂ
- -Åíêîäåð ïîòîêîâ ðàáîòàåò àíàëîãè÷íî äåêîäåðó, îäíàêî èìååò ìåíüøå îáðàòíûõ âûçîâîâ è áîëüøå îïöèé. Òèï ýêçåìïëÿðà - FLAC__StreamEncoder. Äëÿ ñîçäàíèÿ íîâîãî ýêçåìïëÿðà â ïðîãðàììå íóæíî âûçâàòü ôóíêöèþ FLAC__stream_encoder_new(), à ÷òîáû ïðîèíèöèàëèçèðîâàòü åãî - FLAC__stream_encoder_init().
- - îòëè÷èå îò ïðîöåññà äåêîäèðîâàíèÿ êîäèðîâàíèå â ôîðìàò FLAC èìååò ìíîæåñòâî îïöèé, âëèÿþùèõ íà ñêîðîñòü è óðîâåíü ñæàòèÿ. Êîãäà ïðîãðàììà âûçûâàåò FLAC__stream_encoder_init(), åíêîäåð ïðîâåðÿåò çíà÷åíèÿ, ïîýòîìó íåîáõîäèìî óáåäèòüñÿ, ÷òî âîçâðàùåìîå ýòîé ôóíêöèåé çíà÷åíèå - FLAC__STREAM_ENCODER_OK. Äëÿ óñòàíîâêè ïàðàìåòðîâ íóæíî èìåòü íåêîòîðîå ïðåäñòàâëåíèå î ôîðìàòå (ñì. îïèñàíèå ôîðìàòà äëÿ ïîëüçîâàòåëÿ èëè åãî ôîðìàëüíîå îïèñàíèå). Ñïèñîê íåîáõîäèìûõ ïàðàìåòðîâ ïðèâåäåí çäåñü:
- -Ïðîãðàììà äîëæíà ïðåäîñòàâèòü FLAC__stream_encoder_init() àäðåñà äëÿ ñëåäóþùèõ îáðàòíûõ âûçîâîâ: - -
Âûçîâ FLAC__stream_encoder_init() íåïîñðåäñòâåííî ïðîèçâîäèò îáðàòíûé âûçîâ äëÿ çàïèñè ñèãíàòóðû "fLaC" è âñåõ îïðåäåëåííûõ íà äàííûé ìîìåíò ìåòàäàííûõ.
- -Ïîñëå èíèöèàëèçàöèè ýêçåìïëÿðà ïðîãðàììà ìîæåò ïåðåäàâàòü äàííûå åíêîäåðó äâóìÿ ñïîñîáàìè:
- -Äëÿ çàâåðøåíèÿ êîäèðîâàíèÿ äàííûõ ïðîãðàììà âûçûâàåò ôóíêöèþ FLAC__stream_encoder_finish(), êîòîðàÿ êîäèðóåò îñòàâøèåñÿ äàííûå èç âõîäíîãî ïîòîêà è äåëàåò îáðàòíûé âûçîâ äëÿ ðàáîòû ñ ìåòàäàííûìè ñ êîððåêòíîé ñòàòèñòèêîé î ïðîöåññå êîäèðîâàíèÿ. Ýêçåìïëÿð ìîæåò áûòü óäàëåí ôóíêöèåé FLAC__stream_encoder_delete() èëè èíèöèàëèçèðîâàí ñíîâà äëÿ êîäèðîâàíèÿ íîâîãî ïîòîêà.
- - -ÐÀÇÍÎÅ
- -Íåîáõîäèìî îòìåòèòü, ÷òî êîãäà ïåðåäàþòñÿ óêàçàòåëè íà àóäèî äàííûå, èõ ïîðÿäîê èìååò çíà÷åíèå òîëüêî äëÿ ñòåðåî ïîòîêîâ. Êàíàë 0 ñîîòâåòñòâóåò ëåâîìó êàíàëó, à 1 - ïðàâîìó.
- - -ÌÅÒÀÄÀÍÍÛÅ
- -Ïðîãðàììû, çàïèñûâàþùèå ñâîè áëîêè ìåòàäàííûõ APPLICATION, ìîãóò óêàçàòü åíêîäåðó, ÷òîáû îí çàïèñàë áëîê ìåòàäàííûõ PADDING íóæíîãî ðàçìåðà.  ýòîì ñëó÷àå âìåñòî ïåðåçàïèñè âñåãî ïîòîêà ïîñëå êîäèðîâàíèÿ ïðîãðàììà ñìîæåò ïðîñòî çàìåíèòü áëîê PADDING íà ñâîé. Åñëè èçâåñòåí òîëüêî ìàêñèìàëüíûé ðàçìåð áëîêà APPLICATION, ïðîãðàììà ìîæåò ñîçäàòü ðåçåðâíûé áëîê ÷óòü áîëüøåãî ðàçìåðà, à ïîñëå êîäèðîâàíèÿ ðàçäåëèòü åãî íà áëîêè APPLICATION è PADDING.
- -Åñëè ðàçìåð áëîêà ìåòàäàííûõ APPLICATION èçâåñòåí çàðàíåå, ðàçìåð ðåçåðâèðóåìîé îáëàñòè ìîæåò áûòü ëåãêî âû÷åñëåí. Åñëè ðàçìåð áëîêà APPLICATION (íå âêëþ÷àÿ çàãîëîâîê áëîêà) ðàâåí N áàéòàì, òî ýêçåìïëÿðó FLAC__StreamEncoder ïåðåä èíèöèàëèçàöèåé íóæíî ïåðåäàòü çíà÷åíèå N+4. Ýòî íóæíî, ÷òîáû ó÷åñòü äîïîëíèòåëüíîå ìåñòî íåîáõîäèìîå äëÿ õðàíåíèÿ èäåíòèôèêàòîðà ïðèëîæåíèÿ.
- -Êîãäà èçâåñòåí òîëüêî ìàêñèìàëüíûé ðàçìåð, ñêàæåì, N áàéò, íóæíî çàðåçåðâèðîâàòü N+8 áàéò. ×åòûðå äëÿ ID ïðèëîæåíèÿ è ÷åòûðå äëÿ äîïîëíèòåëüíîãî áëîêà PADDING, êîòîðûé çàïîëíèò îñòàâøååñÿ ïðîñòðàíñòâî. Ïî îêîí÷àíèè êîäèðîâàíèÿ, êîãäà ðàçìåð áëîêà äàííûõ APPLICATION ñòàíîâèòñÿ èçâåñòíîé è ðàâíîé, äîïóñòèì, M áàéòàì, íà ìåñòî ïåðâîíà÷àëüíîãî áëîêà PADDING áóäåò çàïèñàí áëîê APPLICATION è áëîê PADDING äëèíîé N-M áàéòîâ.
- - - -Îòñëåæèâàíèå îøèáîê âåäåòñÿ íà ýòîé ñòðàíèöå ïðîåêòà, íàõîäÿùåéñÿ íà SourceForge. Åñëè Âû áóäåòå ñîîáùàòü îá îøèáêå, ïîæàëóéñòà, îñòàâüòå e-mail äëÿ êîíòàêòà.
- -Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
Ýòà ñòðàíèöà ðàçáèòà íà ñëåäóþùèå ðàçäåëû:
+ +çäåñü íàõîäèòñÿ äîêóìåíòàöèÿ äëÿ óòèëèòû êîìàäíîé ñòðîêè flac, ðåäàêòîðà ìåòàäàííûõ metaflac è ïëàãèíîâ äëÿ ïëååðîâ. + + +Ïîìíèòå, ÷òî îíëàéíîâàÿ âåðñèÿ ýòîãî äîêóìåíòà (íà àíãëèéñêîì ÿçûêå) âêëþ÷àåòñÿ â ïîñëåäíèé ðåëèç.
+ + +Îïöèè ïî óìîë÷àíèþ äëÿ flac íàñòðîåíû íà ïîëó÷åíèå îïòèìàëüíîãî ñîîòíîøåíèÿ ñêîðîñòü/óðîâåíü ñæàòèÿ äëÿ áîëüøèíñòâà òèïîâ âõîäíûõ ôàéëîâ. Çäåñü îïèñûâàåòñÿ êàê ìîæíî ïîïûòàòüñÿ óâåëè÷èòü óðîâåíü èëè ñêîðîñòü ñæàòèÿ èëè ñ íàèáîëüøèì ýôôåêòîì èñïîëüçîâàòü ñèñòåìó ìåòàäàííûõ.
+ +Îñíîâíûìè ÷àñòÿìè ïîòîêà ÿâëÿþòñÿ:
+ ++ ++
- Ñòðîêà èç ÷åòûðåõ áàéòîâ "fLaC".
+ +- Áëîê ìåòàäàííûõ STREAMINFO.
+ +- Äðóãèå íåîáÿçàòåëüíûå áëîêè ìåòàäàííûõ.
+ +- Îäèí èëè áîëåå àóäèî ôðåéìîâ.
+
Ïåðâûå ÷åòûðå áàéòà èäåòèôèöèðóþò ïîòîê FLAC. Ñëåäóþùèå çà íèìè ìåòàäàííûå ñîäåðæàò èíôîðìàöèþ î ïîòîêå, çàòåì èäóò ñæàòûå àóäèîäàííûå.
+ + +FLAC îïðåäåëÿåò íåñêîëüêî òèïîâ áëîêîâ ìåòàäàííûõ (âñå îíè ïåðå÷èñëåíû íà ñòðàíèöå ôîðìàò). Áëîêè ìåòàäàííûõ ìîãóò áûòü ëþáîãî ðàçìåðà, íîâûå áëîêè ìîãóò áûòü ëåãêî äîáàâëåíû. Äåêîäåð èìååò âîçìîæíîñòü ïðîïóñêàòü íåèçâåòíûå åìó áëîêè ìåòàäàííûõ. Îáÿçàòåëåí òîëüêî áëîê STREAMINFO.  íåì ñîäåðæèòñÿ ÷àñòîòà äèñêðåòèçàöèÿ, êîëè÷åñòâî êàíàëîâ è ò.ï., à òàêæå äàííûå ïîçâîëÿþùèå äåêîäåðó íàñòðîèòü áóôôåðû. Ñþäà òàêæå çàïèñûâàåòñÿ ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ. Ýòî ïîëåçíî äëÿ ïðîâåðêè âñåãî ïîòîêà ïîñëå åãî ïåðåäà÷è.
+ +Äðóãèå áëîêè ïðåäíàçíà÷åíû äëÿ ðåçåðâèðîâàíèÿ ìåñòà, õðàíåíèÿ òàáëèö òî÷åê ïîèñêà, à òàêæå äàííûõ äëÿ êîíêðåòíûõ ïðèëîæåíèé. Îïöèè äëÿ äîáàâëåíèÿ áëîêîâ PADDING èëè òî÷åê ïîèñêà ïðèâåäåíû íèæå. FLAC íå íóæäàåòñÿ â òî÷êàõ ïîèñêà, îäíàêî îíè ïîçâîëÿþò çíà÷èòåëüíî óâåëè÷èòü ñêîðîñòü äîñòóïà, à òàêæå ìîãóò áûòü èñïîëüçîâàíèÿ äëÿ ðàññòàíîâêè ìåòîê â àóäèî ðåäàêòîðàõ.
+ +Åñëè Âàì íóæåí ñîáñòâåííûé áëîê ìåòàäàííûõ, Âû ìîæåòå îïðåäåëèòü åãî è çàïðîñèòü èäåíòèôèêàòîð çäåñü. Âû ìîæåòå çàðåçåðâèðîâàòü áëîê PADDING íåîáõîäèìîãî ðàçìåðà è çàïèñàòü íà åãî ìåñòî ñâîè äàííûå ïîñëå êîäèðîâàíèÿ. Ïîëó÷åíííûé ïîòîê áóäåò îòâå÷àòü ôîðìàòó FLAC, äåêîäåðû ðàñïîçíàþùèå ýòè áëîêè ñìîãóò èõ èñïîëüçîâàòü, îñòàëüíûå áóäóò èõ ïðîïóñêàòü.
+ + +Çà ìåòàäàííûì ñëåäóþò ñæàòûå àóäèîäàííûå. Ìåòàäàííûå è àóäèîäàííûå íå ÷åðåäóþòñÿ. Êàê è áîëüøèíñòâî êîäåêîâ FLAC äåëèò âõîäíîé ïîòîê íà áëîêè è êîäèðóåò èõ íåçàâèñèìî äðóã îò äðóãà. Áëîê óïàêîâûâàòñÿ âî ôðåéì è äîáàâëÿåòñÿ ê ïîòîêó. Áàçîâûé åíêîäåð èñïîëüçóåò áëîêè ïîñòîÿííîãî ðàçìåðà äëÿ âñåãî ïîòîêà, îäíàêî ôîðìàò ïðåäóñìàòðèâàåò íàëè÷èå áëîêîâ ðàçíîé äëèíû â ïîòîêå.
+ + +Ðàçìåð áëîêà - î÷åíü âàæíûé ïàðàìåòð äëÿ êîäèðîâàíèÿ. Åñëè îí î÷åíü ìàë, òî â ïîòîêå áóäåò ñëèøêîì çàãîëîâêîâ ôðåéìîâ, ÷òî óìåíüøèò óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áîëüøîé, òî åíêîäåð íå ñìîæåò ïîäîáðàòü ýôôåêòèâíóþ ìîäåëü ñæàòèÿ. Ïîíèìàíèå ïðîöåññà ìîäåëèðîâàíèÿ ïîìîæåò Âàì óâåëè÷èòü óðîâåíü ñæàòèÿ äëÿ íåêîòîðûõ òèïîâ âõîäíûõ äàííûõ. Îáû÷íî ïðè èñïîëüçîâàíèè ëèíåéíîãî ïðîãíîçèðîâàíèÿ íà àóäèîäàííûõ ñ ÷àñòîòîé äèñêðåòèçàöèè 44.1 êÃö îïòèìàëüíûé ðàçìåð áëîêà ëåæèò â äèàïàçîíå 2-6 òûñÿ÷ ñýìïëîâ.  ýòîì ñëó÷àå çíà÷åíèå ïî óìîë÷àíèþ - 4608. Åñëè èñïîëüçîâàòü áûñòðûå ïîñòîÿííûå ïðåäèêòîðû, ïðåäïî÷òèòåëüíåå ìåíüøèå ðàçìåðû áëîêîâ, òàê êàê â ýòîì ñëó÷àå ðàçìåðû çàãîëîâêîâ ôðåéìîâ ìåíüøå.
+ + +Åñëè íà âõîä ïîñòóïàþò ñòåðåî àóäèîäàííûå, îíè ìîãóò ïðîéòè ÷åðåç ñòàäèþ ìåæêàíàëüíîé äåêîððåëÿöèè. Ïðàâûé è ëåâûé êàíàë ïðåîáðàçóþòñÿ ê ñðåäíåìó è ðàçíîñòíîìó ïî ôîðìóëàì: ñðåäíèé = (ëåâûé + ïðàâûé)/2, ðàçíîñòíûé = ëåâûé - ïðàâûé.  îòëè÷èå îò joint stereo ýòîò ïðîöåññ íå ïðèâîäèò ê ïîòåðÿì. Äëÿ äàííûõ ñ àóäèî êîìïàêò-äèñêîâ ýòî îáû÷íî ïðèâîäèò ê çíà÷èòåëüíîìó óâåëè÷åíèþ óðîâíÿ ñæàòèÿ. Äëÿ âêëþ÷åíèÿ èñïîëüçîâàíèÿ ýòîãî ìåòîäà êîäèðîâàíèÿ flac èìååò äâå îïöèè: -m âñåãäà äåëàåò ðàçíîñòíóþ è íåçàâèñèìóþ âåðñèþ áëîêà è âûáèðàåò íàèìåíüøèé ôðåéì è -M, êîòîðàÿ àäàïòèâíî âûáèðàåò ñõåìó ñæàòèÿ.
+ + +Íà ñëåäóþùåì ýòàïå åíêîäåð ïûòàåòñÿ àïïðîêñèìèðîâàòü ñèãíàë òàêîé ôóíêöèåé, ÷òîáû ïîëó÷åííûé ïîñëå åå âû÷èòàíèÿ èç îðèãèíàëà ðåçóëüòàò (íàçûâàåìûé ðàçíîñòüþ, îñòàòêîì, îøèáêîé) ìîæíî áûëî çàêîäèðîâàòü ìèíèìàëüíûì êîëè÷åñòâîì áèòîâ. Ïàðàìåòðû ôóíêöèé òîæå äîëæíû çàïèñûâàòüñÿ, ïîýòîìó îíè íå äîëæíû çàíèìàòü ìíîãî ìåñòà. FLAC èñïîëüçóåò äâà ìåòîäà ôîðìèðîâàíèÿ àïïðîêñèìàöèé: 1) ïîäãîíêà ïðîñòîãî ïîëèíîìà ê ñèãíàëó è 2) îáùåå êîäèðîâàíèå ñ ëèíåéíûìè ïðåäèêòîðàìè (LPC).
+ +Âî-ïåðâûõ, ïîñòîÿííîå ïîëèíîìèàëüíîå ïðåäñêàçàíèå (-l 0) ðàáîòàåò çíà÷èòåëüíî áûñòðåå, íî ìåíåå òî÷íî, ÷åì LPC. ×åì âûøå ïîðÿäîê LPC, òåì ìåäëåííåå, íî ëó÷øå áóäåò ìîäåëü. Îäíàêî ñ óâåëè÷åíèåì ïîðÿäêà âûèãðûø áóäåò âñå ìåíåå çíà÷èòåëüíûì.  íåêîòîðîé òî÷êå (îáû÷íî îêîëî 9) ïðîöåäóðà åíêîäåðà, îïðåäåëÿþùàÿ íàèëó÷øèé ïîðÿäîê, íà÷èíàåò îøèáàòüñÿ è ðàçìåð ïîëó÷àåìûõ ôðåéìîâ âîçðàñòàåò. ×òîáû ïðåîäîëåòü ýòî, ìîæíî èñïîëüçîâàòü ïîëíûé ïåðåáîð (îïöèÿ -e), ÷òî ïðèâåäåò ê çíà÷èòåëüíîìó óâåëè÷åíèþ âðåìåíè êîäèðîâàíèÿ.
+ +Âî-âòîðûõ, ïàðàìåòðû äëÿ ïîñòîÿííûõ ïðåäèêòîðîâ ìîãóò áûòü îïèñàíû òðåìÿ áèòàìè, à ïàðàìåòðû äëÿ ìîäåëè LPC çàâèñÿò îò êîëè÷åñòâà áèò íà ñýìïë è ïîðÿäêà LPC. Ýòî çíà÷èò, ÷òî ðàçìåð çàãîëîâêà ôðåéìà çàâèñèò îò âûáðàííîãî ìåòîäà è ïîðÿäêà è ìîæåò ïîâëèÿòü íà îïòèìàëüíûé ðàçìåð áëîêà.
+ + +Êîãäà ìîäåëü ïîäîáðàíà, åíêîäåð âû÷èòàåò ïðèáëèæåíèå èç îðèãèíàëà, ÷òîáû ïîëó÷èòü îñòàòî÷íûé (îøèáî÷íûé) ñèãíàë, êîòîðûé çàòåì êîäèðóåòñÿ áåç ïîòåðü. Äëÿ ýòîãî èñïîëüçóåòñÿ òî îáñòîÿòåëüñòâî, ÷òî ðàçíîñòíûé ñèãíàë îáû÷íî èìååò ðàñïðåäåëåíèå Ëàïëàñà è åñòü íàáîð ñïåöèàëüíûé êîäîâ Õàôôìàíà, íàçûâàåìûå êîäàìè Ðàéñà, ïîçâîëÿþùèå ýôôåêòèâíî è áûñòðî êîäèðîâàòü ýòè ñèãíàëû áåç èñïîëüçîâàíèÿ ñëîâàðÿ.
+ +Êîäèðîâàíèå Ðàéñà ñîñòîèò èç íàõîæäåíèÿ îäíîãî ïàðàìåòðà, îòâå÷àþùåãî ðàñïðåäåëåíèþ ñèãíàëà, à çàòåì èñïîëüçîâàíèÿ åãî äëÿ ñîñòàâëåíèÿ êîäîâ. Ïðè èçìåíåíèè ðàñïðåäåëåíèÿ ìåíÿåòñÿ è îïòèìàëüíûé ïàðàìåòð, ïîýòîìó èìååòñÿ ìåòîä ïîçâîëÿþùèé ïåðåñ÷èòûâàòü åãî ïî íåîáõîäèìîñòè. Îñòàòîê ìîæåò áûòü ðàçáèò íà êîíòåêñòû èëè ðàçäåëû, ó êàæäîãî èç êîòîðûõ áóäåò ñâîé ïàðàìåòð Ðàéñà. flac ïîçâîëÿåò óêàçàòü, êàê íóæíî ïðîèçâîäèòü ðàçáèåíèå, ñ ïîìîùüþ îïöèè -r. Îñòàòîê ìîæåò áûòü ðàçáèò íà 2^n ðàçäåëà, åñëè èñïîëüçîâàòü -r n,n. Ïàðàìåòð n íàçûâàåòñÿ ïîðÿäêîì ðàçäåëà. Òàêæå åíêîäåð ìîæåò èñêàòü â ïðåäåëàõ îò m äî n ïîðÿäêà, âûáèðàÿ ëó÷øèé âàðèàíò, åñëè óêàçàòü -r m,n. Îáû÷íî âûáîð n íå âëèÿåò íà ñêîðîñòü êîäèðîâàíèÿ. Îò ðàçíèöû ìåæäó m è n ñèëüíî çàâèñèò âðåìÿ ðàáîòû, ÷åì îíà áîëüøå, òåì áîëüøå âðåìåíè áóäåò çàòðà÷èâàòüñÿ íà ïîèñê ëó÷øåãî ïîðÿäêà. Âûáîð ðàçìåðà áëîêà òàêæå âëèÿåò íà îïòèìàëüíûé ïîðÿäîê ðàçäåëà.
+ + +Àóäèîôðåéìó ïðåäøåñòâóåò çàãîëîâîê, êîòîðûé íà÷èíàåòñÿ ñ êîäà ñèíõðîíèçàöèè è ñîäåðæèò ìèíèìóì èíôîðìàöèè, íåîáõîäèìîé äåêîäåðó äëÿ âîñïðîèçâåäåíèÿ ïîòîêà. Ñþäà òàêæå çàïèñûâàåòñÿ íîìåð áëîêà èëè ñýìïëà è âîñüìèáèòíàÿ êîíòðîëüíàÿ ñóììà ñàìîãî çàãîëîâêà. Êîä ñèíõðîíèçàöèè, CRC çàãîëîâêà ôðåéìà è íîìåð áëîêà/ñýìïëà ïîçâîëÿþò îñóùåñòâëÿòü ïåðåñèíõðîíèçàöèþ è ïîèñê äàæå â îòñóòñòâèå òî÷åê ïîèñêà.  êîíöå ôðåéìà çàïèñûâàåòñÿ åãî øåñòíàäöàòèáèòíàÿ êîíòðîëüíàÿ ñóììà. Åñëè áàçîâûé äåêîäåð îáíàðóæèò îøèáêó, áóäåò ñãåíåðèðîâàí áëîê òèøèíû.
+ + +×òîáû ïîääåðæèâàòü îñíîâíûå òèïû ìåòàäàííûõ, áàçîâûé äåêîäåð óìååò ïðîïóñêàòü òåãè ID3V1 è ID3V2, ïîýòîìó èõ ìîæíî ñâîáîäíî äîáàâëÿòü. Òåãè ID3V2 äîëæíû ðàñïîëàãàòüñÿ ïåðåä ìàðêåðîì "fLaC", à òåãè ID3V1 - â êîíöå ôàéëà.
+ +Ó flac åñòü îïöèÿ (-V) äëÿ ïðîâåðêè âûõîäíûõ äàííûõ ïðè êîäèðîâàíèè.  ýòîì ñëó÷àå äåêîäåð ðàáîòàåò îäíîâðåìåííî ñ åíêîäåðîì è åãî âûõîä ñðàâíèâàåòñÿ ñ îðèãèíàëüíûì ââîäîì. Åñëè áóäåò íàéäåíî îòëè÷èå, flac çàêîí÷èò ðàáîòó ñ ñîîáùåíèåì îá îøèáêå.
+ + + +flac - ýòî êîäåê, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Âõîäîì äëÿ åíêîäåðà è âûõîäîì äëÿ äåêîäåðà äîëæåí áûòü ëèáî äàííûå â ôîðìàòå RIFF WAVE, ëèáî ïîòîê ñýìïëîâ áåç çàãîëîâêà. flac èñïîëüçóåò òîëüêî ëèíåéíûå PCM ñýìïëû (äðóãèìè ñëîâàìè, A-LAW, uLAW, è ò.ï. íå ïîääåðæèâàþòñÿ). Ñëåäóþùèì îãðàíè÷åíèåì ÿâëÿåòñÿ òî, ÷òî âî êîäèðóåìîì ôàéëå ñýìïëû äîëæíû áûòü 8, 16 èëè 24-áèòíûìè. Ýòî íå îãðàíè÷åíèå ôîðìàòà, ïðîñòî òàê ðàáîòàþò áàçîâûé åíêîäåð è äåêîäåð.
+ +flac ïðåäïîëàãàåò, ÷òî ôàéëû RIFF WAVE èìåþò ñóôôèêñ ".wav"; ýòî óìîë÷àíèå ìîæåò áûòü ïåðåîïðåäåëåíî ñïåöèàëüíûì êëþ÷îì. Äëÿ äàííûõ, ïîñòóïàþùèõ èç ïîòîêà, flac ïûòàåòñÿ îïðåäåëèòü òèï, ïðîñìàòðèâàÿ íà÷àëî ôàéëà â ïîèñêå çàãîëîâêà.  îñòàëüíûõ ñëó÷àÿõ flac íå äåëàåò ïðåäïîëîæåíèé î ñóôôèêñàõ, õîòÿ ïî ñîãëàøåíèþ ôàéëû FLAC èìåþò ñóôôèêñ ".flac" (èëè ".fla" íà ñòàðûõ ôàéëîâûõ ñèñòåìàõ òàêèõ êàê FAT-16).
+ +Ïåðåä ïîëíûì îïèñàíèåì êëþ÷åé, èñïîëüçóåìûõ flac, îáðàòèì âíèìàíèå íà òî ÷òî: 1) ïî óìîë÷àíèþ flac ñæèìàåò ôàéëû (äëÿ äåêîäèðîâàíèÿ èñïîëüçóéòå êëþ÷ -d); 2) êëþ÷è -0..-9, óïðàâëÿþùèå óðîâíåì ñæàòèÿ, ÿâëÿþòñÿ ñèíîíèìàìè äëÿ ðàçëè÷íûõ ãðóïï íàñòðîåê êîäèðîâàíèÿ. Òîãî æå ýôôåêòà ìîæíî äîáèòüñÿ, èñïîëüçóÿ íàáîðû ñîîòâåòñòâóþùèõ êëþ÷åé; 3) ìîäåëü îáðàáîòêè âõîäíûõ è âûõîäíûõ ôàéëîâ ó flac àíàëîãè÷íà gzip.
+ +flac âûçûâàåòñÿ îäíèì èç ÷åòûðåõ ñïîñîáîâ:
+ ++ ++
- Êîäèðîâàíèå:
+ +
flac [-s] [--skip #] [<íàñòðîéêè_ôîðìàòà>] [<îïöèè_êîäèðîâàíèÿ>] [âõîäíîé_ôàéë [...]]- Äåêîäèðîâàíèå:
+ +
flac -d [-s] [--skip #] [<íàñòðîéêè_ôîðìàòà>] [<îïöèè_êîäèðîâàíèÿ>] [âõîäíîé_ôàéë [...]]- Òåñòèðîâàíèå:
+ +
flac -t [-s] [âõîäíîé_ôàéë [...]]- Àíàëèç:
+
flac -a [-s] [--skip #] [<îïöèè_àíàëèçà>] [âõîäíîé_ôàéë [...]]
 ëþáîì ñëó÷àå, åñëè âõîäíîé ôàéë íå óêàçàí, ïîäðàçóìåâàåòñÿ ñòàíäàðòíûé ââîä. Åñëè óêàçàí òîëüêî îäèí âõîäíîé ôàéë, òî ýòî ìîæåò áûòü "-" äëÿ ñòàíäàðòíîãî ââîäà (stdin). Êîãäà èñïîëüçóåòñÿ ñòàíäàðòíûé ââîä, flac ïèøåò â ñòàíäàðòíûé âûâîä (stdout).  îñòàëüíûõ ñëó÷àÿõ flac âûïîëíèò óêàçàííûå äåéñòâèÿ äëÿ êàæäîãî âõîäíîãî ôàéëà è çàïèøåò ðåçóëüòàòû â ôàéëû ñ àíàëîãè÷íûìè èìåíàìè (ïðè êîäèðîâàíèè ñóôôèêñ áóäåò çàìåíåí íà ".flac" èëè, åñëè åãî íå áûëî, áóäåò äîáàâëåí; ïðè äåêîäèðîâàíèè ñóôôèêñû òàêæå èçìåíÿþòñÿ â ñîîòâåòñòâèè ñ òèïîì âûõîäíûõ äàííûõ.) Îðèãèíàë óäàëÿåòñÿ, òîëüêî åñëè óêàçàí êëþ÷ --delete-input-file.
+ +Ñóùåñòâóþò îñîáûå ôîðìû âûçîâà ïðîöåäóð êîäèðîâàíèÿ/äåêîäèðîâàíèÿ èç ñòàíäàíäàðòíîãî ââîäà â ôàéë.
+ +++ ++
+ +- flac [îïöèè] - âûõîäíîé_ôàéë
+ +- flac -d [îïöèè] - âûõîäíîé_ôàéë
+êîòîðûå ëó÷øå ÷åì
+ ++
+- flac [îïöèè] > âûõîäíîé_ôàéë
+ +- flac -d [îïöèè] > âûõîäíîé_ôàéë
+
òàê êàê â ïåðâîì ñëó÷àå ñîõðàíÿåòñÿ âîçìîæíîñòü ïðîèçâåñòè ïðè íåîáõîäèìîñòè ïîñëåäóþùóþ îáðàáîòêó ôàéëà, íàïðèìåð äëÿ çàïèñè çàãîëîâêîâ RIFF WAVE èëè STREAMINFO.
+ +Äàííûå â ñòàíäàðòíûé âûâîä ìîæíî ïåðåíàïðàâèòü ñ ïîìîùüþ êëþ÷à -c.
+ +Îïöèè êîäèðîâàíèÿ âëèÿþò íà ñêîðîñòü ðàáîòû è óðîâåíü ñæàòèÿ. Íàñòðîéêè ôîðìàòà îïðåäåëÿþò ðàñïîëîæåíèå ñýìïëîâ, åñëè íà âõîä ïîñòóïàåò ôàéë áåç çàãîëîâêà. Åñëè ó ôàéëà åñòü çàãîëîâîê RIFF WAVE, òî íàñòîéêè ôîðìàòà íå íóæíû, òàê êàê îíè áåðóòñÿ èç ôàéëà.
+ + ðåæèìå òåñòèðîâàíèÿ flac ðàáîòàåò êàê è ïðè äåêîäèðîâàíèè, òîëüêî âûõîäíîé ôàéë íå çàïèñûâàåòñÿ. Ðåæèìû äåêîäèðîâàíèÿ è òåñòèðîâàíèÿ ïðîâåðÿþò ïîòîê íà íàëè÷èå îøèáîê, à òàêæå ñðàâíèâàþò ïîäïèñü MD5 äåêîäèðîâàííîãî ïîòîêà ñ ñîõðàíåííîé ïîäïèñüþ, äàæå åñëè ôîðìàò ïîòîêà ïðàâèëüíûé.
+ +-d | +Äåêîäèðîâàíèå (ïî óìîë÷àíèþ flac êîäèðóåò). flac çàâåðøèò ðàáîòó ñ êîäîì âûõîäà 1, åñëè áóäåò âñòðå÷åíà îøèáêà èëè êîíòðîëüíàÿ ñóììà MD5 äåêîäèðîâàííîãî ïîòîêà íå ñîâïàäåò ñ ñîõðàíåííîé. Åñëè îøèáîê íå áóäåò, êîä âîçâðàòà áóäåò ðàâåí 0. |
-t | +Òåñòèðîâàíèå (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîä íå çàïèñûâàåòñÿ â ôàéë). Êîäû âîçâðàòà òå æå. |
-a | +Àíàëèç (òî æå ñàìîå, ÷òî è äåêîäèðîâàíèå, òîëüêî âûõîäîì ÿâëÿåòñÿ ôàéë ñòàòèñòèêè). Êîäû âîçâðàòà òå æå. Ðåæèì ïðåäíàçíà÷åí â îñíîâíîì äëÿ ðàçðàáîò÷èêîâ.  âûõîäíîé òåêñòîâûé ôàéë çàïèñûâàåòñÿ èíôîðìàöèÿ î êàæäîì ôðåéìå è ïîäôðåéìå. |
-c | +Íàïðàâèòü ðåçóëüòàò â ñòàíäàðòíûé âûâîä (stdout). |
-s | +Íå ïîêàçûâàòü ñòàòèñòèêó ïðè êîäèðîâàíèè/äåêîäèðîâàíèè. |
-o ôàéë | +ßâíî óêàçàòü èìÿ âûõîäíîãî ôàéëà, ïî óìîë÷àíèþ flac ïðîñòî çàìåíÿåò ñóôôèêñ. |
--output-prefix ñòðîêà | +Äîáàâëÿåò ïðåôèêñ ê êàæäîìó èìåíè âûõîäíîìó ôàéëó. Ìîæåò èìñïîëüçîâàòüñÿ äëÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ ôàéëîâ â äðóãîé êàòàëîã. Åñëè óêàçàííàÿ ñòðîêà ÿâëÿåòñÿ ÷àñòüþ ïóòè, óáåäèòåñü, ÷òî îíà çàêàí÷èâàåòñÿ ñëýøåì '/'. |
--delete-input-file | +Ïîñëå óñïåøíîãî îêîí÷àíèÿ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ âõîäíîé ôàéë áóäåò óäàëåí. Åñëè ïðîèçîéäåò îøèáêà, èñõîäíûé ôàéë îñòàíåòñÿ. |
--skip # | +Ïðîïóñòèòü ïåðâûå # ñýìïëîâ âõîäíîãî ôàéëà. Ðàáîòàåò äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ, íî íå äëÿ òåñòèðîâàíèÿ. |
--a-rtext | +Äîáàâëÿåò â ôàéë îñòàòî÷íûé ñèãíàë. Ðåçóëüòèðóþùèé ôàéë ïîëó÷àåòñÿ î÷åíü áîëüøèì. |
--a-rgp | +Ñîçäàåò ôàéëû-äèàãðàììû äëÿ êàæäîãî ïîäôðåéìà.  êàæäîì ôàéëå áóäåò îñòàòî÷íîå ðàñïðåäåëåíèå äëÿ ïîäôðåéìà. Áóäåò ñîçäàíî î÷åíü ìíîãî ôàéëîâ. |
--lax | +Ïîçâîëÿåò åíêîäåðó ñîçäàâàòü ôàéëû, îòâå÷àþùèå ïîäìíîæåñòâó ôîðìàòà FLAC.  ðåçóëüòàòå ðàáîòû áóäåò ïîëó÷àòüñÿ íåïîòîêîâûé ôàéë, ïîýòîìó ýòîò êëþ÷ ñëåäóåò èñïîëüçîâàòü òîëüêî äëÿ àðõèâèðîâàíèÿ. Äåêîäåð áóäåò ïîääåðæèâàòü âîñïðîèçâåäåíèå è ïîèñê â òàêèõ ôàéëàõ. |
--sector-align | +
+ Ïðè êîäèðîâàíèè íåñêîëüêèõ WAVE ôàéëîâ ôîðìàòà CD-Audio âûðàâíèâàòü èõ íà ãðàíèöó ñåêòîðà. Ýòà îïöèÿ ïðèìåíèìà òîëüêî äëÿ êîäèðîâàíèÿ íåñêîëüêèõ WAVE ôàéëîâ, êàæäûé èç êîòîðûõ äîëæåí èìåòü ÷àñòîòó äèñêðåòèçàöèè 44.1 êÃö è äâà êàíàëà. Åñëè áóäåò óêàçàíà ýòà îïöèÿ åíêîäåð âûðîâíÿåò ïîòîêè .flac òàê, +÷òî èõ äëèíû áóäóò êðàòíû ðàçìåðó ñåêòîðà CD-Audio (ðàâíû 1/75 ñåêóíäàì èëè 588 ñýìïëàì). Ýòî îñóùåñòâëÿåòñÿ ïåðåíîñîì ÷àñòè ñåêòîðà â êîíöå êàæäîãî WAVE ôàéëà â íà÷àëî ñëåäóþùåãî. Ïîñëåäíèé ïîòîê áóäåò äîïîëíåí äî ãðàíèöû âûðàâíèâàíèÿ íóëÿìè. +Èñïîëüçîâàíèå ýòîé îïöèè íå ïðèâåäåò íè ê ÷åìó, åñëè ôàéëû óæå âûðîâíåíû (íàïðèìåð, åñëè ïðàâèëüíî ñêîïèðîâàíû ñ àóäèî-CD). flac ìîæåò âûðîâíÿòü òîëüêî íåñêîëüêî ôàéëîâ çà îäèí âûçîâ. + +ÂÍÈÌÀÍÈÅ: Ïîðÿäîê ôàéëîâ èìååò çíà÷åíèå! Åñëè âû ñäåëàåòå ñëåäóþùèé âûçîâ 'flac --sector-align *.wav', êîìàíäíûé ïðîöåññîð ìîæåò îáðàáîòàòü øàáëîí íå â òîì ïîðÿäêå, â êàêîì âû ðàññ÷èòûâàåòå. Ïîýòîìó ëó÷øå âñåãî âûçûâàòü ïðîãðàììó, ÿâíî óêàçàâ ñïèñîê ôàéëîâ, íàïðèìåð, 'flac --sector-align 8.wav 9.wav 10.wav'. + |
-S {#|X|#x} | +Äîáàâëÿåò òî÷êè äëÿ ïîèñêà â òàáëèöó SEEKTABLE.
+
+
Îïöèþ -S ìîæíî èñïîëüçîâàòü íåñêîëüêî ðàç.  ðåçóëüòàòå ïîëó÷èòñÿ îáúåäèíåííàÿ òàáëèöà, â êîòîðîé áóäóò ïðèñóòñòâîâàòü òîëüêî óíèêàëüíûå çíà÷åíèÿ. |
-P # | +Eíêîäåð çàïèøåò áëîê ìåòàäàííûõ PADDING, óêàçàííîãî ðàçìåðà (â áàéòàõ), ïîñëå áëîêà STREAMINFO. -P 0 óêàçûâàåò, ÷òî áëîê PADDING íå íóæåí (çíà÷åíèå ïî óìîë÷àíèþ). Ýòîò áëîê ïîëåçåí, åñëè âû ñîáèðàåòåñü äîáàâèòü òýã â ôàéë ïîçæå. Âìåñòî òîãî, ÷òîáû ïåðåïèñûâàòü ôàéë ïîëíîñòüþ, ìîæíî áóäåò çàïèñàòü èíôîðìàöèþ âìåñòî áëîêà PADDING. |
-b # | +Óñòàíàâëèâàåò ðàçìåð áëîêà â ñýìïëàõ. Ïî óìîë÷àíèþ 1152 äëÿ -l 0, èíà÷å 4608. Ñòàíäàðòíûå ïîòîêè äîëæíû èñïîëüçîâàòü îäíî èç óêàçàíûõ çíà÷åíèé: 192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768. Ñåé÷àñ åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà äëÿ âñåãî ôàéëà. |
-m | +Âêëþ÷àåò ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Îáû÷íî óâåëè÷èâàåò óðîâåíü ñæàòèÿ íà íåñêîëüêî ïðîöåíòîâ. Äëÿ êàæäîãî áëîêà ñîçäàåòñÿ óñðåäíåííàÿ è ñòåðåî âåðñèÿ áëîêà, ñîõðàíÿåòñÿ áëîê ìåíüøåãî ðàçìåðà. Ñåé÷àñ ðàçíîñòíîå êîäèðîâàíèå äîñòóïíî äëÿ ôàéëîâ, ãäå ñýìïë èìååò ðàçìåð íå áîëüøå 16 áèò. |
-M | +Âêëþ÷àåò ñâîáîäíîå ðàçíîñòíîå êîäèðîâàíèå (òîëüêî äëÿ ñòåðåî ïîòîêîâ). Ðàáîòàåò àíàëîãè÷íî -m, îäíàêî åíêîäåð ïåðåêëþ÷àåòñÿ ìåæäó íåçàâèñèìûì è óñðåäíÿþùèì êîäèðîâàíèåì àäàïòèâíî. Ìåòîä ðàáîòàåò áûñòðåå, íî óðîâåíü ñæàòèÿ ìåíüøå, òàê êàê -m ïðîèçâîäèò ïîëíûé ïåðåáîð âàðèàíòîâ. |
-0..-9 | +Áûñòðåéøåå ñæàòèå ... ìàêñèìàëüíîå ñæàòèå. Ïî óìîë÷àíèþ -5. |
-0 | +Àíàëîãè÷íî -l 0 -b 1152 -r 2,2. |
-1 | +Àíàëîãè÷íî -l 0 -b 1152 -r 2,2 -M. |
-2 | +Àíàëîãè÷íî -l 0 -b 1152 -r 3 -m. |
-3 | +Àíàëîãè÷íî -l 6 -b 4608 -r 3,3 |
-4 | +Àíàëîãè÷íî -l 8 -b 4608 -r 3,3 -M. |
-5 | +Àíàëîãè÷íî -l 8 -b 4608 -r 3,3 -m. |
-6 | +Àíàëîãè÷íî -l 8 -b 4608 -r 4 -m. |
-7 | +Àíàëîãè÷íî -l 8 -b 4608 -r 6 -m -e. |
-8 | +Àíàëîãè÷íî -l 12 -b 4608 -r 6 -m -e. |
-9 | +Àíàëîãè÷íî -l 32 -b 4608 -r 16 -m -e -E -p. Ðàáîòàåò î÷åíü ìåäëåííî, íî äîñòèãàåòñÿ ìàêñèìàëüíûé óðîâåíü ñæàòèÿ äëÿ äàííîãî ðàçìåðà áëîêà. |
-e | +Ïîëíûé ïîèñê ìîäåëè (ðàáîòàåò ìåäëåííî!). Îáû÷íî åíêîäåð îïðåäåëÿåò ëó÷øóþ ìîäåëü è êîäèðóåò äàëåå îïèðàÿñü íà íåå.  äàííîì ðåæèìå åíêîäåð áóäåò ñîçäàâàòü ïîäôðåéìû âñåõ ïîðÿäêîâ è èñïîëüçîâàòü íàèìåíüøèé. Åñëè ìàêñèìàëüíîå çíà÷åíèå ïîðÿäêà LPC âåëèêî, âðåìÿ êîäèðîâàíèÿ ñóùåñòâåííî âîçðàñòåò. Âûèãðûø îáû÷íî ñîñòàâëÿåò îêîëî 0.5%. |
-E | +Èñïîëüçîâàòü óïðàâëÿþùèå êîäû â êîäåðå ýíòðîïèè. Ýòà îïöèÿ ïîçâîëÿåò çàïèñûâàòü íåçàêîäèðîâàííîå ïðåäñòàâëåíèå îñòàòêà â ðàçäåëå, åñëè åãî ðàçìåð ìåíüøå. Ïðè ýòîì âðåìÿ ðàáîòû óâåëè÷èâàåòñÿ, à óðîâåíü ñæàòèÿ îáû÷íî óëó÷øàåòñÿ ïðèìåðíî íà 1%. |
-l # | +Îïðåäåëÿåò ìàêñèìàëüíûé ïîðÿäîê LPC (êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ). ×èñëî äîëæíî áûòü ìåíüøå èëè ðàâíî 32. Åñëè çíà÷åíèå ðàâíî 0, åíêîäåð áóäåò èñïîëüçîâàòü âìåñòî îáùåãî ëèíåéíîãî ïðîãíîçèðîâàíèÿ ïîñòîÿííûå êîýôôèöèåíòû. Ýòîò ìåòîä óâåëè÷èâàåò ñêîðîñòü ðàáîòû, íî ôàéëû ïîëó÷àþòñÿ íà 5-10% áîëüøå. |
-q # | +Îïðåäåëÿåò òî÷íîñòü äèñêðåòíûõ êîýôôèöèåíòîâ ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. Ïî óìîë÷àíèþ -q 0, ÷òî ïîçâîëÿåò åíêîäåðó ïðèíèìàòü ðåøåíèå â çàâèñèìîñòè îò ñèãíàëà. Ëó÷øå îñòàâëÿòü çíà÷åíèå ïî óìîë÷àíèþ. |
-p | +Ïðîèçâîäèòü îïòèìèçàöèþ LPC. Ïåðåîïðåäåëÿåò ëþáóþ îïöèþ -q. Ñèëüíî çàìåäëÿåò ðàáîòó, è óìåíüøàåò ðàçìåð ôàéëà íà äîëþ ïðîöåíòà. -q íå ðàáîòàåò, êîãäà èñïîëüçóåòñÿ -l 0. |
-r [#,]# | +Óñòàíîâèòü [min,]max ïîðÿäîê ðàçäåëà. Åñëè ìèíèìàëüíîå çíà÷åíèå íå óêàçàíî, òî îíî óñòàíàâëèâàåòñÿ ðàâíûì 0. Ïî óìîë÷àíèþ åíêîäåð îäèí ïàðàìåòð Ðàéñà äëÿ âñåãî îñòàòêà ïîäôðåéìà. Åñëè èñïîëüçîâàòü ýòó îïöèþ, îñòàòîê áóäåò ðàçäåëÿòüñÿ íà 2^min# ... 2^max ÷àñòåé, äëÿ êàæäîé èç êîòîðûõ áóäåò îïðåäåëåí ñîáñòâåííûé ïàðàìåòð Ðàéñà. Ñ óâåëè÷åíèåì ïàðàìåòðà max âûèãðûø áóäåò âñå ìåíüøå. Íàèáîëåå îïòèìàëüíûé âàðèàíò äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè -r 2,2 (è áîëüøèõ çíà÷åíèé äëÿ áîëüøèõ ðàçìåðîâ áëîêîâ). Ïðè ýòîì ñæàòèå îáû÷íî óâåëè÷èâàåòñÿ íà 1.5%. Âûáîð îïòèìàëüíîãî çíà÷åíèÿ ìîæíî ïðîèçâåñòè ïî ôîðìóëå ðàçìåð_áëîêà/(2^n)=128. Ìàêñèìàëüíûé óðîâåíü ñæàòèÿ äîñòèãàåòñÿ ïðè èñïîëüçîâàíèè -r 0,16. |
-R # | +Óñòàíîâèòü ïðåäåëû ïîèñêà ïàðàìåòðà Ðàéñà. Ïî óìîë÷àíèþ 0. Êîäåð îñòàòêîâ áóäåò èñêàòü íàèëó÷øèé ïàðàìåòð Ðàéñà â óêàçàííîì ïðåäåëå äëÿ êàæäîãî ðàçäåëà îñòàòêîâ. Èñïîëüçîâàíèå ýòîé îïöèè íå äàåò áîëüøîãî âûèãðûøà, íî ñèëüíî çàìåäëÿåò ðàáîòó.  ðåçóëüòàòå, îïöèè -0 ... -9 íå èñïîëüçóþò åå. |
-V | +Ïðîâåðÿòü ïðîöåññ ñæàòèÿ.  äàííîì ñëó÷àå flac ñîçäàåò ïàðàëëåëüíûé äåêîäåð, ðàñêîäèðóþùèé âûõîä åíêîäåðà è ñðàâíèâàåò ðåçóëüòàò ñ îðèãèíàëîì. Åñëè áóäåò íàéäåíî íåñîîòâåòñòâèå, êîäèðîâàíèå ïðåêðàòèòñÿ. Âðåìÿ ðàáîòû ñ ýòîé îïöèåé óâåëè÷èâàåòñÿ, îäíàêî, ïðè ýòîì ãàðàíòèðóåòñÿ, ÷òî ôàéë áóäåò ïðàâèëüíî äåêîäèðîâàí. |
+ | -S-, -m-, -V-, -e-, -E-, -p-, --lax-, --delete-input-file-, --sector-align èñïîëüçóþòñÿ äëÿ îòêëþ÷åíèÿ ñîîòâåòñòâóþùèõ îïöèé. |
-fb | -fl | +Îïðåäåëÿåò ïîðÿäîê áàéòîâ â ôàéëå áåç çàãîëîâêà big-endian | little-endian. |
-fc n | +Îïðåäåëÿåò êîëè÷åñòâî êàíàëîâ â ôàéëå áåç çàãîëîâêà. |
-fp n | +Îïðåäåëÿåò êîëè÷åñòâî áèò íà ñýìïë â ôàéëå áåç çàãîëîâêà. |
-fs n | +Îïðåäåëÿåò êîëè÷åñòâî ñýìïëîâ â ñåêóíäó â ôàéëå áåç çàãîëîâêà. |
-fu | +Óêàçûâàåò, ÷òî ñýìïëû â ôàéëå áåç çàãîëîâêà áåççíàêîâûå (ïî óìîë÷àíèþ çíàêîâûå). |
-fr | +Âîñïðèíèìàòü âõîäíîé (èëè âûõîäíîé ïðè äåêîäèðîâàíèè) ôàéë êàê raw ïîòîê ñýìïëîâ âíå çàâèñèìîñòè îò ñóôôèêñà. |
-fw | +Âîñïðèíèìàòü âõîäíîé (èëè âûõîäíîé ïðè äåêîäèðîâàíèè) ôàéë êàê RIFF WAVE âíå çàâèñèìîñòè îò ñóôôèêñà. |
metaflac - ýòî ðåäàêòîð ìåòàäàííûõ, ðàáîòàþùèé èç êîìàíäíîé ñòðîêè. Ñåé÷àñ îí òîëüêî âûâîäèò ñîäåðæèìîå áëîêîâ ìåòàäàííûõ âî .flac ôàéëå, íî ñêîðî ñ åãî ïîìîùüþ ìîæíî áóäåò âñòàâëÿòü, óäàëÿòü è ðåäàêòèðîâàòü áëîêè.
+ +Cåé÷àñ metaflac âûçûâàåòñÿ òîëüêî îäíèì ñïîñîáîì:
+ +metaflac [-v] âõîäíîé_ôàéë
+ +Âõîäíûì_ôàéëîì ìîæåò áûòü "-" äëÿ ñòàíäàðòíîãî ââîäà (stdin). åñëè èñïîëüçîâàòü -v, áóäåò ïîëó÷åí áîëåå ïîäðîáíûé îò÷åò.
+ + + +Äëÿ åãî óñòàíîâêè íåîáõîäèìî ñêîïèðîâàòü libxmms-flac.so â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà XMMS (îáû÷íî /usr/lib/xmms/Input). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå XMMS.
+ + + +Äëÿ åãî óñòàíîâêè íåîáõîäèìî ñêîïèðîâàòü in_flac.dll â êàòàëîã, ãäå íàõîäÿòñÿ ïëàãèíû ââîäà Winamp (îáû÷íî /Plugins). Áîëüøå íè÷åãî íàñòðàèâàòü íå íàäî. Äëÿ âîñïðîèçâåäåíèÿ .flac ôàéëîâ ïåðåçàïóñòèòå Winamp.
+ + + +Áèáëèîòåêà libFLAC ÿâëÿåòñÿ ðåàëèçàöèåé íà C áàçîâîãî åíêîäåðà è äåêîäåðà. Èñïîëüçóÿ ýòó áèáëèîòåêó è íàïèñàâ íåìíîãî êîäà, ìîæíî äîáàâèòü ïîääåðæêó FLAC â ñâîþ ïðîãðàììó. Óñëîâèÿ ðàñïðîñòðàíåíèÿ - LGPL. Èñõîäíûå êîäû áèáëèîòåêè libFLAC, òàêæå êàê è êîíñîëüíîãî êîäåêà è ïëàãèíîâ äîñòóïíû, è ìîãóò ïîñëóæèòü õîðîøèì ïðèìåðîì äëÿ èñïîëüçîâàíèÿ.
+ +libFLAC òðåáóåò ñòàíäàðòíóþ è ìàòåìàòè÷åñêóþ áèáëèîòåêè äëÿ ÿçûêà C. Ïîòîêè íå èñïîëüçóþòñÿ, îäíàêî, òàê êàê libFLAC íå èñïîëüçóåò ãëîáàëüíûå ïåðåìåííûå, áèáëèîòåêà äîëæíà áûòü thread-safe.
+ +Èíòåðôåéñ libFLAC îïèñàí â ïóáëè÷íûõ çàãîëîâî÷íûõ ôàéëàõ â êàòàëîãå include/FLAC. Äëÿ èñïîëüçîâàíèÿ ñêîìïèëèðîâàííîé áèáëèîòåêè íóæíû òîëüêî ïóáëè÷íûå çàãîëîâêè. Îáðàòèòå âíèìàíèå íà òî, ÷òî êîä èç src/libFLAC/, âêëþ÷àÿ çàùèùåííûå çàãîëîâî÷íûå ôàéëû èç src/libFLAC/include/ íå íóæåí.
+ +Â îñíîâíîì èñïîëüçîâàíèå libFLAC ñîñòîèò â ñëåäóþùåì:
+ +Äëÿ äåêîäèðîâàíèÿ libFLAC ïðåäîñòàâëÿåò äâà óðîâíÿ äîñòóïà. Íà íèæíåì óðîâíå íàõîäèòñÿ äåêîäåð ïîòîêîâ, à íà âåðõíåì - ôàéëîâ (ÿâëÿþùèéñÿ â ñâîþ î÷åðåäü îáîëî÷êîé äëÿ ïîòîêîâîãî äåêîäåðà). Èíòåðôåéñû îïèñàíû â ôàéëàõ stream_decoder.h è file_decoder.h ñîîòâåòñòâåííî. Ôàéëîâûé äåêîäåð ñàì îñóùåñòâëÿåò îáðàòíûå âûçîâû äëÿ ÷òåíèÿ è ïðåäîñòàâëÿåò ôóíêöèè ïîèñêà. Åíêîäåð ïîêà ÷òî ðåàëèçîâàí òîëüêî íà ïîòîêîâîì óðîâíå (stream_encoder.h).
+ +Ñòðóêòóðû è êîíñòàíòû, îòíîñÿùèåñÿ ê ôîðìàòó, îïðåäåëåíû â ôàéëå format.h.
+ + +ÄÅÊÎÄÅÐ ÏÎÒÎÊÎÂ
+ +Ñíà÷àëà îáñóäèì äåêîäåð ïîòîêîâ. Òèï åãî ýêçåìïëÿðà FLAC__StreamDecoder. Îáû÷íî â ïðîãðàììå ýêçåìïëÿð ñîçäàåòñÿ âûçîâîì FLAC__stream_decoder_new() è èíèöèàëèçèðóåòñÿ FLAC__stream_decoder_init(). Ïðîãðàììà òàêæå ìîæåò ïðåäîñòàâëÿòü óêàçàòåëü client_data íà FLAC__stream_decoder_init(), êîòîðûé áóäåò èñïîëüçîâàòüñÿ äëÿ îáðàòíûõ âûçîâîâ.
+ +Êîãäà äåêîäåð èíèöèàëèçèðîâàí, ïðîãðàììà ìîæåò âûçâàòü îäíó èç ñëåäóþùèõ ôóíêöèé äëÿ äåêîäèðîâàíèÿ:
+ +Êîãäà äåêîäåð çàêàí÷èâàåò ðàáîòó, ýêçåìïëÿð îáðàáàòûâàåòñÿ ôóíêöèåé FLAC__stream_decoder_finish(), êîòîðàÿ ïðîâåðÿåò ñîñòîÿíèå äåêîäåðà è îñâîáîæäàåò ïàìÿòü. Çàòåì ýêçåìïëÿð ìîæåò áûòü óäàëåí ôóíêöèåé FLAC__stream_decoder_delete() èëè èíèöèàëèçèðîâàí çàíîâî äëÿ äåêîäèðîâàíèÿ äðóãîãî ïîòîêà.
+ +Îáðàòèòå âíèìàíèå íà òî, ÷òî ïîòîêîâûé äåêîäåð íå èìååò ïðåäñòàâëåíèÿ î ïîçèöèè â ïîòîêå, îí òîëüêî ïðåîáðàçîâûâàåò äàííûå. ×òîáû îñóùåñòâëÿòü ïîèñê â ïîòîêå ôóíêöèè îáðàòíîãî âûçîâà ìîãóò òîëüêî ñáðàñûâàòü äàííûå äåêîäåðà ôóíêöèåé FLAC__stream_decoder_flush() è íà÷èíàòü ïîäàâàòü äàííûå ñ íîâîé ïîçèöèè ñ ïîìîùüþ îáðàòíîãî âûçîâà äëÿ ÷òåíèÿ. Äåêîäåð ôàéëîâ ïîñòóïàåò èìåííî òàê.
+ + +ÄÅÊÎÄÅÐ ÔÀÉËÎÂ
+ +Äåêîäåð ôàéëîâ - ýòî îáîëî÷êà äåêîäåðà ïîòîêîâ, ïðèçâàííàÿ óïðîñòèòü ïðîöåññ äåêîäèðîâàíèÿ ôàéëîâ. Òèï åãî ýêçåìïëÿðà - FLAC__FileDecoder. Îòëè÷èå îò ïîòîêîâîãî äåêîäåðà ñîñòîèò â òîì, ÷òî âìåñòî îáðàòíîãî âûçîâà äëÿ ÷òåíèÿ (êîòîðûé îáðàáàòûâàåò ñàì äåêîäåð) ïðè èíèöèàëèçàöèè óêàçûâàåòñÿ ïóòü ê ôàéëó. Îñòàëüíûå ôóíêöèè àíàëîãè÷íû ýêâèâàëåíòàì â äåêîäåðå ïîòîêîâ.
+ +Òàê êàê äåêîäåð ôàéëîâ ñàì óïðàâëÿåò âõîäíûìè äàííûìè, îí ìîæåò ïðåäîñòàâèòü è ïîèñê. Îí îñóùåñòâëÿåòñÿ ìåòîäîì FLAC__file_decoder_seek_absolute().  ëþáîé ìîìåíò ïîñëå èíèöèàëèçàöèè äåêîäåðà ôàéëîâ ïðîãðàììà ìîæåò âûçâàòü ýòó ôóíêöèþ äëÿ ïîèñêà ñýìïëà â ôàéëå. Âïîñëåäñòâèè, ïðè ïåðâîì îáðàòíîì âûçîâå äëÿ çàïèñè îí áóäåò ñîäåðæàòü (âîçæîæíî íåïîëíûé) áëîê, íà÷èíàþùèéñÿ ñ ýòîãî ñýìïëà.
+ +Äåêîäåð ôàéëîâ òàêæå ïðåäîñòàâëÿåò ïðîâåðêó ïîäïèñè MD5. Åñëè ýòà âîçìîæíîñòü áóäåò âêëþ÷åíà ïåðåä èíèöèàëèçàöèåé, FLAC__file_decoder_finish() ñîîáùèò, åñëè ïîäïèñü MD5 ðàñïàêîâàííûõ äàííûõ íå ñîâïàäåò ñ ñîõðàíåííîé â áëîêå STREAMINFO. Ïðîâåðêà MD5 àâòîìàòè÷åñêè âûêëþ÷àåòñÿ, åñëè â áëîêå STREAMINFO íåò ïîäïèñè èëè ïðè ïîïûòêå îñóùåñòâëåíèÿ ïîèñêà. + + +
ÅÍÊÎÄÅÐ ÏÎÒÎÊÎÂ
+ +Åíêîäåð ïîòîêîâ ðàáîòàåò àíàëîãè÷íî äåêîäåðó, îäíàêî èìååò ìåíüøå îáðàòíûõ âûçîâîâ è áîëüøå îïöèé. Òèï ýêçåìïëÿðà - FLAC__StreamEncoder. Äëÿ ñîçäàíèÿ íîâîãî ýêçåìïëÿðà â ïðîãðàììå íóæíî âûçâàòü ôóíêöèþ FLAC__stream_encoder_new(), à ÷òîáû ïðîèíèöèàëèçèðîâàòü åãî - FLAC__stream_encoder_init().
+ + îòëè÷èå îò ïðîöåññà äåêîäèðîâàíèÿ êîäèðîâàíèå â ôîðìàò FLAC èìååò ìíîæåñòâî îïöèé, âëèÿþùèõ íà ñêîðîñòü è óðîâåíü ñæàòèÿ. Êîãäà ïðîãðàììà âûçûâàåò FLAC__stream_encoder_init(), åíêîäåð ïðîâåðÿåò çíà÷åíèÿ, ïîýòîìó íåîáõîäèìî óáåäèòüñÿ, ÷òî âîçâðàùåìîå ýòîé ôóíêöèåé çíà÷åíèå - FLAC__STREAM_ENCODER_OK. Äëÿ óñòàíîâêè ïàðàìåòðîâ íóæíî èìåòü íåêîòîðîå ïðåäñòàâëåíèå î ôîðìàòå (ñì. îïèñàíèå ôîðìàòà äëÿ ïîëüçîâàòåëÿ èëè åãî ôîðìàëüíîå îïèñàíèå). Ñïèñîê íåîáõîäèìûõ ïàðàìåòðîâ ïðèâåäåí çäåñü:
+ +Ïðîãðàììà äîëæíà ïðåäîñòàâèòü FLAC__stream_encoder_init() àäðåñà äëÿ ñëåäóþùèõ îáðàòíûõ âûçîâîâ: + +
Âûçîâ FLAC__stream_encoder_init() íåïîñðåäñòâåííî ïðîèçâîäèò îáðàòíûé âûçîâ äëÿ çàïèñè ñèãíàòóðû "fLaC" è âñåõ îïðåäåëåííûõ íà äàííûé ìîìåíò ìåòàäàííûõ.
+ +Ïîñëå èíèöèàëèçàöèè ýêçåìïëÿðà ïðîãðàììà ìîæåò ïåðåäàâàòü äàííûå åíêîäåðó äâóìÿ ñïîñîáàìè:
+ +Äëÿ çàâåðøåíèÿ êîäèðîâàíèÿ äàííûõ ïðîãðàììà âûçûâàåò ôóíêöèþ FLAC__stream_encoder_finish(), êîòîðàÿ êîäèðóåò îñòàâøèåñÿ äàííûå èç âõîäíîãî ïîòîêà è äåëàåò îáðàòíûé âûçîâ äëÿ ðàáîòû ñ ìåòàäàííûìè ñ êîððåêòíîé ñòàòèñòèêîé î ïðîöåññå êîäèðîâàíèÿ. Ýêçåìïëÿð ìîæåò áûòü óäàëåí ôóíêöèåé FLAC__stream_encoder_delete() èëè èíèöèàëèçèðîâàí ñíîâà äëÿ êîäèðîâàíèÿ íîâîãî ïîòîêà.
+ + +ÐÀÇÍÎÅ
+ +Íåîáõîäèìî îòìåòèòü, ÷òî êîãäà ïåðåäàþòñÿ óêàçàòåëè íà àóäèî äàííûå, èõ ïîðÿäîê èìååò çíà÷åíèå òîëüêî äëÿ ñòåðåî ïîòîêîâ. Êàíàë 0 ñîîòâåòñòâóåò ëåâîìó êàíàëó, à 1 - ïðàâîìó.
+ + +ÌÅÒÀÄÀÍÍÛÅ
+ +Ïðîãðàììû, çàïèñûâàþùèå ñâîè áëîêè ìåòàäàííûõ APPLICATION, ìîãóò óêàçàòü åíêîäåðó, ÷òîáû îí çàïèñàë áëîê ìåòàäàííûõ PADDING íóæíîãî ðàçìåðà.  ýòîì ñëó÷àå âìåñòî ïåðåçàïèñè âñåãî ïîòîêà ïîñëå êîäèðîâàíèÿ ïðîãðàììà ñìîæåò ïðîñòî çàìåíèòü áëîê PADDING íà ñâîé. Åñëè èçâåñòåí òîëüêî ìàêñèìàëüíûé ðàçìåð áëîêà APPLICATION, ïðîãðàììà ìîæåò ñîçäàòü ðåçåðâíûé áëîê ÷óòü áîëüøåãî ðàçìåðà, à ïîñëå êîäèðîâàíèÿ ðàçäåëèòü åãî íà áëîêè APPLICATION è PADDING.
+ +Åñëè ðàçìåð áëîêà ìåòàäàííûõ APPLICATION èçâåñòåí çàðàíåå, ðàçìåð ðåçåðâèðóåìîé îáëàñòè ìîæåò áûòü ëåãêî âû÷åñëåí. Åñëè ðàçìåð áëîêà APPLICATION (íå âêëþ÷àÿ çàãîëîâîê áëîêà) ðàâåí N áàéòàì, òî ýêçåìïëÿðó FLAC__StreamEncoder ïåðåä èíèöèàëèçàöèåé íóæíî ïåðåäàòü çíà÷åíèå N+4. Ýòî íóæíî, ÷òîáû ó÷åñòü äîïîëíèòåëüíîå ìåñòî íåîáõîäèìîå äëÿ õðàíåíèÿ èäåíòèôèêàòîðà ïðèëîæåíèÿ.
+ +Êîãäà èçâåñòåí òîëüêî ìàêñèìàëüíûé ðàçìåð, ñêàæåì, N áàéò, íóæíî çàðåçåðâèðîâàòü N+8 áàéò. ×åòûðå äëÿ ID ïðèëîæåíèÿ è ÷åòûðå äëÿ äîïîëíèòåëüíîãî áëîêà PADDING, êîòîðûé çàïîëíèò îñòàâøååñÿ ïðîñòðàíñòâî. Ïî îêîí÷àíèè êîäèðîâàíèÿ, êîãäà ðàçìåð áëîêà äàííûõ APPLICATION ñòàíîâèòñÿ èçâåñòíîé è ðàâíîé, äîïóñòèì, M áàéòàì, íà ìåñòî ïåðâîíà÷àëüíîãî áëîêà PADDING áóäåò çàïèñàí áëîê APPLICATION è áëîê PADDING äëèíîé N-M áàéòîâ.
+ + + +Îòñëåæèâàíèå îøèáîê âåäåòñÿ íà ýòîé ñòðàíèöå ïðîåêòà, íàõîäÿùåéñÿ íà SourceForge. Åñëè Âû áóäåòå ñîîáùàòü îá îøèáêå, ïîæàëóéñòà, îñòàâüòå e-mail äëÿ êîíòàêòà.
+ +Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/features.html b/doc/ru/features.html index a7ad0a4..f086f05 100644 --- a/doc/ru/features.html +++ b/doc/ru/features.html @@ -1,132 +1,132 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | --ñðàâíåíèå | -| | --ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
FLAC - ýòî àááðåâèàòóðà îò free lossless audio codec (ñâîáîäíûé êîäåê, îáåñïå÷èâàþùèé ñæàòèå áåç ïîòåðü). Ïðîåêò FLAC âêëþ÷àåò:
- -- --
- ïîòîêîâûé ôîðìàò
- -- áèáëèîòåêó libFLAC, ðåàëèçóþùóþ áàçîâûé åíêîäåðû è äåêîäåðû.
- -- flac, óòèëèòó êîìàíäíîé ñòðîêè, âûïîëíÿþùóþ ñæàòèå è ðàñïàêîâêó .flac ôàéëîâ.
- -- Ïëàãèíû äëÿ ðàçíûõ ïëåéåðîâ (Winamp, XMMS, âåäåòñÿ ðàáîòà íàä äðóãèìè).
-
"Ñâîáîäà" îçíà÷àåò, ÷òî ñïåöèôèêàöèÿ ïîòîêîâîãî ôîðìàòà îòíîñèòñÿ ê êàòåãîðèè public domain (ïðîåêò FLAC îñòàâëÿåò çà ñîáîé ïðàâî óñòàíàâëèâàòü ñïåöèôèêàöèè è ñåðòèôèöèðîâàòü îòíîñÿùèåñÿ ê íåìó ïðîäóêòû íà ñîâìåñòèìîñòü), à òàêæå òî, ÷òî íè ôîðìàò, íè îäèí èç ðåàëèçîâàííûõ ìåòîäîâ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàïàòåíòîâàíû. Ýòî òàêæå çíà÷èò, ÷òî èñõîäíèêè libFLAC äîñòóïíû ïî ëèöåíçèè LGPL, à èñõîäíèêè flac è ïëàãèíîâ - ïî GPL.
- - -Õàðàêòåðèñòèêè FLAC:
- -- --
- Ôîðìàò FLAC è ìåòîäû êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàùèùåíû ïàòåíòàìè.
- -- FLAC ñæèìàåò ôàéëû áåç ïîòåðü. Êîäèðîâàíèå PCM äàííûõ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè, ñëåäîâàòåëüíî, äåêîäèðóåìûé àóäèîôàéë àáñîëþòíî èäåíòè÷åí òîìó, êîòîðûé áûë ïîäàí íà âõîä åíêîäåðó. ×òîáû îïðåäåëèòü âîçìîæíûå îøèáêè ïðè ïåðåäà÷å ôàéëà, äëÿ êàæäîãî ôðåéìà âû÷èñëÿåòñÿ 16-áèòíàÿ êîíòðîëüíàÿ ñóììà. Öåëîñòíîñòü íà äàëüíåéøåì ýòàïå ïîäòâåðæäàåòñÿ ïîäïèñüþ MD5 ðàñïàêîâàííûõ äàííûõ, êîòîðàÿ íàõîäèòñÿ â çàãîëîâêå è ìîæåò áûòü ïðîâåðåíà ïðè âîñïðîèçâåäåíèè, äåêîäèðîâàíèè èëè ñ ïîìîùüþ òåñòèðîâàíèÿ.
- -- FLAC ðàçðàáîòàí äëÿ ñæàòèÿ àóäèîäàííûõ. Òåîðåòè÷åñêè, flac ìîæåò êîìïðåññèðîâàòü áåç ïîòåðü ëþáûå äðóãèå äàííûå (åñëè ïåðåäàâàòü èõ êàê 8-áèòíûé ìîíî raw-ôàéë), îäíàêî âûõîäíûå ôàéëû ïîëó÷àþòñÿ ïî÷òè òàêîãî æå ðàçìåðà.
- -- Âîçìîæíîñòè ñæàòèÿ âî FLAC ðàñøèðÿåìû. Ýòî îçíà÷àåò, ÷òî â áóäóùèõ âåðñèÿõ ôîðìàòà ìîãóò áûòü äîáàâëåíû íîâûå ìåòîäû áåç ïîòåðè îáðàòíîé ñîâìåñòèìîñòè.
- -- Ðåàëèçîâàííûå íà äàííûé ìîìåíò ìåòîäû êîìïðåññèè ñîçäàþò ïîòîêè ìåíüøåãî ðàçìåðà, ÷åì Shorten (êîäåê ñ îòêðûòûìè èñõîäíèêàìè, ÿâëÿþùèéñÿ òåêóùèì ñòàíäàðòîì ñæàòèÿ áåç ïîòåðü "ó íèõ"). Âðåìÿ êîäèðîâàíèÿ çàâèñèò îò ìåòîäà, íî îáû÷íî ñðàâíèìî ñ Shorten è LAME. Ñàìûå àêòèâíûå ìåòîäû ìîãóò ðàáîòàòü î÷åíü ìåäëåííî. Ïîäðîáíåå îá ýòîì ìîæíî ïîñìîòðåòü íà ñòðàíèöå ñðàâíåíèå.
- -- FLAC ðàññ÷èòàí íà áûñòðîå äåêîäèðîâàíèå. Äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè ëåãêî äîñòèæèìî äàæå íà ñòàðûõ êîìïüþòåðàõ, òàê êàê äëÿ íåãî òðåáóåòñÿ òîëüêî öåëî÷èñëåííàÿ àðèôìåòèêà.
- -- FLAC óäîáíî èñïîëüçîâàòü äëÿ àðõèâàöèè, òàê êàê ñæàòèå ñ åãî ïîìîùüþ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè. Âû íå ïðèâÿçàíû ê ôîðìàòó. Åñëè â áóäóùåì Âû ðåøèòå èñïîëüçîâàòü äðóãîé ôîðìàò, äàííûå áóäóò âîññòàíîâëåíû èç .flac ôàéëà â ïåðâîíà÷àëüíîì âèäå. Êðîìå êîíòðîëüíîé ñóììû ôðåéìà è ïîäïèñè MD5, óòèëèòà flac èìååò âîçìîæíîñòü ïðîâåðêè, èñïîëüçîâàíèå êîòîðîé ïðèâîäèò ê òîìó, ÷òî êîäèðóåìûé ïîòîê ñðàçó æå äåêîäèðóåòñÿ è ñðàâíèâàåòñÿ ñ èñõîäíûì. Åñëè ïðîèñõîäèò îøèáêà, åíêîäåð ïðåêðàùàåò ðàáîòó.
- -- FLAC - ïîòîêîâûé ôîðìàò. Ýòî çíà÷èò, ÷òî êàæäûé ôðåéì ñîäåðæèò äîñòàòî÷íî èíôîðìàöèè äëÿ ñîáñòâåííîãî äåêîäèðîâàíèÿ. Òåêóùèé ôðåéì FLAC íå çàâèñèò îò ïðåäûäóùèõ è ïîñëåäóþùèõ. FLAC èñïîëüçóåò êîäû ñèíõðîíèçàöèè è êîíòðîëüíûå ñóììû, ÷òî ïîçâîëÿåò äåêîäåðó áûñòðî âûáèðàòü ïîçèöèþ â òåêóùåì ïîòîêå.
- -- FLAC ïîääåðæèâàåò áûñòðûé è òî÷íûé ïîèñê, ÷òî ïîëåçíî íå òîëüêî ïðè âîñïðîèçâåäåíèè, íî è äàåò âîçìîæíîñòü èñïîëüçîâàòü FLAC â çâóêîâûõ ðåäàêòîðàõ.
- -- FLAC èìååò ðàñøèðÿåìóþ ñèñòåìó ìåòàäàííûõ. Íîâûå áëîêè ìåòàäàííûõ ìîãóò áûòü îïðåäåëåíû è ðåàëèçîâàíû â áóäóùèõ âåðñèÿõ áåç ïîòåðè îáðàòíîé ñîâìåñòèìîñòè. Ïðèëîæåíèå ìîæåò èñïîëüçîâàòü áëîê ìåòàäàííûõ APPLICATION ïîñëå ðåãèñòðàöèè äëÿ íåãî id. Äîáàâëåííûå òýãè ID3 è ID3v2 ê .flac ôàéëàì íå âëèÿþò íà ïîöåññ äåêîäèðîâàíèÿ.
-
Íåêîòîðûå äîïîëíèòåëüíûå ïðåèìóùåñòâà, âûòåêàþùèå èç ïðèâåäåííûõ âûøå õàðàêòåðèñòèê:
- -- --
- Ïîòîêè FLAC ìîãóò áûòü âîñïðîèçâåäåíû ñëèòíî, áåç ïàóç ìåæäó òðåêàìè. Òàêèì îáðàçîì, Âû ìîæåòå ñæàòü êîíöåðòíûé àëüáîì, ðàçäåëåííûé íà òðåêè, è äîáèòüñÿ åãî íåïðåðûâíîãî âîñïðîèçâåäåíèÿ.
- -- Ìåõàíèçì òî÷íîãî ïîèñêà ïîçâîëÿåò îðãàíèçîâûâàòü ðàçëè÷íûå ðåæèìû âîñïðîèçâåäåíèÿ: â ïëåéåðå ìîæíî ñäåëàòü èíäåêñíûé ïîèñê, ðàçëè÷íûå öèêëû èëè äðóãèå âèäû ñòðóêòóðèðîâàííîãî âîñïðîèçâåäåíèÿ. Ýòî î÷åíü ïîëåçíî, íàïðèìåð, äëÿ dj'åâ èëè äëÿ ðåïåòèöèé, êîãäà íóæíî ïîâòîðÿòü îïðåäåëåííûå ïàññàæè.
- --  èòîãå âû ïîëó÷àåòå ãèáêîñòü wav-ôàéëà â ñæàòîì ïîòîêîâîì ôîðìàòå.
-
×åãî íåò âî FLAC?
- -- --
- FLAC íå îñóùåñòâëÿåò ñæàòèå ñ ïîòåðÿìè. Äëÿ ýòîãî ñóùåñòâóåò ìíîãî õîðîøèõ ôîðìàòîâ, òàêèõ êàê mp3 (îòëè÷íàÿ ðåàëèçàöèÿ ñ îòêðûòèìè èñõîäíèêàìè LAME) è Ogg Vorbis.
- -- FLAC íå áóäåò SDMI ñîâìåñòèìûì è ò.ï. Ïåðåä ïðîåêòîì íå ñòîèò öåëè ïîääåðæèâàòü ìåòîäû çàùèòû, êîòîðûå íà ïðàêòèêå ëèøü óâåëè÷èâàþò îáúåì ôàéëà. Êîíå÷íî, ìû íå ñîáèðàåìñÿ ïðåïÿòñòâîâàòü êîìó-ëèáî ñîçäàâàòü ñîîòâåòñòâóþùèå áëîêè ìåòàäàííûõ, îäíàêî, ñòàíäàðòíûå äåêîäåðû âñå ðàâíî áóäóò èõ ïðîïóñêàòü.
-
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ñðàâíåíèå | +| | ++ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
FLAC - ýòî àááðåâèàòóðà îò free lossless audio codec (ñâîáîäíûé êîäåê, îáåñïå÷èâàþùèé ñæàòèå áåç ïîòåðü). Ïðîåêò FLAC âêëþ÷àåò:
+ ++ ++
- ïîòîêîâûé ôîðìàò
+ +- áèáëèîòåêó libFLAC, ðåàëèçóþùóþ áàçîâûé åíêîäåðû è äåêîäåðû.
+ +- flac, óòèëèòó êîìàíäíîé ñòðîêè, âûïîëíÿþùóþ ñæàòèå è ðàñïàêîâêó .flac ôàéëîâ.
+ +- Ïëàãèíû äëÿ ðàçíûõ ïëåéåðîâ (Winamp, XMMS, âåäåòñÿ ðàáîòà íàä äðóãèìè).
+
"Ñâîáîäà" îçíà÷àåò, ÷òî ñïåöèôèêàöèÿ ïîòîêîâîãî ôîðìàòà îòíîñèòñÿ ê êàòåãîðèè public domain (ïðîåêò FLAC îñòàâëÿåò çà ñîáîé ïðàâî óñòàíàâëèâàòü ñïåöèôèêàöèè è ñåðòèôèöèðîâàòü îòíîñÿùèåñÿ ê íåìó ïðîäóêòû íà ñîâìåñòèìîñòü), à òàêæå òî, ÷òî íè ôîðìàò, íè îäèí èç ðåàëèçîâàííûõ ìåòîäîâ êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàïàòåíòîâàíû. Ýòî òàêæå çíà÷èò, ÷òî èñõîäíèêè libFLAC äîñòóïíû ïî ëèöåíçèè LGPL, à èñõîäíèêè flac è ïëàãèíîâ - ïî GPL.
+ + +Õàðàêòåðèñòèêè FLAC:
+ ++ ++
- Ôîðìàò FLAC è ìåòîäû êîäèðîâàíèÿ/äåêîäèðîâàíèÿ íå çàùèùåíû ïàòåíòàìè.
+ +- FLAC ñæèìàåò ôàéëû áåç ïîòåðü. Êîäèðîâàíèå PCM äàííûõ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè, ñëåäîâàòåëüíî, äåêîäèðóåìûé àóäèîôàéë àáñîëþòíî èäåíòè÷åí òîìó, êîòîðûé áûë ïîäàí íà âõîä åíêîäåðó. ×òîáû îïðåäåëèòü âîçìîæíûå îøèáêè ïðè ïåðåäà÷å ôàéëà, äëÿ êàæäîãî ôðåéìà âû÷èñëÿåòñÿ 16-áèòíàÿ êîíòðîëüíàÿ ñóììà. Öåëîñòíîñòü íà äàëüíåéøåì ýòàïå ïîäòâåðæäàåòñÿ ïîäïèñüþ MD5 ðàñïàêîâàííûõ äàííûõ, êîòîðàÿ íàõîäèòñÿ â çàãîëîâêå è ìîæåò áûòü ïðîâåðåíà ïðè âîñïðîèçâåäåíèè, äåêîäèðîâàíèè èëè ñ ïîìîùüþ òåñòèðîâàíèÿ.
+ +- FLAC ðàçðàáîòàí äëÿ ñæàòèÿ àóäèîäàííûõ. Òåîðåòè÷åñêè, flac ìîæåò êîìïðåññèðîâàòü áåç ïîòåðü ëþáûå äðóãèå äàííûå (åñëè ïåðåäàâàòü èõ êàê 8-áèòíûé ìîíî raw-ôàéë), îäíàêî âûõîäíûå ôàéëû ïîëó÷àþòñÿ ïî÷òè òàêîãî æå ðàçìåðà.
+ +- Âîçìîæíîñòè ñæàòèÿ âî FLAC ðàñøèðÿåìû. Ýòî îçíà÷àåò, ÷òî â áóäóùèõ âåðñèÿõ ôîðìàòà ìîãóò áûòü äîáàâëåíû íîâûå ìåòîäû áåç ïîòåðè îáðàòíîé ñîâìåñòèìîñòè.
+ +- Ðåàëèçîâàííûå íà äàííûé ìîìåíò ìåòîäû êîìïðåññèè ñîçäàþò ïîòîêè ìåíüøåãî ðàçìåðà, ÷åì Shorten (êîäåê ñ îòêðûòûìè èñõîäíèêàìè, ÿâëÿþùèéñÿ òåêóùèì ñòàíäàðòîì ñæàòèÿ áåç ïîòåðü "ó íèõ"). Âðåìÿ êîäèðîâàíèÿ çàâèñèò îò ìåòîäà, íî îáû÷íî ñðàâíèìî ñ Shorten è LAME. Ñàìûå àêòèâíûå ìåòîäû ìîãóò ðàáîòàòü î÷åíü ìåäëåííî. Ïîäðîáíåå îá ýòîì ìîæíî ïîñìîòðåòü íà ñòðàíèöå ñðàâíåíèå.
+ +- FLAC ðàññ÷èòàí íà áûñòðîå äåêîäèðîâàíèå. Äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè ëåãêî äîñòèæèìî äàæå íà ñòàðûõ êîìïüþòåðàõ, òàê êàê äëÿ íåãî òðåáóåòñÿ òîëüêî öåëî÷èñëåííàÿ àðèôìåòèêà.
+ +- FLAC óäîáíî èñïîëüçîâàòü äëÿ àðõèâàöèè, òàê êàê ñæàòèå ñ åãî ïîìîùüþ íå ïðèâîäèò ê ïîòåðå èíôîðìàöèè. Âû íå ïðèâÿçàíû ê ôîðìàòó. Åñëè â áóäóùåì Âû ðåøèòå èñïîëüçîâàòü äðóãîé ôîðìàò, äàííûå áóäóò âîññòàíîâëåíû èç .flac ôàéëà â ïåðâîíà÷àëüíîì âèäå. Êðîìå êîíòðîëüíîé ñóììû ôðåéìà è ïîäïèñè MD5, óòèëèòà flac èìååò âîçìîæíîñòü ïðîâåðêè, èñïîëüçîâàíèå êîòîðîé ïðèâîäèò ê òîìó, ÷òî êîäèðóåìûé ïîòîê ñðàçó æå äåêîäèðóåòñÿ è ñðàâíèâàåòñÿ ñ èñõîäíûì. Åñëè ïðîèñõîäèò îøèáêà, åíêîäåð ïðåêðàùàåò ðàáîòó.
+ +- FLAC - ïîòîêîâûé ôîðìàò. Ýòî çíà÷èò, ÷òî êàæäûé ôðåéì ñîäåðæèò äîñòàòî÷íî èíôîðìàöèè äëÿ ñîáñòâåííîãî äåêîäèðîâàíèÿ. Òåêóùèé ôðåéì FLAC íå çàâèñèò îò ïðåäûäóùèõ è ïîñëåäóþùèõ. FLAC èñïîëüçóåò êîäû ñèíõðîíèçàöèè è êîíòðîëüíûå ñóììû, ÷òî ïîçâîëÿåò äåêîäåðó áûñòðî âûáèðàòü ïîçèöèþ â òåêóùåì ïîòîêå.
+ +- FLAC ïîääåðæèâàåò áûñòðûé è òî÷íûé ïîèñê, ÷òî ïîëåçíî íå òîëüêî ïðè âîñïðîèçâåäåíèè, íî è äàåò âîçìîæíîñòü èñïîëüçîâàòü FLAC â çâóêîâûõ ðåäàêòîðàõ.
+ +- FLAC èìååò ðàñøèðÿåìóþ ñèñòåìó ìåòàäàííûõ. Íîâûå áëîêè ìåòàäàííûõ ìîãóò áûòü îïðåäåëåíû è ðåàëèçîâàíû â áóäóùèõ âåðñèÿõ áåç ïîòåðè îáðàòíîé ñîâìåñòèìîñòè. Ïðèëîæåíèå ìîæåò èñïîëüçîâàòü áëîê ìåòàäàííûõ APPLICATION ïîñëå ðåãèñòðàöèè äëÿ íåãî id. Äîáàâëåííûå òýãè ID3 è ID3v2 ê .flac ôàéëàì íå âëèÿþò íà ïîöåññ äåêîäèðîâàíèÿ.
+
Íåêîòîðûå äîïîëíèòåëüíûå ïðåèìóùåñòâà, âûòåêàþùèå èç ïðèâåäåííûõ âûøå õàðàêòåðèñòèê:
+ ++ ++
- Ïîòîêè FLAC ìîãóò áûòü âîñïðîèçâåäåíû ñëèòíî, áåç ïàóç ìåæäó òðåêàìè. Òàêèì îáðàçîì, Âû ìîæåòå ñæàòü êîíöåðòíûé àëüáîì, ðàçäåëåííûé íà òðåêè, è äîáèòüñÿ åãî íåïðåðûâíîãî âîñïðîèçâåäåíèÿ.
+ +- Ìåõàíèçì òî÷íîãî ïîèñêà ïîçâîëÿåò îðãàíèçîâûâàòü ðàçëè÷íûå ðåæèìû âîñïðîèçâåäåíèÿ: â ïëåéåðå ìîæíî ñäåëàòü èíäåêñíûé ïîèñê, ðàçëè÷íûå öèêëû èëè äðóãèå âèäû ñòðóêòóðèðîâàííîãî âîñïðîèçâåäåíèÿ. Ýòî î÷åíü ïîëåçíî, íàïðèìåð, äëÿ dj'åâ èëè äëÿ ðåïåòèöèé, êîãäà íóæíî ïîâòîðÿòü îïðåäåëåííûå ïàññàæè.
+ +-  èòîãå âû ïîëó÷àåòå ãèáêîñòü wav-ôàéëà â ñæàòîì ïîòîêîâîì ôîðìàòå.
+
×åãî íåò âî FLAC?
+ ++ ++
- FLAC íå îñóùåñòâëÿåò ñæàòèå ñ ïîòåðÿìè. Äëÿ ýòîãî ñóùåñòâóåò ìíîãî õîðîøèõ ôîðìàòîâ, òàêèõ êàê mp3 (îòëè÷íàÿ ðåàëèçàöèÿ ñ îòêðûòèìè èñõîäíèêàìè LAME) è Ogg Vorbis.
+ +- FLAC íå áóäåò SDMI ñîâìåñòèìûì è ò.ï. Ïåðåä ïðîåêòîì íå ñòîèò öåëè ïîääåðæèâàòü ìåòîäû çàùèòû, êîòîðûå íà ïðàêòèêå ëèøü óâåëè÷èâàþò îáúåì ôàéëà. Êîíå÷íî, ìû íå ñîáèðàåìñÿ ïðåïÿòñòâîâàòü êîìó-ëèáî ñîçäàâàòü ñîîòâåòñòâóþùèå áëîêè ìåòàäàííûõ, îäíàêî, ñòàíäàðòíûå äåêîäåðû âñå ðàâíî áóäóò èõ ïðîïóñêàòü.
+
Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/format.html b/doc/ru/format.html index 3c8fca9..7172180 100644 --- a/doc/ru/format.html +++ b/doc/ru/format.html @@ -1,901 +1,901 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
Çäåñü ïðèâåäåíî ïîëíîå îïèñàíèå ôîðìàòà FLAC. Ôîðìàò ñåé÷àñ íàõîäèòñÿ íà ñòàäèè áåòà-òåñòèðîâàíèÿ. Ýòî çíà÷èò, ÷òî èçìåíåíèÿ, íàðóøàþùèå îáðàòíóþ ñîâìåñòèìîñòü, áóäóò âíîñèòüñÿ òîëüêî â ñëó÷àå îáíàðóæåíèÿ ñåðüçíûõ îøèáîê â ôîðìàòå. Äî ïåðâîãî îôèöèàëüíîãî ðåëèçà ëó÷øå âîçäåðæàòüñÿ îò èñïîëüçîâàíèÿ FLAC äëÿ äîëãîâðåìåííîãî àðõèâèðîâàíèÿ äàííûõ.
- - -Âî-ïåðâûõ, êàê îñíîâíîé ðàçðàáîò÷èê, ÿ äîëæåí îòìåòèòü, ÷òî íå ÿâëÿþñü ýêñïåðòîì â îáëàñòè ñæàòèÿ, ïîýòîìó ÷óâñòâóþ ñåáÿ îáÿçàííûì ïîáëàãîäàðèòü ìíîãèõ ëþäåé, ðàáîòàâøèõ íàä óëó÷øåíèåì àëãîðèòìîâ êîìïðåññèè àóäèîäàííûõ. Îòäåëüíóþ áëàãîäàðíîñòü ÿ âûðàæàþ:
- --- -Ý. Ðîáèíñîíó çà ðàáîòó íàä Shorten. Åãî êîä è ñòàòüÿ ïîñëóæèëè îòïðàâíîé òî÷êîé äëÿ íåñêîëüêèõ îñíîâíûõ ìåòîäîâ, çàëîæåííûõ âî FLAC. FLAC ðàçâèë èäåþ ïîñòîÿííûõ ïðåäèêòîðîâ, èñïîëüçóåìóþ â Shorten. - -Ñ. Ãîëîìáó è Ðîáåðòó Ðàéñó. Èõ óíèâåðñàëüíûå êîäû èñïîëüçóþòñÿ êîäåðîì ýíòðîïèè. - -Í. Ëåâèíñîíó è Äæ. Äàðáèíó. Áàçîâûé åíêîäåð èñïîëüçóåò ðàçðàáîòàííûé è óëó÷øåííûé èìè àëãîðèòì äëÿ îïðåäåëåíèÿ LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè. - -È, êîíå÷íî æå, Ê. Øåííîíó. -
--Äæîø Êîëñîí
- - - -Îáùåèçâåñòíî, ÷òî íåò àëãîðèòìà, ñïîñîáíîãî ñæàòü áåç ïîòåðü âõîäíûå äàííûå ëþáîãî òèïà. Áîëüøèíñòâî àðõèâàòîðîâ ïîçèöèîíèðóþòñÿ äëÿ ðàáîòû ñ äàííûìè îïðåäåëåííîãî âèäà è îïòèìèçèðóþòñÿ äëÿ ýòîé îáëàñòè. FLAC ïðåäíàçíà÷åí äëÿ ñæàòèÿ àóäèîäàííûõ. Íåñìîòðÿ íà òî, ÷òî îí ìîæåò ñæàòü áåç ïîòåðü äàííûå ëþáîãî òèïà, òîëüêî îïðåäåëåííûé ââîä àðõèâèðóåòñÿ õîðîøî. FLAC èñïîëüçóåò òîò ôàêò, ÷òî îáû÷íî àóäèîäàííûå èìåþò âûñîêèé ïîðÿäîê êîððåëÿöèè ìåæäó ñýìïëàìè.
- - îáëàñòè àóäèî ñóùåñòâóåò ìíîæåñòâî âîçìîæíûõ ïîäðàçäåëîâ. Íàïðèìåð, ðå÷ü ñ íèçêèì áèòðåéòîì, ìíîãîêàíàëüíàÿ ìóçûêà ñ âûñîêîé ÷àñòîòîé äèñêðåòèçàöèè è ò.ä. FLAC íå íàöåëåí íà êàêîé-ëèáî ïîäðàçäåë, îäíàêî áîëüøèíñòâî ïàðàìåòðîâ ïî óìîë÷àíèþ áàçîâîãî åíêîäåðà ðàññ÷èòàíû íà CD-àóäèî (ò.å. 44.1êÃö, 2 êàíàëà, 16 áèò íà ñýìïë). Âëèÿíèå ïàðàìåòðîâ êîäèðîâàíèÿ íà ðàçíûå òèïû àóäèî áóäåò ðàññìîòðåíî ïîçæå.
- - -Ïîäîáíî áîëüøèíñòâó ïðîãðàìì ïîäáíîãî ðîäà, åíêîäåð FLAC âûïîëíÿåò ñëåäóþùèå äåéñòâèÿ:
- --- -Ðàçáèåíèå íà áëîêè. Ââîä ðàçáèâàåòñÿ íà ìíîæåñòâî ïîñëåäîâàòåëüíûõ áëîêîâ, êîòîðûå ìîãóò èìåòü ðàçëè÷íûé ðàçìåð. Îïòèìàëüíûé ðàçìåð áëîêà îáû÷íî çàâèñèò îò ìíîãèõ ôàêòîðîâ, òàêèõ êàê ÷àñòîòà äèñêåòèçàöèè, ñïåêòðàëüíàÿ õàðàêòåðèñòèêà âî âðåìåíè è ò.ä. Íåñìîòðÿ íà òî, ÷òî ôîðìàò FLAC ïîçâîëÿåò èñïîëüçîâàòü â ïîòîêå áëîêè ðàçëè÷íîãî ðàçìåðà, áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð. - -Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ.  ñëó÷àå ñòåðåîïîòîêîâ åíêîäåð ñîçäàåò ñðåäíèé è ðàçíîñòíûé ñèãíàëû, îñíîâàííûå íà ñðåäíåì çíà÷åíèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè è èõ ðàçíîñòè ñîîòâåòñòâåííî. Íà ñëåäóþùèé ýòàï êîäèðîâàíèÿ ïåðåäàåòñÿ ëó÷øèé èç âàðèàíòîâ ñæàòîãî ñèãíàëà. - -Ïðîãíîçèðîâàíèå. Äàëåå åíêîäåð ïûòàåòñÿ íàéòè ìàòåìàòè÷åñêîå îïèñàíèå ñèãíàëà (îáû÷íî ïðèáëèçèòåëüíîå). Çà÷àñòóþ îíî çíà÷èòåëüíî ìåíüøå ñàìîãî ñèãíàëà. Òàê êàê ìåòîäû ïðåäñêàçàíèÿ èçâåñòíû è êîäåðó, è äåêîäåðó â ïîòîêå íóæíî óêàçàòü òîëüêî ïàðàìåòðû ïðåäèêòîðà. Ñåé÷àñ FLAC èñïîëüçóåò ÷åòûðå ðàçëè÷íûõ êëàññà ïðåäèêòîðîâ (îïèñàííûõ â ðàçäåëå Ïðîãíîçèðîâàíèå), íî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå êëàññà ïðåäèêòîðà îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå. - -Êîäèðîâàíèå îñòàòêîâ. Åñëè ïðåäèêòîð íå îïèñûâàåò ñèãíàë òî÷íî, ðàçíèöà ìåæäó îðèãèíàëüíûì ñèãíàëîì è ñïðîãíîçèðîâàííûì (íàçûâàåìûì åùå îøèáî÷íûì èëè îñòàòî÷íûì) äîëæíà áûòü çàêîäèðîâàíà áåç ïîòåðü. Åñëè ïðåäñêàçàíèå ýôôåêòèâíî, îñòàòî÷íûé ñèãíàë áóäåò çàíèìàòü ìåíüøå áèò íà ñýìïë, ÷åì îðèãèíàëüíûé ñèãíàë. Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä äëÿ êîäèðîâàíèÿ îñòàòêîâ (ñì. ðàçäåë Êîäèðîâàíèå îñòàòêîâ), îäíàêî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå ìåòîäà êîäèðîâàíèÿ îñòàòêîâ îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå. -
 äîïîëíåíèå êî âñåìó îïðåäåëåíà ñèñòåìà ìåòàäàííûõ, ïîçâîëÿþùàÿ äîáàâëÿòü â íà÷àëî ïîòîêà ïðîèçâîëüíóþ èíôîðìàöèþ.
- - - -Ìíîãèå òåðìèíû, òàêèå êàê "áëîê" è "ôðåéì", èìåþò ðàçëè÷íîå çíà÷åíèå â ñõåìàõ êîäèðîâàíèÿ. Íàïðèìåð, ôðåéì â mp3 ñîîâåòñòâóåò ìíîãèì ñýìïëàì âî âñåõ êàíàëàõ, â òî âðåìÿ êàê ôðåéì S/PDIF ïðåäñòàâëÿåò òîëüêî îäèí ñýìïë äëÿ êàæäîãî êàíàëà. Îáðàòèòå âíèìàíèå íà òî, ÷òî, ãîâîðÿ î "áëîêàõ" è "ïîäáëîêàõ", ìû ññûëàåìñÿ íà íåçàêîäèðîâàííûå àóäèîäàííûå, à òåðìèíû "ôðåéì" è "ïîäôðåéì" èñïîëüçóåì äëÿ äàííûõ ñæàòûõ FLAC.
- --- - - -Áëîê - ýòî îäèí èëè áîëåå ñýìïëîâ, íàõîäÿùèõñÿ â íåñêîëüêèõ êàíàëàõ. - -Ïîäáëîê - ýòî îäèí èëè áîëåå ñýìïëîâ èç îäíîãî êàíàëà. Òàêèì îáðàçîì, áëîê ñîäåðæèò ïîäáëîê äëÿ êàæäîãî êàíàëà è âñå ïîäáëîêè â íåì ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ. - -Ðàçìåð áëîêà - ýòî êîëè÷åñòâî ñýìïëîâ â ëþáîì èç ñâîèõ ïîäáëîêîâ. Íàïðèìåð, áëîê äëèíîé â îäíó ñåêóíäó ñ ÷àñòîòîé äåñêðåòèçàöèè 44.1êÃö èìååò ðàçìåð áëîêà 44100 âíå çàâèñèìîñòè îò êîëè÷åñòâà êàíàëîâ. - -Ôðåéì - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî ïîäôðåéìîâ. - -Ïîäôðåéì - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî çàêîäèðîâàííûõ ñýìïëîâ èç äàííîãî êàíàëà. Âñå ïîäôðåéìû â äàííîì ôðåéìå ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ. -
Ðàçìåð áëîêîâ ñèëüíî âëèÿåò íà óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áëîêà áóäåò ñëèøêîì ìàë, òî â èòîãå ïîëó÷èòñÿ î÷åíü ìíîãî ôðåéìîâ, à ýòî çíà÷èò, ÷òî íà çàãîëîâêè áóäåò ïîòðà÷åíî ìíîãî áèòîâ. Åñëè æå ðàçìåð áëîêà áîëüøîé, à õàðàêòåðèñòèêè ñèãíàëà ñèëüíî âàðüèðóþòñÿ, åíêîäåð íå ñìîæåò íàéòè õîðîøèé ïðåäèêòîð. ×òîáû óïðîñòèòü êîäåê, FLAC îïðåäåëÿåò ìèíèìàëüíûé ðàçìåð áëîêà â 16 ñýìïëîâ, à ìàêñèìàëüíûé â 65535 ñýìïëîâ. Ýòîò èíòåðâàë ïîêðûâàåò îïòèìàëüíûå ðàçìåðû áëîêîâ äëÿ âñåõ àóäèîäàííûõ, ïîääåðæèâàåìûõ FLAC.
- -Ñåé÷àñ áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà, îïòèìèçèðîâàííûé ïî ÷àñòîòå äèñêðåòèçàöèè ââîäà. Ïîñëåäóþùèå âåðñèè ñìîãóò èçìåíÿòü ðàçìåð áëîêà â çàâèñèìîñòè îò õàðàêòåðèñòèê ñèãíàëà.
- -Ðàçáèòûå íà áëîêè äàííûå ïåðåäàþòñÿ íà ñòàäèþ ïðîãíîçèðîâàíèÿ ïî îäíîìó ïîäáëîêó. Êàæäûé ïîäáëîê êîäèðóåòñÿ â ïîäôðåéì íåçàâèñèìî, à ïîçæå îíè îáúåíäèíÿþòñÿ âî ôðåéì. Òàê êàê êàæäûé êàíàë êîäèðóåòñÿ îòäåëüíî, ýòî îçíà÷àåò, ÷òî îäèí êàíàë ñòåðåî ôðåéìà ìîæåò ñæèìàòüñÿ êàê ïîñòîÿííûé ïîäôðåéì, à âòîðîé êàê LPC ïîäôðåéì.
- - - - áîëüøèíñòâå ñëó÷àåâ â ñòåðåî ïîòîêàõ ñóùåñòâóåò äîñòàòî÷íûé óðîâåíü êîððåëÿöèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè. FLAC ïîçâîëÿåò ôðåéìàì â ñòåðåî ïîòîêàõ èìåòü ðàçëè÷íîå ðàñïðåäåëåíèå êàíàëîâ, à åíêîäåð ìîæåò èñïîëüçîâàòü ëó÷øåå ïðåäñòàâëåíèå.
- --- -Íåçàâèñèìîå. Ëåâûé è ïðàâûé êàíàëû êîäèðóþòñÿ íåçàâèñèìî. - -Ðàçíîñòíîå. Ëåâûé è ïðàâûé êàíàë ïðåîáðàçîâûâàþòñÿ â ñðåäíèé è îñòàòî÷íûé êàíàëû. Ñðåäíèé êàíàë - ýòî ñðåäíåå çíà÷åíèå ëåâîãî è ïðàâîãî ñèãíàëîâ, à îñòàòî÷íûé - ðàçíèöà ìåæäó íèìè (ëåâûé ìèíóñ ïðàâûé). - -Ëåâîñòîðîííåå. Êîäèðóåòñÿ ëåâûé è îñòàòî÷íûé êàíàëû. - -Ïðàâîîñòîðîííåå. Êîäèðóåòñÿ ïðàâûé è îñòàòî÷íûé êàíàëû. -
Îêàçûâàåòñÿ, ÷òî ëåâîñòîðîííåå è ïðàâîñòîðîííåå êîäèðîâàíèå ìîãóò áûòü áîëåå ýôôåêòèâíûìè âî ìíîãèõ ôðåéìàõ, íåñìîòðÿ íà òî, ÷òî íåîáõîäèìîå äëÿ îðèãèíàëüíîãî ñèãíàëà êîëè÷åñòâî áèòîâ íà ñýìïë íåìíîãî áîëüøå, ÷åì äëÿ íåçàâèñèìîãî èëè óñðåäíåííîãî êîäèðîâàíèÿ.
- - - -FLAC èñïîëüçóåò ÷åòûðå ìåòîäà äëÿ ìîäåëèðîâàíèÿ âõîäíîãî ñèãíàëà:
- --- - -Äîñëîâíûé. Ïî ñóùåñòâó ýòî ïðîãíîçèðîâàíèå ñèãíàëà íóëåâîãî óðîâíÿ. Ïðåäèêòîðîì ñèãíàëà ÿâëÿåòñÿ ñàì ñèãíàë, ïîòîìó ñæàòèå íå ïðîèñõîäèò. Ýòî îáðàçåö, ñ êîòîðûì ñâåðÿþòñÿ âñå îñòàëüíûå ïðåäèêòîðû. Åñëè ïåðåäàòü åíêîäåðó ñëó÷àéíûå äàííûå, äëÿ âñåõ ïîäáëîêîâ ñêîðå âñåãî áóäåò èñïîëüçîâàí äîñëîâíûé ïðåäèêòîð. Òàê êàê íåîáðàáîòàííûé ñèãíàë íå ïðîõîäèò ñòàäèþ êîäèðîâàíèÿ îñòàòêîâ, ðåçóëüòàòû íå áóäóò ñîâïàäàòü ñ ëèíåéíûì ïðåäèêòîðîì íóëåâîãî ïîðÿäêà. - -Ïîñòîÿííûé. Ýòîò ïðåäèêòîð èñïîëüçóåòñÿ, êîãäà ïîäáëîê ñîäåðæèò öèôðîâóþ òèøèíó, ò.å. íà âõîä ïîñòóïàåò îäíà êîíñòàíòà. Ñèãíàë êîäèðóåòñÿ ïî âñåé äëèíå è äîáàâëÿåòñÿ ê ïîòîêó. - -Ïîñòîÿííûé ëèíåéíûé ïðåäèêòîð. FLAC èñïîëüçóåò êëàññ ýôôåêòèâíî âû÷èñëÿåìûõ ïîñòîÿííûõ ëèíåéíûõ ïðåäèêòîðîâ (õîðîøåå îïèñàíèå ïðèâåäåíî ó Shorten è AudioPak). FLAC äîáàâëÿåò ïðåäèêòîð ÷åòâåðòîãî óðîâíÿ ê èñïîëüçîâàííûì â Shorten ïðåäèêòîðàì îò íóëåâîãî äî òðåòüåãî óðîâíÿ. Òàê êàê ïðåäèêòîðû ïîñòîÿííû, â ñæàòîì ïîòîêå íåîáõîäèìî ñîõðàíèòü òîëüêî ïîðÿäîê ïðåäèêòîðà. Îñòàòî÷íûé ñèãíàë ïåðåäàåòñÿ êîäåðó îñòàòêîâ. - -Ëèíåéíîå ïðîãíîçèðîâàíèå FIR. Äëÿ áîëåå òî÷íîãî ìîäåëèðîâàíèÿ (çà ñ÷åò ìåäëåííîé ðàáîòû) FLAC ïîääåðæèâàåò ëèíåéíîå ïðîãíîçèðîâàíèå FIR äî 32 ïîðÿäêà (ñì. Shorten è AudioPak). Áàçîâûé åíêîäåð èñïîëüçóåò ìåòîä Ëåâèíñîíà-Äàðáèíà äëÿ ðàñ÷åòà LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè è êîýôôèöèåíòû ðàçáèâàþòñÿ ïåðåä âû÷èñëåíèåì îñòàòêîâ.  òî âðåìÿ êàê òàêèå åíêîäåðû êàê Shorten èñïîëüçóþò ïîñòîÿííîå ðàçáèåíèå äëÿ âñåãî ââîäà, FLAC ïîçâîëÿåò äëÿ êàæäîãî ôðåéìà ìåíÿòü òî÷íîñòü êîýôôèöèåíòà ðàçáèåíèÿ. Áàçîâûé åíêîäåð FLAC îöåíèâàåò îïòèìàëüíóþ òî÷íîñòü, îñíîâûâàÿñü íà ðàçìåðå áëîêà è äèàïàçîíå îðèãèíàëüíîãî ñèãíàëà. -
Äëÿ êîäèðîâàíèÿ îñòàòî÷íîãî ñèãíàëà îò ñòàäèè ïðîãíîçèðîâàíèÿ FLAC èñïîëüçóåò äâà ïîõîæèõ ìåòîäà. Îñòàòî÷íûé ñèãíàë ñæèìàåòñÿ ñ èñïîëüçîâàíèåì êîäîâ Ðàéñà ñëåäóþùèìè ñïîñîáàìè:
- -- --
- Åíêîäåð îöåíèâàåò îäèíî÷íûé ïàðàìåòð Ðàéñà, îñíîâàííûé íà ðàçíèöå îñòàòêà è êîäîâ Ðàéñà. Âåñü îñòàòîê êîäèðóåòñÿ ñ èñïîëüçîâàíèåì ýòîãî ïàðàìåòðà.
- -- Îñòàòîê äåëèòñÿ íà íåñêîëüêî èíòåðâàëîâ îäèíàêîâîé äëèíû è êàæäûé èç íèõ êîäèðóåòñÿ ñî ñâîèì ïàðàìåòðîì Ðàéñà, îñíîâàííûì íà ñðåäíåì çíà÷åíèè äëÿ äàííîãî èíòåðâàëà.
-
Îáðàòèòå âíèìàíèå íà òî, ÷òî ïåðâûé ìåòîä ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì âòîðîãî ñ îäíèì èíòåðâàëîì. Îòëè÷èå ñîñòîèò â òîì, ÷òî â ïåðâîì ìåòîäå ïàðàìåòð Ðàéñà âû÷èñëÿåòñÿ äëÿ ðàçíèöû îñòàòêà, à íå äëÿ ñðåäíåãî çíà÷åíèÿ.
- -Â ôîðìàòå FLAC çàðåçåðâèðîâàíî ìåñòî äëÿ äðóãèõ ìåòîäîâ êîäèðîâàíèÿ. Êòî-íèáóäü ìîæåò ïîïûòàòüñÿ íàéòè ëó÷øåå êîíòåêñòíîå ìîäåëèðîâàíèå ïàðàìåòðà Ðàéñà èëè êîäèðîâàíèÿ Õàôôìàíà. Îïèñàíèÿ íåñêîëüêèõ óíèâåðñàëüíûõ êîäîâ ìîæíî íàéòè íà ñòðàíèöàõ LOCO-I è pucrunch.
- - - - ýòîì ðàçäåëå îïèñûâàåòñÿ ôîðìàò ôàéëà. Ôîðìàò FLAC íå ïðåäóñìàòðèâàåò ïîëÿ äëÿ íîìåðà âåðñèè, îäíàêî ñîäåðæèò íåñêîëüêî çàðåçåðâèðîâàííûõ ïîçèöèé. Ïîñëåäóþùèå âåðñèè ñìîãóò èñïîëüçîâàòü ýòî ìåñòî áåç íàðóøåíèÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè. Áîëåå ñòàðûå âåðñèè äåêîäåðîâ ìîãóò ëèáî ïðåêðàùàòü ðàáîòó, ëèáî ïðîïóñêàòü äàííûå, çàêîäèðîâàííûå íîâûìè ìåòîäàìè. Êðîìå òîãî çàðåçåðâèðîâàíû íåêîòîðûå ñïåöèàëüíûå çíà÷åíèÿ, êîòîðûå íå ìîãóò ïîÿâèòüñÿ íè â îäíîé èç âåðñèé ôîðìàòà. Ýòî îáû÷íî äåëàåòñÿ äëÿ óëó÷øåíèÿ ìåõàíèçìà ñèíõðîíèçàöèè.
- -Âñå ÷èñëà â ôîðìàòå FLAC ÿâëÿþòñÿ öåëûìè, ìëàäøèé áàéò êîòîðûõ çàïèñûâàåòñÿ âíà÷àëå (big-endian). ×èñëà ÿâëÿþòñÿ áåççíàêîâûìè, êðîìå òåõ ñëó÷àåâ, ãäå ÿâíî óêàçàíî îáðàòíîå.
- - -Ê ïîòîêó FLAC ìîãóò áûòü äîáàâëåíû òýãè ID3v1 (â êîíöå) è ID3v2 (â íà÷àëå). Ýòè äàííûå íå îòíîñÿòñÿ ê ôîðìàòó, îäíàêî äåêîäåð óìååò ïðîïóñêàòü èõ. Ïëàãèíû ââîäà ïîääåðæèâàþò òýãè ID3v1.
- -Ïåðåä ïîëíûì îïèñàíèåì ôîðìàòà ïðèâåäåì åãî êðàòêèé îáçîð.
- --- -Ôîðìàò FLAC ñîñòîèò èç ìàðêåðà "fLaC" â íà÷àëå ïîòîêà, çà êîòîðûì ñëåäóåò îáÿçàòåëüíûé áëîê STREAMINFO, ëþáîå êîëè÷åñòâî äðóãèõ áëîêîâ ìåòàäàííûõ, à çàòåì àóäèîôðåéìû. - -FLAC ïîääåðæèâàåò äî 128 áëîêîâ ìåòàäàííûõ. Ñåé÷àñ îïðåäåëåíû: - -- -
- -- STREAMINFO: Ýòîò áëîê ñîäåðæèò èíôîðìàöèþ îáî âñåì ïîòîêå (÷àñòîòó äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ, êîëè÷åñòâî ñýìïëîâ è ò.ä.). Îí âñåãäà äîëæåí áûòü ïåðâûì áëîêîì ìåòàäàííûõ â ïîòîêå. Ñëåäóþùèå áëîêè äîëæíû ñëåäîâàòü çà íèì, è ìîãóò áûòü ïðîïóùåíû äåêîäåðîì.
- - -- APPLICATION: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ èñïîëüçîâàíèÿ ïðèëîæåíèÿìè òðåòüèõ ëèö. Åäèíñòâåííûì îáÿçàòåëüíûì ïîëåì ÿâëÿåòñÿ 32-áèòíûé èäåíòèôèêàòîð, êîòîðûé âûäàåòñÿ ðàçðàáîò÷èêàìè FLAC. Ôîðìàò îñòàâøåéñÿ ÷àñòè áëîêà îïðåäåëÿåòñÿ çàðåãèñòðèðîâàííûì ïîä ýòèì íîìåðîì ïðèëîæåíèåì. ×òîáû ïîëó÷èòü id äëÿ ñâîåãî ïðèëîæåíèÿ, ïîñåòèòå ñòðàíèöó ðåãèñòðàöèè. - - -
- PADDING: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ ðåçåðâèðîâàíèÿ ìåñòà. Ñîäåðæèìîå áëîêà PADDING íå èìååò çíà÷åíèÿ. Îí ïîëåçåí â òîì ñëó÷àå, åñëè èçâåñòíî, ÷òî áëîê ïîñëå êîäèðîâàíèÿ áóäåò äîáàâëåí áëîê APPLICATION. Ïîëüçîâàòåëü ìîæåò çàðåçåðâèðîâàòü íåîáõîäèìîå ïðîñòðàíñòâî ñ ïîìîùüþ áëîêà PADDING, ÷òîáû ïðèëîæåíèå ñìîãëî çàïèñàòü íà åãî ìåñòî áëîê APPLICATION. Ýòà îïåðàöèÿ çàéìåò íàìíîãî ìåíüøå âðåìåíè, ÷åì âñòàâêà áëîêà â íà÷àëî ôàéëà, òàê êàê â âòîðîì ñëó÷àå ïîòðåáóåòñÿ åãî ïîëíàÿ ïåðåçàïèñü.
- - -- SEEKTABLE: Ýòî íåîáÿçàòåëüíûé áëîê äëÿ õðàíåíèÿ òî÷åê ïîèñêà.  ïîòîêå FLAC ìîæíî íàéòè ëþáîé ñýìïë áåç ýòîé òàáëèöû, îäíàêî çàäåðæêà ìîæåò áûòü íåïðåäñêàçóåìîé, òàê êàê áèòðåéò â ïîòîêå ìîæåò ñóùåñòâåííî ìåíÿòüñÿ. Ñ ïîìîùüþ òàáëèöû òî÷åê ïîèñêà ïàóçà ìîæåò áûòü ñóùåñòâåííî ñîêðàùåíà. Êàæäàÿ òî÷êà çàíèìàåò 18 áàéòîâ, ïîýòîìó äëÿ áûñòðîãî ïîèñêà ñ òî÷íîñòüþ äî 1% íåîáõîäèìî âñåãî 2êá.  ïîòîêå ìîæåò áûòü òîëüêî îäíè áëîê SEEKTABLE, íî â íåì ìîæåò áûòü ëþáîå êîëè÷åñòâî òî÷åê ïîèñêà. Òàêæå ñóùåñòâóþò ðåçåðâèðóåìûå òî÷êè, êîòîðûå ïðîïóñêàþòñÿ äåêîäåðîì, íî ìîãóò èñïîëüçîâàòüñÿ äëÿ ïîñëåäóþùèõ âñòàâîê ðåàëüíûõ òî÷åê ïîèñêà.
-Àóäèîïîòîê ñîñòîèò èç îäíîãî èëè íåñêîëüêèõ ôðåéìîâ. Ó êàæäîãî ôðåéìà åñòü çàãîëîâîê, ñîñòîÿùèé èç êîäà ñèíõðîíèçàöèè, èíôîðìàöèè î ôðåéìå (ðàçìåð áëîêà, ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ è ò.ï.) è âîñüìèáèòíîé êîíòðîëüíîé ñóììû. Òàêæå â çàãîëîâêå ñîäåðæèòñÿ ëèáî íîìåð ïåðâîãî ñýìïëà âî ôðåéìå îòíîñèòåëüíî âñåãî ïîòîêà (äëÿ ïîòîêîâ ñ èçìåíÿþùèìñÿ ðàçìåðîì áëîêà) èëè íîìåð ôðåéìà (äëÿ ïîòîêîâ ñ ïîñòîÿííûì ðàçìåðîì áëîêà). Ýòî ïîçâîëÿåò ïðîèçâîäèòü áûñòðûé è òî÷íûé ïîèñê. Äàëåå ñëåäóþò çàêîäèðîâàííûå ïîäôðåéìû (ïî îäíîìó íà êàæäûé êàíàë) è, íàêîíåö, ôðåéì, äîïîëíåííûé íóëÿìè äî ãðàíèöû áàéòà. Êàæäûé ïîäôðåéì èìååò ñâîé çàãîëîâîê, îïðåäåëÿþùèé ñïîñîá åãî äåêîäèðîâàíèÿ. - -Òàê êàê äåêîäåð ìîæåò íà÷àòü ðàáîòó â ñåðåäèíå ïîòîêà, äîëæåí áûòü ìåòîä îïðåäåëåíèÿ íà÷àëà ôðåéìà. Êàæäûé ôðåéì íà÷èíàåòñÿ ñ 14-áèòíîãî ñèíõðîíèçèðóþùåãî êîäà. Ýòîò êîä íå ìîæåò ïîÿâëÿòüñÿ íè â îäíîì äðóãîì ìåñòå çàãîëîâêà ôðåéìà. Îäíàêî òàê êàê ýòî êîä ìîæåò ïîÿâèòüñÿ â ïîäôðåéìàõ, ó äåêîäåðà åñòü äâà ñïîñîáà îïðåäåëèòü, ÷òî äàííàÿ ïîñëåäîâàòåëüíîñòü ÿâëÿåòñÿ íà÷àëîì ôðåéìà. Ñíà÷àëà ïðîâåðÿåòñÿ êîððåêòíîñòü äàííûõ âî âñåì ôðåéìå. Îäíàêî ýòîò øàã íå ìîæåò ãàðàíòèðîâàòü îòñóòñòâèÿ îøèáîê, ïîýòîìó äîïîëíèòåëüíî ïðîèçâîäèòñÿ ðàñ÷åò âîñüìèáèòíîé êîíòðîëüíîé ñóììû çàãîëîâêà ôðåéìà è ïîëó÷åííûé ðåçóëüòàò ñðàâíèâàåòñÿ ñî çíà÷åíèåì, ïîëó÷åííûì ïðè êîäèðîâàíèè è çàïèñàííûì ïîñëå çàãîëîâêà ôðåéìà. - -Êàæäûé ôðåéì äîëæåí ñîäåðæàòü îñíîâíóþ èíôîðìàöèþ î ïîòîêå, òàê êàê äåêîäåð ìîæåò íå èìåòü äîñòóïà ê áëîêó ìåòàäàííûõ STREAMINFO â íà÷àëå ïîòîêà. Ñþäà âõîäèò ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî áèò íà ñýìïë, êîëè÷åñòâî êàíàëîâ è ò.ä. Òàê êàê çàãîëîâîêè ôðåéìîâ âíîñÿò äîïîëíèòåëüíûå íàêëàäíûå ðàñõîäû, òî îíè âëèÿþò óðîâåíü ñæàòèÿ. ×òîáû ñäåëàòü çàãîëîâêè ôðåéìîâ ìèíèìàëüíûìè, FLAC èñïîëüçóåò òàáëèöû ïîèñêà äëÿ íàèáîëåå ÷àñòî èñïîëüçóåìûõ çíà÷åíèé ïàðàìåòðîâ ôðåìîâ. Íàïðèìåð, ÷àñòü, îòâå÷àþùàÿ çà ÷àñòîòó äèñêðåòèçàöèè, çàíèìàåò 4 áèòà. Âîñåìü ïðåäîïðåäåëåííûõ çíà÷åíèé ñîîòâåòñòâóþò íàèáîëåå ñàìûì ðàñïðîñòðàíåííûì ÷àñòîòàì (8/16/22.05/24/32/44.1/48/96 êÃö). Îäíàêî äîïîëíèòåëüíûå ÷àñòîòû ìîãóò áûòü èñïîëüçîâàíû ñ ïîìîùüþ ñïåöèàëüíîãî íàáîðà áèòîâ, óêàçûâàþùåãî äåêîäåðó, ÷òî íåîáõîäèìîå çíà÷åíèå íàõîäèòñÿ â êîíöå çàãîëîâêà. Òàêîé æå ìåòîä èñïîëüçóåòñÿ äëÿ óêàçàíèÿ ðàçìåðà áëîêà è êîëè÷åñòâà áèòîâ íà ñýìïë.  ýòîì ñëó÷àå çàãîëîâîê îñòàåòñÿ äîñòàòî÷íî ìàëûì äëÿ íàèáîëåå ðàñïðîñòðàíåííûõ òèïîâ àóäèîäàííûõ. - -Ïîäôðåéìû (ïî îäíîìó äëÿ êàæäîãî êàíàëà) êîäèðóþòñÿ âî ôðåéìå îòäåëüíî è õðàíÿòñÿ â ïîòîêå ïîñëåäîâàòåëüíî. Ýòî âåäåò ê óïðîùåíèþ äåêîäåðà, îäíàêî öåíîé ýòîìó ÿâëÿåòñÿ óâåëè÷åíèå ðàçìåðîâ áóôôåðà. Ó êàæäîãî ïîäôðåéìà åñòü ñâîé çàãîëîâîê, îïðåäåëÿþùèé åãî àòòðèáóòû (ìåòîä è ïîðÿäîê ïðîãíîçèðîâàíèÿ, ïàðàìåòðû êîäèðîâàíèÿ îñòàòêîâ è ò.ä.). Çà çàãîëîâêîì ñëåäóþò àóäèîäàííûå äëÿ ýòîãî êàíàëà. - - -Âî FLAC îïðåäåëåíî ñïåöèàëüíîå ïîäìíîæåñòâî ôîðìàòà (Subset format). Âñå ïîòîêè ñæàòûå ýòèì ìåòîäîì íà ñàìîì äåëå ÿâëÿþòñÿ ïîòîêîâûìè, òî åñòü äåêîäåð, êîòîðûé íå ìîæåò èñêàòü â ïîòîêå, èìååò âîçìîæíîñòü ïåðåéòè ê ëþáîé åãî òî÷êå è íà÷àòü âîñïðîèçâåäåíèå. Äëÿ ôàéëîâ, îòâå÷àþùèõ ýòîìó ïîäìíîæåñòâó ôîðìàòà, çíà÷èòåëüíî ïðîùå ñäåëàòü àïïàðàòíûé äåêîäåð. flac ïî óìîë÷àíèþ ñîçäàåò ïîòîêè, îòâå÷àþùèå ýòîìó ïîäìíîæåñòâó ôîðìàòà. Êëþ÷ --lax çàïðåùàåò ñîçäàíèå òàêèõ ïîòîêîâ. ×òîáû ôàéë îòâå÷àë äàííîìó ïîäìíîæåñòâó, äëÿ íåãî äîëæíû âûïîëíÿòüñÿ ñëåäóþùèå îãðàíè÷åíèÿ: - --
-- Çíà÷åíèå áèòîâ, îòâå÷àþùèõ çà ðàçìåð áëîêà, äîëæíî áûòü â ïðåäåëàõ 0001-0101 èëè 1000-1111. Ïîòîê äîëæåí ñîñòîÿòü èç áëîêîâ îäèíàêîâîãî ðàçìåðà (çà èñêëþ÷åíèåì ïîñëåäíåãî), à â áëîêå ìåòàäàííûõ STREAMINFO äîëæíû áûòü óêàçàíû ðàâíûå çíà÷åíèÿ äëÿ ìèíèìàëüíîãî è ìàêñèìàëüíîãî ðàçìåðà áëîêà.
- -- Êîëè÷åñòâî áèò íà ñýìïë â çàãîëîâêå ôðåéìà äîëæíî îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 001-110.
- -- ×àñòîòà äèñêðåòèçàöèè â çàãîëîâêå ôðåéìà äîëæíà îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 0001-1011.
-
 òàáëèöå ïðèâåäåíî ôîðìàëüíîå îïèñàíèå ôîðìàòà FLAC. ×èñëà â óãëîâûõ ñêîáêàõ ïîêàçûâàþò êîëè÷åñòâî áèòîâ, èñïîëüçóåìûõ äàííûì ïîëåì.
- - -ÏÎÒÎÊ | -|
<32> | -"fLaC", ìàðêåð ïîòîêà FLAC â êîäèðîâêå ASCII, îçíà÷àþùèé, ÷òî ïåðâûìè ÷åòûðüìÿ áàéòàìè ïîòîêà ÿâëÿþòñÿ 0x66, 0x4C, 0x61, 0x43 | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ | -Îáÿçàòåëüíûé áëîê ìåòàäàííûõ STREAMINFO, ñîäåðæàùèé îñíîâíûå ñâîéñòâà ïîòîêà | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ* | -Íîëü èëè áîëüøå áëîêîâ ìåòàäàííûõ | -
ÔÐÅÉÌ+ | -Îäèí èëè áîëüøå àóäèîôðåéìîâ | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ | -|
ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | -Çàãîëîâîê, îïðåäåëÿþùèé òèï è ðàçìåð áëîêà ìåòàäàííûõ | -
ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | -- |
ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | -|
<1> | Ôëàã ðàâíûé 1, åñëè äàííûé áëîê ìåòàäàííûõ ÿâëÿåòñÿ ïîñëåäíèì ïåðåä àóäèîáëîêàìè, 0 â ïðîòèâíîì ñëó÷àå | -
<7> | -Òèï áëîêà:
-
|
-
<24> | -Äëèíà â áàéòàõ ñîîòâåòñòâóþùåãî áëîêà ìåòàäàííûõ (íå âêëþ÷àåò ðàçìåð ÇÀÃÎËÎÂÊÀ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ) | -
ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | -|
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE | -Ñîäåðæèìîå áëîêà äîëæíî ñîîòâåòñòâîâàòü òèïó áëîêà, óêàçàííîìó â çàãîëîâêå | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO | -|
<16> | -Ìèíèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå. | -
<16> | -Ìàêñèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå. | -
<24> | -Ìèíèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî 0 | -
<24> | -Ìàêñèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî 0 | -
<20> | -×àñòîòà äèñêðåòèçàöèè â Ãö. | -
<3> | -(Êîëè÷åñòâî êàíàëîâ) - 1. FLAC ïîääåðæèâàåò îò 1 äî 8 êàíàëîâ. | -
<5> | -(Êîëè÷åñòâî áèòîâ íà ñýìïë) - 1. FLAC ïîääåðæèâàåò îò 1 äî 32 áèòîâ íà ñýìïë. Ñåé÷àñ áàçîâûå äåêîäåð è åíêîäåð ïîääåðæèâàþò äî 24 áèò íà ñýìïë. | -
<36> | -Êîëè÷åñòâî ñýìïëîâ â ïîòîêå. Åñëè çäåñü óêàçàí 0, òî êîëè÷åñòâî ñýìïëîâ íå èçâåñòíî. | -
<128> | -Ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ, êîòîðàÿ ïîçâîëÿåò äåêîäåðó îáíàðóæèòü îøèáêó, äàæå åñëè åå íàëè÷èå íå íàðóøàåò ñòðóêòóðó ïîòîêà. | -
- | Ïðèìå÷àíèÿ:
-
|
-
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING | -|
<n> | -n áèò ñî çíà÷åíèåì 0. n äîëæíî áûòü êðàòíî 8. | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION | -|
<32> | -Çàðåãèñòðèðîâàííûé id ïðèëîæåíèÿ (ñì. ñòðàíèöó ðåãèñòðàöèè) | -
<n> | -Äàííûå ïðèëîæåíèÿ. n äîëæíî áûòü êðàòíî 8. | -
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE | -|
SEEKPOINT+ | -Îäíà èëè áîëüøå òî÷åê ïîèñêà. | -
- | Ïðèìå÷àíèÿ:
-
|
-
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKPOINT | -|
<64> | -Íîìåð ñýìïëà â ïîòîêå ïåðâîãî ñýìïëà öåëåâîãî ôðåéìà èëè 0xFFFFFFFFFFFFFFFF äëÿ çàðåçåðâèðîâàííîé òî÷êè. | -
<64> | -Ñìåùåíèå â áàéòàõ îò ïåðâîãî áàéòà ïåðâîãî çàãîëîâêà ôðåéìà äî ïåðâîãî áàéòà çàãîëîâêà öåëåâîãî ôðåéìà. | -
<16> | -Êîëè÷åñòâî ñýìïëîâ â öåëåâîì ôðåéìå. | -
- | Ïðèìå÷àíèÿ:
-
|
-
ÔÐÅÉÌ | -|
ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ | -- |
ÏÎÄÔÐÅÉÌ+ | -Îäèí ïîäôðåéì íà êàíàë | -
<?> | -Âûðàâíèâàíèå íóëÿìè íà ãðàíèöó áàéòà | -
ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ | -- |
ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ | -|
<14> | -êîä ñèíõðîíèçàöèè 11111111111110 | -
<2> | -Çàðåçåðâèðîâàíî:
-
|
-
<4> | -Ðàçìåð áëîêà â ñýìïëàõ:
-
|
-
<4> | -×àñòîòà äèñêðåòèçàöèè:
-
|
-
<4> | -Ðàñïîëîæåíèå êàíàëîâ:
-
|
-
<3> | -Êîëè÷åñòâî áèòîâ íà ñýìïë:
-
|
-
<1> | -Äîïîëíåíèå íóëåì äî ãðàíèöû áèòà, ÷òîáû íå äîïóñòèòü îøèáêó ñèíõðîíèçàöèè | -
<?> | -Åñëè (ïåðåìåííûé ðàçìåð áëîêà) - <8-56> : íîìåð ñýìïëà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 36 áèò) - èíà÷å - <8-48> : íîìåð ôðåéìà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 31 áèò) |
-
<?> | -Åñëè (áèòîâàÿ ìàñêà ðàçìåðà áëîêà == 11x) - 8/16 áèò (ðàçìåð áëîêà - 1) |
-
<?> | -Åñëè (áèòîâàÿ ìàñêà ÷àñòîòû äèñêðåòèçàöèè == 11xx) - ÷àñòîòà äèñêðåòèçàöèè 8/16 áèò |
-
<8> | -8-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà (x^8 + x^2 + x^1 + x^0) äàííûõ çàãîëîâêà, âêëþ÷àÿ êîä ñèíõðîíèçàöèè (x èíèöèàëèçèðóåòñÿ íóëåì). | -
- | Ïðèìå÷àíèÿ:
-
|
-
ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ | -|
<16> | -16-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà (x^16 + x^15 + x^2 + x^0) âñåãî ôðåéìà (x èíèöèàëèçèðóåòñÿ íóëåì). | -
ÏÎÄÔÐÅÉÌ | -|
ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ | -- |
ÏÎÄÔÐÅÉÌ_CONSTANT || ÏÎÄÔÐÅÉÌ_FIXED || ÏÎÄÔÐÅÉÌ_LPC || ÏÎÄÔÐÅÉÌ_VERBATIM |
- Òèï ïîäôðåéìà, îïðåäåëÿåìûé â çàãîëîâêå | -
ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ | -|
<1> | -Áèò ðàâíûé 0, ÷òîáû ïðåäîòâðàòèòü îøèáêó ñèíõðîíèçàöèè. | -
<6> | -Òèï ïîäôðåéìà:
-
|
-
<1+k> | -Ôëàã 'íåèñïîëüçóåìûå áèòû íà ñýìïë':
-
|
-
- | Ïðèìå÷àíèÿ:
-
|
-
- -ÏÎÄÔÐÅÉÌ_CONSTANT | |
-<n> | -Íåñæàòîå ïîñòîÿííîå çíà÷åíèå ïîäáëîêà, n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå |
ÏÎÄÔÐÅÉÌ_FIXED | -|
<n> | -Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà). | -
ÎÑÒÀÒÎÊ | -Çàêîäèðîâàííûé îñòàòîê | -
ÏÎÄÔÐÅÉÌ_LPC | -|
<n> | -Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà). | -
<4> | -(òî÷íîñòü äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ (QLP)) - 1. Çíà÷åíèå 1111 íåäîïóñòèìî. | -
<5> | -Íåîáõîäèìûé ñäâèã äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. (Ïðèìå÷àíèå: ýòî ÷èñëî - çíàêîâîå äîïîëíåíèå äî äâóõ). | -
<n> | -Íåñæàòûå êîýôôèöèåíòû ïðîãíîçèðîâàíèÿ (n = òî÷íîñòü QLP * ïîðÿäîê LPC) (Ïðèìå÷àíèå: ýòè ÷èñëà ÿâëÿþòñÿ çíàêîâûìè äîïîëíåíèÿìè äî äâóõ). | -
ÎÑÒÀÒÎÊ | -Çàêîäèðîâàííûé îñòàòîê | -
ÏÎÄÔÐÅÉÌ_VERBATIM | -|
<n*i> | -Íåñæàòûé ïîäáëîê, n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, i - ðàçìåðó áëîêà | -
ÎÑÒÀÒÎÊ | -|
<2> | -Ìåòîä êîäèðîâàíèÿ îñòàòêîâ:
-
|
-
ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ | -- |
- | Ïðèìå÷àíèÿ:
-
|
-
ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ | -|
<4> | -Ïîðÿäîê ðàçäåëà | -
ÐÀÇÄÅË_ÐÀÉÑÀ+ | -Äàëåå ñëåäóþò 2^ïîðÿäîê ðàçäåëîâ | -
ÐÀÇÄÅË_ÐÀÉÑÀ | -|
<4(+5)> | -Ïàðàìåòð êîäèðîâàíèÿ:
-
|
-
<?> | -Çàêîäèðîâàííûé îñòàòîê. Êîëè÷åñòâî ñýìïëîâ n â ðàçäåëå îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
-
|
-
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
Çäåñü ïðèâåäåíî ïîëíîå îïèñàíèå ôîðìàòà FLAC. Ôîðìàò ñåé÷àñ íàõîäèòñÿ íà ñòàäèè áåòà-òåñòèðîâàíèÿ. Ýòî çíà÷èò, ÷òî èçìåíåíèÿ, íàðóøàþùèå îáðàòíóþ ñîâìåñòèìîñòü, áóäóò âíîñèòüñÿ òîëüêî â ñëó÷àå îáíàðóæåíèÿ ñåðüçíûõ îøèáîê â ôîðìàòå. Äî ïåðâîãî îôèöèàëüíîãî ðåëèçà ëó÷øå âîçäåðæàòüñÿ îò èñïîëüçîâàíèÿ FLAC äëÿ äîëãîâðåìåííîãî àðõèâèðîâàíèÿ äàííûõ.
+ + +Âî-ïåðâûõ, êàê îñíîâíîé ðàçðàáîò÷èê, ÿ äîëæåí îòìåòèòü, ÷òî íå ÿâëÿþñü ýêñïåðòîì â îáëàñòè ñæàòèÿ, ïîýòîìó ÷óâñòâóþ ñåáÿ îáÿçàííûì ïîáëàãîäàðèòü ìíîãèõ ëþäåé, ðàáîòàâøèõ íàä óëó÷øåíèåì àëãîðèòìîâ êîìïðåññèè àóäèîäàííûõ. Îòäåëüíóþ áëàãîäàðíîñòü ÿ âûðàæàþ:
+ +++ +Ý. Ðîáèíñîíó çà ðàáîòó íàä Shorten. Åãî êîä è ñòàòüÿ ïîñëóæèëè îòïðàâíîé òî÷êîé äëÿ íåñêîëüêèõ îñíîâíûõ ìåòîäîâ, çàëîæåííûõ âî FLAC. FLAC ðàçâèë èäåþ ïîñòîÿííûõ ïðåäèêòîðîâ, èñïîëüçóåìóþ â Shorten. + +Ñ. Ãîëîìáó è Ðîáåðòó Ðàéñó. Èõ óíèâåðñàëüíûå êîäû èñïîëüçóþòñÿ êîäåðîì ýíòðîïèè. + +Í. Ëåâèíñîíó è Äæ. Äàðáèíó. Áàçîâûé åíêîäåð èñïîëüçóåò ðàçðàáîòàííûé è óëó÷øåííûé èìè àëãîðèòì äëÿ îïðåäåëåíèÿ LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè. + +È, êîíå÷íî æå, Ê. Øåííîíó. +
--Äæîø Êîëñîí
+ + + +Îáùåèçâåñòíî, ÷òî íåò àëãîðèòìà, ñïîñîáíîãî ñæàòü áåç ïîòåðü âõîäíûå äàííûå ëþáîãî òèïà. Áîëüøèíñòâî àðõèâàòîðîâ ïîçèöèîíèðóþòñÿ äëÿ ðàáîòû ñ äàííûìè îïðåäåëåííîãî âèäà è îïòèìèçèðóþòñÿ äëÿ ýòîé îáëàñòè. FLAC ïðåäíàçíà÷åí äëÿ ñæàòèÿ àóäèîäàííûõ. Íåñìîòðÿ íà òî, ÷òî îí ìîæåò ñæàòü áåç ïîòåðü äàííûå ëþáîãî òèïà, òîëüêî îïðåäåëåííûé ââîä àðõèâèðóåòñÿ õîðîøî. FLAC èñïîëüçóåò òîò ôàêò, ÷òî îáû÷íî àóäèîäàííûå èìåþò âûñîêèé ïîðÿäîê êîððåëÿöèè ìåæäó ñýìïëàìè.
+ + îáëàñòè àóäèî ñóùåñòâóåò ìíîæåñòâî âîçìîæíûõ ïîäðàçäåëîâ. Íàïðèìåð, ðå÷ü ñ íèçêèì áèòðåéòîì, ìíîãîêàíàëüíàÿ ìóçûêà ñ âûñîêîé ÷àñòîòîé äèñêðåòèçàöèè è ò.ä. FLAC íå íàöåëåí íà êàêîé-ëèáî ïîäðàçäåë, îäíàêî áîëüøèíñòâî ïàðàìåòðîâ ïî óìîë÷àíèþ áàçîâîãî åíêîäåðà ðàññ÷èòàíû íà CD-àóäèî (ò.å. 44.1êÃö, 2 êàíàëà, 16 áèò íà ñýìïë). Âëèÿíèå ïàðàìåòðîâ êîäèðîâàíèÿ íà ðàçíûå òèïû àóäèî áóäåò ðàññìîòðåíî ïîçæå.
+ + +Ïîäîáíî áîëüøèíñòâó ïðîãðàìì ïîäáíîãî ðîäà, åíêîäåð FLAC âûïîëíÿåò ñëåäóþùèå äåéñòâèÿ:
+ +++ +Ðàçáèåíèå íà áëîêè. Ââîä ðàçáèâàåòñÿ íà ìíîæåñòâî ïîñëåäîâàòåëüíûõ áëîêîâ, êîòîðûå ìîãóò èìåòü ðàçëè÷íûé ðàçìåð. Îïòèìàëüíûé ðàçìåð áëîêà îáû÷íî çàâèñèò îò ìíîãèõ ôàêòîðîâ, òàêèõ êàê ÷àñòîòà äèñêåòèçàöèè, ñïåêòðàëüíàÿ õàðàêòåðèñòèêà âî âðåìåíè è ò.ä. Íåñìîòðÿ íà òî, ÷òî ôîðìàò FLAC ïîçâîëÿåò èñïîëüçîâàòü â ïîòîêå áëîêè ðàçëè÷íîãî ðàçìåðà, áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð. + +Ìåæêàíàëüíàÿ äåêîððåëÿöèÿ.  ñëó÷àå ñòåðåîïîòîêîâ åíêîäåð ñîçäàåò ñðåäíèé è ðàçíîñòíûé ñèãíàëû, îñíîâàííûå íà ñðåäíåì çíà÷åíèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè è èõ ðàçíîñòè ñîîòâåòñòâåííî. Íà ñëåäóþùèé ýòàï êîäèðîâàíèÿ ïåðåäàåòñÿ ëó÷øèé èç âàðèàíòîâ ñæàòîãî ñèãíàëà. + +Ïðîãíîçèðîâàíèå. Äàëåå åíêîäåð ïûòàåòñÿ íàéòè ìàòåìàòè÷åñêîå îïèñàíèå ñèãíàëà (îáû÷íî ïðèáëèçèòåëüíîå). Çà÷àñòóþ îíî çíà÷èòåëüíî ìåíüøå ñàìîãî ñèãíàëà. Òàê êàê ìåòîäû ïðåäñêàçàíèÿ èçâåñòíû è êîäåðó, è äåêîäåðó â ïîòîêå íóæíî óêàçàòü òîëüêî ïàðàìåòðû ïðåäèêòîðà. Ñåé÷àñ FLAC èñïîëüçóåò ÷åòûðå ðàçëè÷íûõ êëàññà ïðåäèêòîðîâ (îïèñàííûõ â ðàçäåëå Ïðîãíîçèðîâàíèå), íî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå êëàññà ïðåäèêòîðà îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå. + +Êîäèðîâàíèå îñòàòêîâ. Åñëè ïðåäèêòîð íå îïèñûâàåò ñèãíàë òî÷íî, ðàçíèöà ìåæäó îðèãèíàëüíûì ñèãíàëîì è ñïðîãíîçèðîâàííûì (íàçûâàåìûì åùå îøèáî÷íûì èëè îñòàòî÷íûì) äîëæíà áûòü çàêîäèðîâàíà áåç ïîòåðü. Åñëè ïðåäñêàçàíèå ýôôåêòèâíî, îñòàòî÷íûé ñèãíàë áóäåò çàíèìàòü ìåíüøå áèò íà ñýìïë, ÷åì îðèãèíàëüíûé ñèãíàë. Ñåé÷àñ FLAC èñïîëüçóåò òîëüêî îäèí ìåòîä äëÿ êîäèðîâàíèÿ îñòàòêîâ (ñì. ðàçäåë Êîäèðîâàíèå îñòàòêîâ), îäíàêî â ôîðìàòå ïðåäóñìîòðåíî ìåñòî äëÿ äîïîëíèòåëüíûõ ìåòîäîâ. FLAC äîïóñêàåò èçìåíåíèå ìåòîäà êîäèðîâàíèÿ îñòàòêîâ îò áëîêà ê áëîêó è äàæå â ïðåäåëàõ êàíàëà â áëîêå. +
 äîïîëíåíèå êî âñåìó îïðåäåëåíà ñèñòåìà ìåòàäàííûõ, ïîçâîëÿþùàÿ äîáàâëÿòü â íà÷àëî ïîòîêà ïðîèçâîëüíóþ èíôîðìàöèþ.
+ + + +Ìíîãèå òåðìèíû, òàêèå êàê "áëîê" è "ôðåéì", èìåþò ðàçëè÷íîå çíà÷åíèå â ñõåìàõ êîäèðîâàíèÿ. Íàïðèìåð, ôðåéì â mp3 ñîîâåòñòâóåò ìíîãèì ñýìïëàì âî âñåõ êàíàëàõ, â òî âðåìÿ êàê ôðåéì S/PDIF ïðåäñòàâëÿåò òîëüêî îäèí ñýìïë äëÿ êàæäîãî êàíàëà. Îáðàòèòå âíèìàíèå íà òî, ÷òî, ãîâîðÿ î "áëîêàõ" è "ïîäáëîêàõ", ìû ññûëàåìñÿ íà íåçàêîäèðîâàííûå àóäèîäàííûå, à òåðìèíû "ôðåéì" è "ïîäôðåéì" èñïîëüçóåì äëÿ äàííûõ ñæàòûõ FLAC.
+ +++ + + +Áëîê - ýòî îäèí èëè áîëåå ñýìïëîâ, íàõîäÿùèõñÿ â íåñêîëüêèõ êàíàëàõ. + +Ïîäáëîê - ýòî îäèí èëè áîëåå ñýìïëîâ èç îäíîãî êàíàëà. Òàêèì îáðàçîì, áëîê ñîäåðæèò ïîäáëîê äëÿ êàæäîãî êàíàëà è âñå ïîäáëîêè â íåì ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ. + +Ðàçìåð áëîêà - ýòî êîëè÷åñòâî ñýìïëîâ â ëþáîì èç ñâîèõ ïîäáëîêîâ. Íàïðèìåð, áëîê äëèíîé â îäíó ñåêóíäó ñ ÷àñòîòîé äåñêðåòèçàöèè 44.1êÃö èìååò ðàçìåð áëîêà 44100 âíå çàâèñèìîñòè îò êîëè÷åñòâà êàíàëîâ. + +Ôðåéì - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî ïîäôðåéìîâ. + +Ïîäôðåéì - ýòî çàãîëîâîê è îäèí èëè íåñêîëüêî çàêîäèðîâàííûõ ñýìïëîâ èç äàííîãî êàíàëà. Âñå ïîäôðåéìû â äàííîì ôðåéìå ñîäåðæàò îäèíàêîâîå êîëè÷åñòâî ñýìïëîâ. +
Ðàçìåð áëîêîâ ñèëüíî âëèÿåò íà óðîâåíü ñæàòèÿ. Åñëè ðàçìåð áëîêà áóäåò ñëèøêîì ìàë, òî â èòîãå ïîëó÷èòñÿ î÷åíü ìíîãî ôðåéìîâ, à ýòî çíà÷èò, ÷òî íà çàãîëîâêè áóäåò ïîòðà÷åíî ìíîãî áèòîâ. Åñëè æå ðàçìåð áëîêà áîëüøîé, à õàðàêòåðèñòèêè ñèãíàëà ñèëüíî âàðüèðóþòñÿ, åíêîäåð íå ñìîæåò íàéòè õîðîøèé ïðåäèêòîð. ×òîáû óïðîñòèòü êîäåê, FLAC îïðåäåëÿåò ìèíèìàëüíûé ðàçìåð áëîêà â 16 ñýìïëîâ, à ìàêñèìàëüíûé â 65535 ñýìïëîâ. Ýòîò èíòåðâàë ïîêðûâàåò îïòèìàëüíûå ðàçìåðû áëîêîâ äëÿ âñåõ àóäèîäàííûõ, ïîääåðæèâàåìûõ FLAC.
+ +Ñåé÷àñ áàçîâûé åíêîäåð èñïîëüçóåò ïîñòîÿííûé ðàçìåð áëîêà, îïòèìèçèðîâàííûé ïî ÷àñòîòå äèñêðåòèçàöèè ââîäà. Ïîñëåäóþùèå âåðñèè ñìîãóò èçìåíÿòü ðàçìåð áëîêà â çàâèñèìîñòè îò õàðàêòåðèñòèê ñèãíàëà.
+ +Ðàçáèòûå íà áëîêè äàííûå ïåðåäàþòñÿ íà ñòàäèþ ïðîãíîçèðîâàíèÿ ïî îäíîìó ïîäáëîêó. Êàæäûé ïîäáëîê êîäèðóåòñÿ â ïîäôðåéì íåçàâèñèìî, à ïîçæå îíè îáúåíäèíÿþòñÿ âî ôðåéì. Òàê êàê êàæäûé êàíàë êîäèðóåòñÿ îòäåëüíî, ýòî îçíà÷àåò, ÷òî îäèí êàíàë ñòåðåî ôðåéìà ìîæåò ñæèìàòüñÿ êàê ïîñòîÿííûé ïîäôðåéì, à âòîðîé êàê LPC ïîäôðåéì.
+ + + + áîëüøèíñòâå ñëó÷àåâ â ñòåðåî ïîòîêàõ ñóùåñòâóåò äîñòàòî÷íûé óðîâåíü êîððåëÿöèè ìåæäó ëåâûì è ïðàâûì êàíàëàìè. FLAC ïîçâîëÿåò ôðåéìàì â ñòåðåî ïîòîêàõ èìåòü ðàçëè÷íîå ðàñïðåäåëåíèå êàíàëîâ, à åíêîäåð ìîæåò èñïîëüçîâàòü ëó÷øåå ïðåäñòàâëåíèå.
+ +++ +Íåçàâèñèìîå. Ëåâûé è ïðàâûé êàíàëû êîäèðóþòñÿ íåçàâèñèìî. + +Ðàçíîñòíîå. Ëåâûé è ïðàâûé êàíàë ïðåîáðàçîâûâàþòñÿ â ñðåäíèé è îñòàòî÷íûé êàíàëû. Ñðåäíèé êàíàë - ýòî ñðåäíåå çíà÷åíèå ëåâîãî è ïðàâîãî ñèãíàëîâ, à îñòàòî÷íûé - ðàçíèöà ìåæäó íèìè (ëåâûé ìèíóñ ïðàâûé). + +Ëåâîñòîðîííåå. Êîäèðóåòñÿ ëåâûé è îñòàòî÷íûé êàíàëû. + +Ïðàâîîñòîðîííåå. Êîäèðóåòñÿ ïðàâûé è îñòàòî÷íûé êàíàëû. +
Îêàçûâàåòñÿ, ÷òî ëåâîñòîðîííåå è ïðàâîñòîðîííåå êîäèðîâàíèå ìîãóò áûòü áîëåå ýôôåêòèâíûìè âî ìíîãèõ ôðåéìàõ, íåñìîòðÿ íà òî, ÷òî íåîáõîäèìîå äëÿ îðèãèíàëüíîãî ñèãíàëà êîëè÷åñòâî áèòîâ íà ñýìïë íåìíîãî áîëüøå, ÷åì äëÿ íåçàâèñèìîãî èëè óñðåäíåííîãî êîäèðîâàíèÿ.
+ + + +FLAC èñïîëüçóåò ÷åòûðå ìåòîäà äëÿ ìîäåëèðîâàíèÿ âõîäíîãî ñèãíàëà:
+ +++ + +Äîñëîâíûé. Ïî ñóùåñòâó ýòî ïðîãíîçèðîâàíèå ñèãíàëà íóëåâîãî óðîâíÿ. Ïðåäèêòîðîì ñèãíàëà ÿâëÿåòñÿ ñàì ñèãíàë, ïîòîìó ñæàòèå íå ïðîèñõîäèò. Ýòî îáðàçåö, ñ êîòîðûì ñâåðÿþòñÿ âñå îñòàëüíûå ïðåäèêòîðû. Åñëè ïåðåäàòü åíêîäåðó ñëó÷àéíûå äàííûå, äëÿ âñåõ ïîäáëîêîâ ñêîðå âñåãî áóäåò èñïîëüçîâàí äîñëîâíûé ïðåäèêòîð. Òàê êàê íåîáðàáîòàííûé ñèãíàë íå ïðîõîäèò ñòàäèþ êîäèðîâàíèÿ îñòàòêîâ, ðåçóëüòàòû íå áóäóò ñîâïàäàòü ñ ëèíåéíûì ïðåäèêòîðîì íóëåâîãî ïîðÿäêà. + +Ïîñòîÿííûé. Ýòîò ïðåäèêòîð èñïîëüçóåòñÿ, êîãäà ïîäáëîê ñîäåðæèò öèôðîâóþ òèøèíó, ò.å. íà âõîä ïîñòóïàåò îäíà êîíñòàíòà. Ñèãíàë êîäèðóåòñÿ ïî âñåé äëèíå è äîáàâëÿåòñÿ ê ïîòîêó. + +Ïîñòîÿííûé ëèíåéíûé ïðåäèêòîð. FLAC èñïîëüçóåò êëàññ ýôôåêòèâíî âû÷èñëÿåìûõ ïîñòîÿííûõ ëèíåéíûõ ïðåäèêòîðîâ (õîðîøåå îïèñàíèå ïðèâåäåíî ó Shorten è AudioPak). FLAC äîáàâëÿåò ïðåäèêòîð ÷åòâåðòîãî óðîâíÿ ê èñïîëüçîâàííûì â Shorten ïðåäèêòîðàì îò íóëåâîãî äî òðåòüåãî óðîâíÿ. Òàê êàê ïðåäèêòîðû ïîñòîÿííû, â ñæàòîì ïîòîêå íåîáõîäèìî ñîõðàíèòü òîëüêî ïîðÿäîê ïðåäèêòîðà. Îñòàòî÷íûé ñèãíàë ïåðåäàåòñÿ êîäåðó îñòàòêîâ. + +Ëèíåéíîå ïðîãíîçèðîâàíèå FIR. Äëÿ áîëåå òî÷íîãî ìîäåëèðîâàíèÿ (çà ñ÷åò ìåäëåííîé ðàáîòû) FLAC ïîääåðæèâàåò ëèíåéíîå ïðîãíîçèðîâàíèå FIR äî 32 ïîðÿäêà (ñì. Shorten è AudioPak). Áàçîâûé åíêîäåð èñïîëüçóåò ìåòîä Ëåâèíñîíà-Äàðáèíà äëÿ ðàñ÷åòà LPC êîýôôèöèåíòîâ èç êîýôôèöèåíòîâ àâòîêîððåëÿöèè è êîýôôèöèåíòû ðàçáèâàþòñÿ ïåðåä âû÷èñëåíèåì îñòàòêîâ.  òî âðåìÿ êàê òàêèå åíêîäåðû êàê Shorten èñïîëüçóþò ïîñòîÿííîå ðàçáèåíèå äëÿ âñåãî ââîäà, FLAC ïîçâîëÿåò äëÿ êàæäîãî ôðåéìà ìåíÿòü òî÷íîñòü êîýôôèöèåíòà ðàçáèåíèÿ. Áàçîâûé åíêîäåð FLAC îöåíèâàåò îïòèìàëüíóþ òî÷íîñòü, îñíîâûâàÿñü íà ðàçìåðå áëîêà è äèàïàçîíå îðèãèíàëüíîãî ñèãíàëà. +
Äëÿ êîäèðîâàíèÿ îñòàòî÷íîãî ñèãíàëà îò ñòàäèè ïðîãíîçèðîâàíèÿ FLAC èñïîëüçóåò äâà ïîõîæèõ ìåòîäà. Îñòàòî÷íûé ñèãíàë ñæèìàåòñÿ ñ èñïîëüçîâàíèåì êîäîâ Ðàéñà ñëåäóþùèìè ñïîñîáàìè:
+ ++ ++
- Åíêîäåð îöåíèâàåò îäèíî÷íûé ïàðàìåòð Ðàéñà, îñíîâàííûé íà ðàçíèöå îñòàòêà è êîäîâ Ðàéñà. Âåñü îñòàòîê êîäèðóåòñÿ ñ èñïîëüçîâàíèåì ýòîãî ïàðàìåòðà.
+ +- Îñòàòîê äåëèòñÿ íà íåñêîëüêî èíòåðâàëîâ îäèíàêîâîé äëèíû è êàæäûé èç íèõ êîäèðóåòñÿ ñî ñâîèì ïàðàìåòðîì Ðàéñà, îñíîâàííûì íà ñðåäíåì çíà÷åíèè äëÿ äàííîãî èíòåðâàëà.
+
Îáðàòèòå âíèìàíèå íà òî, ÷òî ïåðâûé ìåòîä ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì âòîðîãî ñ îäíèì èíòåðâàëîì. Îòëè÷èå ñîñòîèò â òîì, ÷òî â ïåðâîì ìåòîäå ïàðàìåòð Ðàéñà âû÷èñëÿåòñÿ äëÿ ðàçíèöû îñòàòêà, à íå äëÿ ñðåäíåãî çíà÷åíèÿ.
+ +Â ôîðìàòå FLAC çàðåçåðâèðîâàíî ìåñòî äëÿ äðóãèõ ìåòîäîâ êîäèðîâàíèÿ. Êòî-íèáóäü ìîæåò ïîïûòàòüñÿ íàéòè ëó÷øåå êîíòåêñòíîå ìîäåëèðîâàíèå ïàðàìåòðà Ðàéñà èëè êîäèðîâàíèÿ Õàôôìàíà. Îïèñàíèÿ íåñêîëüêèõ óíèâåðñàëüíûõ êîäîâ ìîæíî íàéòè íà ñòðàíèöàõ LOCO-I è pucrunch.
+ + + + ýòîì ðàçäåëå îïèñûâàåòñÿ ôîðìàò ôàéëà. Ôîðìàò FLAC íå ïðåäóñìàòðèâàåò ïîëÿ äëÿ íîìåðà âåðñèè, îäíàêî ñîäåðæèò íåñêîëüêî çàðåçåðâèðîâàííûõ ïîçèöèé. Ïîñëåäóþùèå âåðñèè ñìîãóò èñïîëüçîâàòü ýòî ìåñòî áåç íàðóøåíèÿ ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè. Áîëåå ñòàðûå âåðñèè äåêîäåðîâ ìîãóò ëèáî ïðåêðàùàòü ðàáîòó, ëèáî ïðîïóñêàòü äàííûå, çàêîäèðîâàííûå íîâûìè ìåòîäàìè. Êðîìå òîãî çàðåçåðâèðîâàíû íåêîòîðûå ñïåöèàëüíûå çíà÷åíèÿ, êîòîðûå íå ìîãóò ïîÿâèòüñÿ íè â îäíîé èç âåðñèé ôîðìàòà. Ýòî îáû÷íî äåëàåòñÿ äëÿ óëó÷øåíèÿ ìåõàíèçìà ñèíõðîíèçàöèè.
+ +Âñå ÷èñëà â ôîðìàòå FLAC ÿâëÿþòñÿ öåëûìè, ìëàäøèé áàéò êîòîðûõ çàïèñûâàåòñÿ âíà÷àëå (big-endian). ×èñëà ÿâëÿþòñÿ áåççíàêîâûìè, êðîìå òåõ ñëó÷àåâ, ãäå ÿâíî óêàçàíî îáðàòíîå.
+ + +Ê ïîòîêó FLAC ìîãóò áûòü äîáàâëåíû òýãè ID3v1 (â êîíöå) è ID3v2 (â íà÷àëå). Ýòè äàííûå íå îòíîñÿòñÿ ê ôîðìàòó, îäíàêî äåêîäåð óìååò ïðîïóñêàòü èõ. Ïëàãèíû ââîäà ïîääåðæèâàþò òýãè ID3v1.
+ +Ïåðåä ïîëíûì îïèñàíèåì ôîðìàòà ïðèâåäåì åãî êðàòêèé îáçîð.
+ +++ +Ôîðìàò FLAC ñîñòîèò èç ìàðêåðà "fLaC" â íà÷àëå ïîòîêà, çà êîòîðûì ñëåäóåò îáÿçàòåëüíûé áëîê STREAMINFO, ëþáîå êîëè÷åñòâî äðóãèõ áëîêîâ ìåòàäàííûõ, à çàòåì àóäèîôðåéìû. + +FLAC ïîääåðæèâàåò äî 128 áëîêîâ ìåòàäàííûõ. Ñåé÷àñ îïðåäåëåíû: + ++ +
+ +- STREAMINFO: Ýòîò áëîê ñîäåðæèò èíôîðìàöèþ îáî âñåì ïîòîêå (÷àñòîòó äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ, êîëè÷åñòâî ñýìïëîâ è ò.ä.). Îí âñåãäà äîëæåí áûòü ïåðâûì áëîêîì ìåòàäàííûõ â ïîòîêå. Ñëåäóþùèå áëîêè äîëæíû ñëåäîâàòü çà íèì, è ìîãóò áûòü ïðîïóùåíû äåêîäåðîì.
+ + +- APPLICATION: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ èñïîëüçîâàíèÿ ïðèëîæåíèÿìè òðåòüèõ ëèö. Åäèíñòâåííûì îáÿçàòåëüíûì ïîëåì ÿâëÿåòñÿ 32-áèòíûé èäåíòèôèêàòîð, êîòîðûé âûäàåòñÿ ðàçðàáîò÷èêàìè FLAC. Ôîðìàò îñòàâøåéñÿ ÷àñòè áëîêà îïðåäåëÿåòñÿ çàðåãèñòðèðîâàííûì ïîä ýòèì íîìåðîì ïðèëîæåíèåì. ×òîáû ïîëó÷èòü id äëÿ ñâîåãî ïðèëîæåíèÿ, ïîñåòèòå ñòðàíèöó ðåãèñòðàöèè. + + +
- PADDING: Ýòîò áëîê ïðåäíàçíà÷åí äëÿ ðåçåðâèðîâàíèÿ ìåñòà. Ñîäåðæèìîå áëîêà PADDING íå èìååò çíà÷åíèÿ. Îí ïîëåçåí â òîì ñëó÷àå, åñëè èçâåñòíî, ÷òî áëîê ïîñëå êîäèðîâàíèÿ áóäåò äîáàâëåí áëîê APPLICATION. Ïîëüçîâàòåëü ìîæåò çàðåçåðâèðîâàòü íåîáõîäèìîå ïðîñòðàíñòâî ñ ïîìîùüþ áëîêà PADDING, ÷òîáû ïðèëîæåíèå ñìîãëî çàïèñàòü íà åãî ìåñòî áëîê APPLICATION. Ýòà îïåðàöèÿ çàéìåò íàìíîãî ìåíüøå âðåìåíè, ÷åì âñòàâêà áëîêà â íà÷àëî ôàéëà, òàê êàê â âòîðîì ñëó÷àå ïîòðåáóåòñÿ åãî ïîëíàÿ ïåðåçàïèñü.
+ + +- SEEKTABLE: Ýòî íåîáÿçàòåëüíûé áëîê äëÿ õðàíåíèÿ òî÷åê ïîèñêà.  ïîòîêå FLAC ìîæíî íàéòè ëþáîé ñýìïë áåç ýòîé òàáëèöû, îäíàêî çàäåðæêà ìîæåò áûòü íåïðåäñêàçóåìîé, òàê êàê áèòðåéò â ïîòîêå ìîæåò ñóùåñòâåííî ìåíÿòüñÿ. Ñ ïîìîùüþ òàáëèöû òî÷åê ïîèñêà ïàóçà ìîæåò áûòü ñóùåñòâåííî ñîêðàùåíà. Êàæäàÿ òî÷êà çàíèìàåò 18 áàéòîâ, ïîýòîìó äëÿ áûñòðîãî ïîèñêà ñ òî÷íîñòüþ äî 1% íåîáõîäèìî âñåãî 2êá.  ïîòîêå ìîæåò áûòü òîëüêî îäíè áëîê SEEKTABLE, íî â íåì ìîæåò áûòü ëþáîå êîëè÷åñòâî òî÷åê ïîèñêà. Òàêæå ñóùåñòâóþò ðåçåðâèðóåìûå òî÷êè, êîòîðûå ïðîïóñêàþòñÿ äåêîäåðîì, íî ìîãóò èñïîëüçîâàòüñÿ äëÿ ïîñëåäóþùèõ âñòàâîê ðåàëüíûõ òî÷åê ïîèñêà.
+Àóäèîïîòîê ñîñòîèò èç îäíîãî èëè íåñêîëüêèõ ôðåéìîâ. Ó êàæäîãî ôðåéìà åñòü çàãîëîâîê, ñîñòîÿùèé èç êîäà ñèíõðîíèçàöèè, èíôîðìàöèè î ôðåéìå (ðàçìåð áëîêà, ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî êàíàëîâ è ò.ï.) è âîñüìèáèòíîé êîíòðîëüíîé ñóììû. Òàêæå â çàãîëîâêå ñîäåðæèòñÿ ëèáî íîìåð ïåðâîãî ñýìïëà âî ôðåéìå îòíîñèòåëüíî âñåãî ïîòîêà (äëÿ ïîòîêîâ ñ èçìåíÿþùèìñÿ ðàçìåðîì áëîêà) èëè íîìåð ôðåéìà (äëÿ ïîòîêîâ ñ ïîñòîÿííûì ðàçìåðîì áëîêà). Ýòî ïîçâîëÿåò ïðîèçâîäèòü áûñòðûé è òî÷íûé ïîèñê. Äàëåå ñëåäóþò çàêîäèðîâàííûå ïîäôðåéìû (ïî îäíîìó íà êàæäûé êàíàë) è, íàêîíåö, ôðåéì, äîïîëíåííûé íóëÿìè äî ãðàíèöû áàéòà. Êàæäûé ïîäôðåéì èìååò ñâîé çàãîëîâîê, îïðåäåëÿþùèé ñïîñîá åãî äåêîäèðîâàíèÿ. + +Òàê êàê äåêîäåð ìîæåò íà÷àòü ðàáîòó â ñåðåäèíå ïîòîêà, äîëæåí áûòü ìåòîä îïðåäåëåíèÿ íà÷àëà ôðåéìà. Êàæäûé ôðåéì íà÷èíàåòñÿ ñ 14-áèòíîãî ñèíõðîíèçèðóþùåãî êîäà. Ýòîò êîä íå ìîæåò ïîÿâëÿòüñÿ íè â îäíîì äðóãîì ìåñòå çàãîëîâêà ôðåéìà. Îäíàêî òàê êàê ýòî êîä ìîæåò ïîÿâèòüñÿ â ïîäôðåéìàõ, ó äåêîäåðà åñòü äâà ñïîñîáà îïðåäåëèòü, ÷òî äàííàÿ ïîñëåäîâàòåëüíîñòü ÿâëÿåòñÿ íà÷àëîì ôðåéìà. Ñíà÷àëà ïðîâåðÿåòñÿ êîððåêòíîñòü äàííûõ âî âñåì ôðåéìå. Îäíàêî ýòîò øàã íå ìîæåò ãàðàíòèðîâàòü îòñóòñòâèÿ îøèáîê, ïîýòîìó äîïîëíèòåëüíî ïðîèçâîäèòñÿ ðàñ÷åò âîñüìèáèòíîé êîíòðîëüíîé ñóììû çàãîëîâêà ôðåéìà è ïîëó÷åííûé ðåçóëüòàò ñðàâíèâàåòñÿ ñî çíà÷åíèåì, ïîëó÷åííûì ïðè êîäèðîâàíèè è çàïèñàííûì ïîñëå çàãîëîâêà ôðåéìà. + +Êàæäûé ôðåéì äîëæåí ñîäåðæàòü îñíîâíóþ èíôîðìàöèþ î ïîòîêå, òàê êàê äåêîäåð ìîæåò íå èìåòü äîñòóïà ê áëîêó ìåòàäàííûõ STREAMINFO â íà÷àëå ïîòîêà. Ñþäà âõîäèò ÷àñòîòà äèñêðåòèçàöèè, êîëè÷åñòâî áèò íà ñýìïë, êîëè÷åñòâî êàíàëîâ è ò.ä. Òàê êàê çàãîëîâîêè ôðåéìîâ âíîñÿò äîïîëíèòåëüíûå íàêëàäíûå ðàñõîäû, òî îíè âëèÿþò óðîâåíü ñæàòèÿ. ×òîáû ñäåëàòü çàãîëîâêè ôðåéìîâ ìèíèìàëüíûìè, FLAC èñïîëüçóåò òàáëèöû ïîèñêà äëÿ íàèáîëåå ÷àñòî èñïîëüçóåìûõ çíà÷åíèé ïàðàìåòðîâ ôðåìîâ. Íàïðèìåð, ÷àñòü, îòâå÷àþùàÿ çà ÷àñòîòó äèñêðåòèçàöèè, çàíèìàåò 4 áèòà. Âîñåìü ïðåäîïðåäåëåííûõ çíà÷åíèé ñîîòâåòñòâóþò íàèáîëåå ñàìûì ðàñïðîñòðàíåííûì ÷àñòîòàì (8/16/22.05/24/32/44.1/48/96 êÃö). Îäíàêî äîïîëíèòåëüíûå ÷àñòîòû ìîãóò áûòü èñïîëüçîâàíû ñ ïîìîùüþ ñïåöèàëüíîãî íàáîðà áèòîâ, óêàçûâàþùåãî äåêîäåðó, ÷òî íåîáõîäèìîå çíà÷åíèå íàõîäèòñÿ â êîíöå çàãîëîâêà. Òàêîé æå ìåòîä èñïîëüçóåòñÿ äëÿ óêàçàíèÿ ðàçìåðà áëîêà è êîëè÷åñòâà áèòîâ íà ñýìïë.  ýòîì ñëó÷àå çàãîëîâîê îñòàåòñÿ äîñòàòî÷íî ìàëûì äëÿ íàèáîëåå ðàñïðîñòðàíåííûõ òèïîâ àóäèîäàííûõ. + +Ïîäôðåéìû (ïî îäíîìó äëÿ êàæäîãî êàíàëà) êîäèðóþòñÿ âî ôðåéìå îòäåëüíî è õðàíÿòñÿ â ïîòîêå ïîñëåäîâàòåëüíî. Ýòî âåäåò ê óïðîùåíèþ äåêîäåðà, îäíàêî öåíîé ýòîìó ÿâëÿåòñÿ óâåëè÷åíèå ðàçìåðîâ áóôôåðà. Ó êàæäîãî ïîäôðåéìà åñòü ñâîé çàãîëîâîê, îïðåäåëÿþùèé åãî àòòðèáóòû (ìåòîä è ïîðÿäîê ïðîãíîçèðîâàíèÿ, ïàðàìåòðû êîäèðîâàíèÿ îñòàòêîâ è ò.ä.). Çà çàãîëîâêîì ñëåäóþò àóäèîäàííûå äëÿ ýòîãî êàíàëà. + + +Âî FLAC îïðåäåëåíî ñïåöèàëüíîå ïîäìíîæåñòâî ôîðìàòà (Subset format). Âñå ïîòîêè ñæàòûå ýòèì ìåòîäîì íà ñàìîì äåëå ÿâëÿþòñÿ ïîòîêîâûìè, òî åñòü äåêîäåð, êîòîðûé íå ìîæåò èñêàòü â ïîòîêå, èìååò âîçìîæíîñòü ïåðåéòè ê ëþáîé åãî òî÷êå è íà÷àòü âîñïðîèçâåäåíèå. Äëÿ ôàéëîâ, îòâå÷àþùèõ ýòîìó ïîäìíîæåñòâó ôîðìàòà, çíà÷èòåëüíî ïðîùå ñäåëàòü àïïàðàòíûé äåêîäåð. flac ïî óìîë÷àíèþ ñîçäàåò ïîòîêè, îòâå÷àþùèå ýòîìó ïîäìíîæåñòâó ôîðìàòà. Êëþ÷ --lax çàïðåùàåò ñîçäàíèå òàêèõ ïîòîêîâ. ×òîáû ôàéë îòâå÷àë äàííîìó ïîäìíîæåñòâó, äëÿ íåãî äîëæíû âûïîëíÿòüñÿ ñëåäóþùèå îãðàíè÷åíèÿ: + ++
+- Çíà÷åíèå áèòîâ, îòâå÷àþùèõ çà ðàçìåð áëîêà, äîëæíî áûòü â ïðåäåëàõ 0001-0101 èëè 1000-1111. Ïîòîê äîëæåí ñîñòîÿòü èç áëîêîâ îäèíàêîâîãî ðàçìåðà (çà èñêëþ÷åíèåì ïîñëåäíåãî), à â áëîêå ìåòàäàííûõ STREAMINFO äîëæíû áûòü óêàçàíû ðàâíûå çíà÷åíèÿ äëÿ ìèíèìàëüíîãî è ìàêñèìàëüíîãî ðàçìåðà áëîêà.
+ +- Êîëè÷åñòâî áèò íà ñýìïë â çàãîëîâêå ôðåéìà äîëæíî îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 001-110.
+ +- ×àñòîòà äèñêðåòèçàöèè â çàãîëîâêå ôðåéìà äîëæíà îïèñûâàòüñÿ ñëåäóþùèì äèàïàçîíîì áèòîâ 0001-1011.
+
 òàáëèöå ïðèâåäåíî ôîðìàëüíîå îïèñàíèå ôîðìàòà FLAC. ×èñëà â óãëîâûõ ñêîáêàõ ïîêàçûâàþò êîëè÷åñòâî áèòîâ, èñïîëüçóåìûõ äàííûì ïîëåì.
+ + +ÏÎÒÎÊ | +|
<32> | +"fLaC", ìàðêåð ïîòîêà FLAC â êîäèðîâêå ASCII, îçíà÷àþùèé, ÷òî ïåðâûìè ÷åòûðüìÿ áàéòàìè ïîòîêà ÿâëÿþòñÿ 0x66, 0x4C, 0x61, 0x43 | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ | +Îáÿçàòåëüíûé áëîê ìåòàäàííûõ STREAMINFO, ñîäåðæàùèé îñíîâíûå ñâîéñòâà ïîòîêà | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ* | +Íîëü èëè áîëüøå áëîêîâ ìåòàäàííûõ | +
ÔÐÅÉÌ+ | +Îäèí èëè áîëüøå àóäèîôðåéìîâ | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ | +|
ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | +Çàãîëîâîê, îïðåäåëÿþùèé òèï è ðàçìåð áëîêà ìåòàäàííûõ | +
ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | ++ |
ÇÀÃÎËÎÂÎÊ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | +|
<1> | Ôëàã ðàâíûé 1, åñëè äàííûé áëîê ìåòàäàííûõ ÿâëÿåòñÿ ïîñëåäíèì ïåðåä àóäèîáëîêàìè, 0 â ïðîòèâíîì ñëó÷àå | +
<7> | +Òèï áëîêà:
+
|
+
<24> | +Äëèíà â áàéòàõ ñîîòâåòñòâóþùåãî áëîêà ìåòàäàííûõ (íå âêëþ÷àåò ðàçìåð ÇÀÃÎËÎÂÊÀ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ) | +
ÑÎÄÅÐÆÈÌÎÅ_ÁËÎÊÀ_ÌÅÒÀÄÀÍÍÛÕ | +|
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION || ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE | +Ñîäåðæèìîå áëîêà äîëæíî ñîîòâåòñòâîâàòü òèïó áëîêà, óêàçàííîìó â çàãîëîâêå | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_STREAMINFO | +|
<16> | +Ìèíèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå. | +
<16> | +Ìàêñèìàëüíûé ðàçìåð áëîêà â ñýìïëàõ â äàííîì ïîòîêå. | +
<24> | +Ìèíèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî 0 | +
<24> | +Ìàêñèìàëüíûé ðàçìåð ôðåéìà â áàéòàõ â äàííîì ïîòîêå. Åñëè çíà÷åíèå íå èçâåñòíî, òî 0 | +
<20> | +×àñòîòà äèñêðåòèçàöèè â Ãö. | +
<3> | +(Êîëè÷åñòâî êàíàëîâ) - 1. FLAC ïîääåðæèâàåò îò 1 äî 8 êàíàëîâ. | +
<5> | +(Êîëè÷åñòâî áèòîâ íà ñýìïë) - 1. FLAC ïîääåðæèâàåò îò 1 äî 32 áèòîâ íà ñýìïë. Ñåé÷àñ áàçîâûå äåêîäåð è åíêîäåð ïîääåðæèâàþò äî 24 áèò íà ñýìïë. | +
<36> | +Êîëè÷åñòâî ñýìïëîâ â ïîòîêå. Åñëè çäåñü óêàçàí 0, òî êîëè÷åñòâî ñýìïëîâ íå èçâåñòíî. | +
<128> | +Ïîäïèñü MD5 íåñæàòûõ àóäèîäàííûõ, êîòîðàÿ ïîçâîëÿåò äåêîäåðó îáíàðóæèòü îøèáêó, äàæå åñëè åå íàëè÷èå íå íàðóøàåò ñòðóêòóðó ïîòîêà. | +
+ | Ïðèìå÷àíèÿ:
+
|
+
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_PADDING | +|
<n> | +n áèò ñî çíà÷åíèåì 0. n äîëæíî áûòü êðàòíî 8. | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_APPLICATION | +|
<32> | +Çàðåãèñòðèðîâàííûé id ïðèëîæåíèÿ (ñì. ñòðàíèöó ðåãèñòðàöèè) | +
<n> | +Äàííûå ïðèëîæåíèÿ. n äîëæíî áûòü êðàòíî 8. | +
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKTABLE | +|
SEEKPOINT+ | +Îäíà èëè áîëüøå òî÷åê ïîèñêà. | +
+ | Ïðèìå÷àíèÿ:
+
|
+
ÁËÎÊ_ÌÅÒÀÄÀÍÍÛÕ_SEEKPOINT | +|
<64> | +Íîìåð ñýìïëà â ïîòîêå ïåðâîãî ñýìïëà öåëåâîãî ôðåéìà èëè 0xFFFFFFFFFFFFFFFF äëÿ çàðåçåðâèðîâàííîé òî÷êè. | +
<64> | +Ñìåùåíèå â áàéòàõ îò ïåðâîãî áàéòà ïåðâîãî çàãîëîâêà ôðåéìà äî ïåðâîãî áàéòà çàãîëîâêà öåëåâîãî ôðåéìà. | +
<16> | +Êîëè÷åñòâî ñýìïëîâ â öåëåâîì ôðåéìå. | +
+ | Ïðèìå÷àíèÿ:
+
|
+
ÔÐÅÉÌ | +|
ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ | ++ |
ÏÎÄÔÐÅÉÌ+ | +Îäèí ïîäôðåéì íà êàíàë | +
<?> | +Âûðàâíèâàíèå íóëÿìè íà ãðàíèöó áàéòà | +
ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ | ++ |
ÇÀÃÎËÎÂÎÊ_ÔÐÅÉÌÀ | +|
<14> | +êîä ñèíõðîíèçàöèè 11111111111110 | +
<2> | +Çàðåçåðâèðîâàíî:
+
|
+
<4> | +Ðàçìåð áëîêà â ñýìïëàõ:
+
|
+
<4> | +×àñòîòà äèñêðåòèçàöèè:
+
|
+
<4> | +Ðàñïîëîæåíèå êàíàëîâ:
+
|
+
<3> | +Êîëè÷åñòâî áèòîâ íà ñýìïë:
+
|
+
<1> | +Äîïîëíåíèå íóëåì äî ãðàíèöû áèòà, ÷òîáû íå äîïóñòèòü îøèáêó ñèíõðîíèçàöèè | +
<?> | +Åñëè (ïåðåìåííûé ðàçìåð áëîêà) + <8-56> : íîìåð ñýìïëà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 36 áèò) + èíà÷å + <8-48> : íîìåð ôðåéìà â ôîðìàòå UTF-8 (ðàçìåð äåêîäèðóåìîãî ÷èñëà 31 áèò) |
+
<?> | +Åñëè (áèòîâàÿ ìàñêà ðàçìåðà áëîêà == 11x) + 8/16 áèò (ðàçìåð áëîêà - 1) |
+
<?> | +Åñëè (áèòîâàÿ ìàñêà ÷àñòîòû äèñêðåòèçàöèè == 11xx) + ÷àñòîòà äèñêðåòèçàöèè 8/16 áèò |
+
<8> | +8-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà (x^8 + x^2 + x^1 + x^0) äàííûõ çàãîëîâêà, âêëþ÷àÿ êîä ñèíõðîíèçàöèè (x èíèöèàëèçèðóåòñÿ íóëåì). | +
+ | Ïðèìå÷àíèÿ:
+
|
+
ÇÀÂÅÐØÅÍÈÅ_ÔÐÅÉÌÀ | +|
<16> | +16-áèòíàÿ ïîëèíîìàëüíàÿ êîíòðîëüíàÿ ñóììà (x^16 + x^15 + x^2 + x^0) âñåãî ôðåéìà (x èíèöèàëèçèðóåòñÿ íóëåì). | +
ÏÎÄÔÐÅÉÌ | +|
ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ | ++ |
ÏÎÄÔÐÅÉÌ_CONSTANT || ÏÎÄÔÐÅÉÌ_FIXED || ÏÎÄÔÐÅÉÌ_LPC || ÏÎÄÔÐÅÉÌ_VERBATIM |
+ Òèï ïîäôðåéìà, îïðåäåëÿåìûé â çàãîëîâêå | +
ÇÀÃÎËÎÂÎÊ_ÏÎÄÔÐÅÉÌÀ | +|
<1> | +Áèò ðàâíûé 0, ÷òîáû ïðåäîòâðàòèòü îøèáêó ñèíõðîíèçàöèè. | +
<6> | +Òèï ïîäôðåéìà:
+
|
+
<1+k> | +Ôëàã 'íåèñïîëüçóåìûå áèòû íà ñýìïë':
+
|
+
+ | Ïðèìå÷àíèÿ:
+
|
+
+ +ÏÎÄÔÐÅÉÌ_CONSTANT | |
+<n> | +Íåñæàòîå ïîñòîÿííîå çíà÷åíèå ïîäáëîêà, n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå |
ÏÎÄÔÐÅÉÌ_FIXED | +|
<n> | +Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà). | +
ÎÑÒÀÒÎÊ | +Çàêîäèðîâàííûé îñòàòîê | +
ÏÎÄÔÐÅÉÌ_LPC | +|
<n> | +Íåêîäèðóåìûå íà÷àëüíûå ñýìïëû (n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, óìíîæåííîìó íà ïîðÿäîê ïðåäèêòîðà). | +
<4> | +(òî÷íîñòü äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ (QLP)) - 1. Çíà÷åíèå 1111 íåäîïóñòèìî. | +
<5> | +Íåîáõîäèìûé ñäâèã äèñêðåòíîãî êîýôôèöèåòà ëèíåéíîãî ïðîãíîçèðîâàíèÿ â áèòàõ. (Ïðèìå÷àíèå: ýòî ÷èñëî - çíàêîâîå äîïîëíåíèå äî äâóõ). | +
<n> | +Íåñæàòûå êîýôôèöèåíòû ïðîãíîçèðîâàíèÿ (n = òî÷íîñòü QLP * ïîðÿäîê LPC) (Ïðèìå÷àíèå: ýòè ÷èñëà ÿâëÿþòñÿ çíàêîâûìè äîïîëíåíèÿìè äî äâóõ). | +
ÎÑÒÀÒÎÊ | +Çàêîäèðîâàííûé îñòàòîê | +
ÏÎÄÔÐÅÉÌ_VERBATIM | +|
<n*i> | +Íåñæàòûé ïîäáëîê, n ðàâíî êîëè÷åñòâó áèòîâ íà ñýìïë âî ôðåéìå, i - ðàçìåðó áëîêà | +
ÎÑÒÀÒÎÊ | +|
<2> | +Ìåòîä êîäèðîâàíèÿ îñòàòêîâ:
+
|
+
ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ | ++ |
+ | Ïðèìå÷àíèÿ:
+
|
+
ÎÑÒÀÒÊÈ_ÑÆÀÒÛÅ_ÌÅÒÎÄÎÌ_ÐÀÉÑÀ | +|
<4> | +Ïîðÿäîê ðàçäåëà | +
ÐÀÇÄÅË_ÐÀÉÑÀ+ | +Äàëåå ñëåäóþò 2^ïîðÿäîê ðàçäåëîâ | +
ÐÀÇÄÅË_ÐÀÉÑÀ | +|
<4(+5)> | +Ïàðàìåòð êîäèðîâàíèÿ:
+
|
+
<?> | +Çàêîäèðîâàííûé îñòàòîê. Êîëè÷åñòâî ñýìïëîâ n â ðàçäåëå îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
+
|
+
Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/goals.html b/doc/ru/goals.html index 3e7b8f5..411f4e2 100644 --- a/doc/ru/goals.html +++ b/doc/ru/goals.html @@ -1,104 +1,104 @@ - - - - - - - - - - -| | --íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
Òàê êàê FLAC - ýòî îòêðûòûé ïðîåêò, âàæíî îïðåäåëèòü ñïèñîê öåëåé, ê ÷åìó íóæíî ñòðåìèòüñÿ. Âðåìÿ îò âðåìåíè îíè ìîãóò íåìíîãî èçìåíÿòüñÿ, íî âñåãäà äîëæíû îïðåäåëÿòü íàïðàâëåíèå ðàçâèòèÿ. èçìåíåíèÿ äîëæíû ñîãëàñîâûâàòüñÿ ñ òåêóùèìè öåëÿìè è íå ïûòàòüñÿ âêëþ÷èòü â ñåáÿ àíòèöåëè.
- -- - --
- FLAC äîëæåí îñòàâàòüñÿ îòêðûòûì ôîðìàòîì. Âñå èñõîäíèêè ëèáî ïîä LGPL, ëèáî ïîä GPL.
- -- FLAC äîëæåí ïðîèçâîäèòü òîëüêî ñæàòèå áåç ïîòåðü. Âðîäå áû ýòî î÷åâèäíî, îäíàêî, êîäèðîâàíèå ñ ïîòåðÿìè ïûòàåòñÿ ïðîíèêíóòü âî âñå àóäèî êîäåêè. Ýòà öåëü òàêæå îçíà÷àåò, ÷òî FLAC äîëæåí ïðèäåðæèâàòüñÿ òîëüêî ïðèíöèïîâ àðõèâèðîâàíèÿ è ñæèìàòü áåç ïîòåðü àáñîëþòíî âñå òèïû âõîäíûõ äàííûõ. Ðåëèçû äîëæíû òùàòåëüíî òåñòèðîâàòüñÿ.
- -- FLAC äîëæåí äîñòè÷ü ïðèåìëèìîãî óðîâíÿ ñæàòèÿ ôàéëîâ.
- -- FLAC äîëæåí èìåòü íèçêèå àïïàðàòíûå òðåáîâàíèÿ è îáåñïå÷èòü äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè äàæå íà ñòàðûõ êîìïüþòåðàõ.
- -- FLAC äîëæåí ïîääåðæèâàòü áûñòðûé è òî÷íûé ïîèñê.
- -- FLAC äîëæåí ïîääåðæèâàòü âîñïðîèçâåäåíèå áåç ïàóç äëÿ íåïðåðûâíûõ ïîòîêîâ.
- -- Ïðîåêò FLAC íàõîäèòñÿ â äîëãó ïåðåä ìíîãèìè ëþäüìè, êòî óëó÷øàë ìåòîäû ñæàòèÿ çâóêà, è íàöåëåí íà ïîääåðæêó íîâûõ èäåé ñ ïîìîùüþ îòêðûòîé ðàçðàáîòêè.
-
- --
- Ñæàòèå ñ ïîòåðÿìè. Ñóùåñòâóåò äîñòàòî÷íî ìíîãî õîðîøèõ ôîðìàòîâ, ïðåäíàçíà÷åííûõ èìåííî äëÿ ýòîãî (Ogg Vorbis, mp3, è ò.ä.).
- -- Çàùèòà îò êîïèðîâàíèÿ â ëþáîì âèäå.
-
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
Òàê êàê FLAC - ýòî îòêðûòûé ïðîåêò, âàæíî îïðåäåëèòü ñïèñîê öåëåé, ê ÷åìó íóæíî ñòðåìèòüñÿ. Âðåìÿ îò âðåìåíè îíè ìîãóò íåìíîãî èçìåíÿòüñÿ, íî âñåãäà äîëæíû îïðåäåëÿòü íàïðàâëåíèå ðàçâèòèÿ. èçìåíåíèÿ äîëæíû ñîãëàñîâûâàòüñÿ ñ òåêóùèìè öåëÿìè è íå ïûòàòüñÿ âêëþ÷èòü â ñåáÿ àíòèöåëè.
+ ++ + ++
- FLAC äîëæåí îñòàâàòüñÿ îòêðûòûì ôîðìàòîì. Âñå èñõîäíèêè ëèáî ïîä LGPL, ëèáî ïîä GPL.
+ +- FLAC äîëæåí ïðîèçâîäèòü òîëüêî ñæàòèå áåç ïîòåðü. Âðîäå áû ýòî î÷åâèäíî, îäíàêî, êîäèðîâàíèå ñ ïîòåðÿìè ïûòàåòñÿ ïðîíèêíóòü âî âñå àóäèî êîäåêè. Ýòà öåëü òàêæå îçíà÷àåò, ÷òî FLAC äîëæåí ïðèäåðæèâàòüñÿ òîëüêî ïðèíöèïîâ àðõèâèðîâàíèÿ è ñæèìàòü áåç ïîòåðü àáñîëþòíî âñå òèïû âõîäíûõ äàííûõ. Ðåëèçû äîëæíû òùàòåëüíî òåñòèðîâàòüñÿ.
+ +- FLAC äîëæåí äîñòè÷ü ïðèåìëèìîãî óðîâíÿ ñæàòèÿ ôàéëîâ.
+ +- FLAC äîëæåí èìåòü íèçêèå àïïàðàòíûå òðåáîâàíèÿ è îáåñïå÷èòü äåêîäèðîâàíèå â ðåàëüíîì âðåìåíè äàæå íà ñòàðûõ êîìïüþòåðàõ.
+ +- FLAC äîëæåí ïîääåðæèâàòü áûñòðûé è òî÷íûé ïîèñê.
+ +- FLAC äîëæåí ïîääåðæèâàòü âîñïðîèçâåäåíèå áåç ïàóç äëÿ íåïðåðûâíûõ ïîòîêîâ.
+ +- Ïðîåêò FLAC íàõîäèòñÿ â äîëãó ïåðåä ìíîãèìè ëþäüìè, êòî óëó÷øàë ìåòîäû ñæàòèÿ çâóêà, è íàöåëåí íà ïîääåðæêó íîâûõ èäåé ñ ïîìîùüþ îòêðûòîé ðàçðàáîòêè.
+
+ ++
- Ñæàòèå ñ ïîòåðÿìè. Ñóùåñòâóåò äîñòàòî÷íî ìíîãî õîðîøèõ ôîðìàòîâ, ïðåäíàçíà÷åííûõ èìåííî äëÿ ýòîãî (Ogg Vorbis, mp3, è ò.ä.).
+ +- Çàùèòà îò êîïèðîâàíèÿ â ëþáîì âèäå.
+
Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/id.html b/doc/ru/id.html index 2e5a237..f50c188 100644 --- a/doc/ru/id.html +++ b/doc/ru/id.html @@ -1,122 +1,122 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
FLAC ïîçâîëÿåò ïðèëîæåíèÿì òðåòüèõ ëèö çàðåãèñòðèðîâàòü id äëÿ èñïîëüçîâàíèÿ áëîêîâ ìåòàäàííûõ APPLICATION. ×òîáû ïîëó÷èòü id èëè âíåñòè èçìåíåíèå â ñóùåñòâóþùèé id, èñïîëüçóéòå ôîðìó íà ýòîé ñòðàíèöå (ïèøèòå íà àíãëèéñêîì ÿçûêå).
- - - -Ñïèñîê çàðåãèñòðèðîâàííûõ ïðèëîæåíèé è èõ id.
- -ID | -Ïðèëîæåíèå | -
5346464C - "SFFL" | -Sound Font FLAC | -
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
FLAC ïîçâîëÿåò ïðèëîæåíèÿì òðåòüèõ ëèö çàðåãèñòðèðîâàòü id äëÿ èñïîëüçîâàíèÿ áëîêîâ ìåòàäàííûõ APPLICATION. ×òîáû ïîëó÷èòü id èëè âíåñòè èçìåíåíèå â ñóùåñòâóþùèé id, èñïîëüçóéòå ôîðìó íà ýòîé ñòðàíèöå (ïèøèòå íà àíãëèéñêîì ÿçûêå).
+ + + +Ñïèñîê çàðåãèñòðèðîâàííûõ ïðèëîæåíèé è èõ id.
+ +ID | +Ïðèëîæåíèå | +
5346464C - "SFFL" | +Sound Font FLAC | +
Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/links.html b/doc/ru/links.html index 20f78e9..46e346d 100644 --- a/doc/ru/links.html +++ b/doc/ru/links.html @@ -1,110 +1,110 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
-- - -Äîêóìåíòàöèÿ FLAC íà àíãëèéñêîì ÿçûêå - -Ñòðàíèöà ïðîåêòà FLAC íà SourceForge - -Ñòðàíèöà íà Freshmeat - -Îñíîâíûå ïðèíöèïû ñæàòèÿ áåç ïîòåðü - -Óòèëèòû äëÿ ñæàòèÿ àóäèî -
Ïðîãðàììû, èñïîëüçóþùèå FLAC:
- --- -Baudline àíàëèçàòîð ñèãíàëà - -Split_wav WAV+CUE splitter - -rawrec/rawplay óòèëèòû äëÿ çàïèñè è âîñïðîèçâåäåíèÿ - -GStreamer ñèñòåìà äëÿ ïîòîâîé ïåðåäà÷è ìåäèà-ôàéëîâ
- -Soepkip TNG ïëåéåð, óïðàâëÿåìûé ÷åðåç web-èíòåðôåéñ - - - -
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
++ + +Äîêóìåíòàöèÿ FLAC íà àíãëèéñêîì ÿçûêå + +Ñòðàíèöà ïðîåêòà FLAC íà SourceForge + +Ñòðàíèöà íà Freshmeat + +Îñíîâíûå ïðèíöèïû ñæàòèÿ áåç ïîòåðü + +Óòèëèòû äëÿ ñæàòèÿ àóäèî +
Ïðîãðàììû, èñïîëüçóþùèå FLAC:
+ +++ +Baudline àíàëèçàòîð ñèãíàëà + +Split_wav WAV+CUE splitter + +rawrec/rawplay óòèëèòû äëÿ çàïèñè è âîñïðîèçâåäåíèÿ + +GStreamer ñèñòåìà äëÿ ïîòîâîé ïåðåäà÷è ìåäèà-ôàéëîâ
+ +Soepkip TNG ïëåéåð, óïðàâëÿåìûé ÷åðåç web-èíòåðôåéñ + + + +
Copyright (c) 2001 Josh Coalson
+ + + diff --git a/doc/ru/news.html b/doc/ru/news.html index 5afbb2b..ad5d823 100644 --- a/doc/ru/news.html +++ b/doc/ru/news.html @@ -1,136 +1,136 @@ - - - - - - - - - - -| | -- íà÷àëî | -| | -- íîâîñòè | -| | -- ôàéëû | -| | -- õàðàêòåðèñòèêè | -| | -- öåëè | -| | -- ôîðìàò | -| |
| | -- id | -| | -- ñðàâíåíèå | -| | -- ðàçðàáîòêà | -| | -- äîêóìåíòàöèÿ | -| | -- ññûëêè | -| | -- àâòîðû | -| |
| | -- english | -| | -- ðóññêèé | -| |
- -
- Íîâàÿ îïöèÿ '--sector-align' ïîçâîëÿåò âûðàâíèâàòü ãðóïïó êîäèðóåìûõ àóäèîôàéëîâ íà ãðàíèöó ñåêòîðà â ôîðìàòå Audio-CD.
- -- Íîâàÿ îïöèÿ '--output-prefix' äîáàâëÿåò ïðåôèêñ êî âñåì âûõîäíûì èìåíàì ôàéëîâ (ïîëåçíî, íàïðèìåð, äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ ðàáîòû â äðóãîé êàòàëîã).
- -- Óëó÷øåííîå àâòîîïðåäåëåíèå WAVE (áîëüøå íå ïîëàãàåòñÿ íà ungetc()).
- -- Áîëåå ïîíÿòíàÿ ñòàòèñòèêà ïðè êîäèðîâàíèè/äåêîäèðîâàíèè.
- -- Èçìåíåíèÿ â èíòåðåôåéñå áèáëèîòåêè libFLAC äëÿ áîëåå ïðîñòîé ïîääåðæêè áèíàðíîé ñîâìåñòèìîñòè â áóäóùåì.
- -- Íîâàÿ îïöèÿ '
- --sse-os
' â êîíôèãóðàöèîííîì ñêðèïòå äëÿ èñïîëüçîâàíèÿ áîëåå áûñòðûõ ïðîöåäóð, îñíîâàííûõ íà SSE.
- - --
- Ñêîðîñòü ðàáîòû åíêîäåðà è äåêîäåðà çíà÷èòåëüíî âîçðîñëà. Îñíîâíûå ïðîöåäóðû íàïèñàíû íà àññåìáëåðå äëÿ IA-32.
- -- Äîáàâëåí áëîê ìåòàäàííûõ SEEKTABLE, ñîäåðæàùèé èíôîðìàöèþ, ïîçâîëÿþùóþ óñêîðèòü çíà÷èòåëüíî óñêîðèòü ïîèñê â ïîòîêå.
- -- Ìîäåëü ïîâåäåíèÿ flac òåïåðü àíàëîãè÷íà gzip.
- -- Îïöèè -# íàñòðîåíû äëÿ ïîëó÷åíèÿ íàèëó÷øåãî ñîîòíîøåíèÿ óðîâåíü/âðåìÿ ñæàòèÿ. Ïî óìîë÷åíèþ óñòàíîâëåíî çíà÷åíèå -5.
- -- Íåïîääåðæèâàåìûå áëîêè â WAVE-ôàéëå òåïåðü ïðîïóñêàþòñÿ ñ ïðåäóïðåæäåíèåì.
- -- Äîáàâëåíà îïöèÿ --delete-input-file, ïîçâîëÿþùàÿ óäàëÿòü âõîäíîé ôàéë ïîñëå óäà÷íîãî êîäèðîâàíèÿ/äåêîäèðîâàíèÿ.
- -- Èçìåíåí ïëàãèí äëÿ XMMS, ÷òîáû íîðìàëüíî ðàáîòàëà âèçóàëèçàöèÿ.
- -- Èñïðàâëåíà îøèáêà, âîçíèêàþùàÿ â ïîòîêîâîì äåêîäåðå ïîñëå ïîèñêà.
-
Copyright (c) 2001 Josh Coalson
- - - + + + + + + + + + + +| | ++ íà÷àëî | +| | ++ íîâîñòè | +| | ++ ôàéëû | +| | ++ õàðàêòåðèñòèêè | +| | ++ öåëè | +| | ++ ôîðìàò | +| |
| | ++ id | +| | ++ ñðàâíåíèå | +| | ++ ðàçðàáîòêà | +| | ++ äîêóìåíòàöèÿ | +| | ++ ññûëêè | +| | ++ àâòîðû | +| |
| | ++ english | +| | ++ ðóññêèé | +| |
+ +
- Íîâàÿ îïöèÿ '--sector-align' ïîçâîëÿåò âûðàâíèâàòü ãðóïïó êîäèðóåìûõ àóäèîôàéëîâ íà ãðàíèöó ñåêòîðà â ôîðìàòå Audio-CD.
+ +- Íîâàÿ îïöèÿ '--output-prefix' äîáàâëÿåò ïðåôèêñ êî âñåì âûõîäíûì èìåíàì ôàéëîâ (ïîëåçíî, íàïðèìåð, äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ ðàáîòû â äðóãîé êàòàëîã).
+ +- Óëó÷øåííîå àâòîîïðåäåëåíèå WAVE (áîëüøå íå ïîëàãàåòñÿ íà ungetc()).
+ +- Áîëåå ïîíÿòíàÿ ñòàòèñòèêà ïðè êîäèðîâàíèè/äåêîäèðîâàíèè.
+ +- Èçìåíåíèÿ â èíòåðåôåéñå áèáëèîòåêè libFLAC äëÿ áîëåå ïðîñòîé ïîääåðæêè áèíàðíîé ñîâìåñòèìîñòè â áóäóùåì.
+ +- Íîâàÿ îïöèÿ '
- --sse-os
' â êîíôèãóðàöèîííîì ñêðèïòå äëÿ èñïîëüçîâàíèÿ áîëåå áûñòðûõ ïðîöåäóð, îñíîâàííûõ íà SSE.
+ + ++
- Ñêîðîñòü ðàáîòû åíêîäåðà è äåêîäåðà çíà÷èòåëüíî âîçðîñëà. Îñíîâíûå ïðîöåäóðû íàïèñàíû íà àññåìáëåðå äëÿ IA-32.
+ +- Äîáàâëåí áëîê ìåòàäàííûõ SEEKTABLE, ñîäåðæàùèé èíôîðìàöèþ, ïîçâîëÿþùóþ óñêîðèòü çíà÷èòåëüíî óñêîðèòü ïîèñê â ïîòîêå.
+ +- Ìîäåëü ïîâåäåíèÿ flac òåïåðü àíàëîãè÷íà gzip.
+ +- Îïöèè -# íàñòðîåíû äëÿ ïîëó÷åíèÿ íàèëó÷øåãî ñîîòíîøåíèÿ óðîâåíü/âðåìÿ ñæàòèÿ. Ïî óìîë÷åíèþ óñòàíîâëåíî çíà÷åíèå -5.
+ +- Íåïîääåðæèâàåìûå áëîêè â WAVE-ôàéëå òåïåðü ïðîïóñêàþòñÿ ñ ïðåäóïðåæäåíèåì.
+ +- Äîáàâëåíà îïöèÿ --delete-input-file, ïîçâîëÿþùàÿ óäàëÿòü âõîäíîé ôàéë ïîñëå óäà÷íîãî êîäèðîâàíèÿ/äåêîäèðîâàíèÿ.
+ +- Èçìåíåí ïëàãèí äëÿ XMMS, ÷òîáû íîðìàëüíî ðàáîòàëà âèçóàëèçàöèÿ.
+ +- Èñïðàâëåíà îøèáêà, âîçíèêàþùàÿ â ïîòîêîâîì äåêîäåðå ïîñëå ïîèñêà.
+
Copyright (c) 2001 Josh Coalson
+ + + -- 2.7.4