summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/pl/codecs.xml
blob: a0c9111afa5e1ab4d7584fe408371846ca0c4455 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r21168 -->
<!-- Opiekun: Boski -->
<chapter id="codecs">
<title>Obsługiwane kodeki</title>

<sect1 id="video-codecs">
<title>Kodeki video</title>

<para>
Zajrzyj do
<ulink url="../../codecs-status.html">tabeli stanu kodeków</ulink>, żeby
zobaczyć kompletną, codziennie generowaną listę. Niektóre
kodeki są dostępne do pobrania z naszej strony domowej. Ściągniesz je ze
<ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">strony z kodekami</ulink>.
</para>

<para>
Najważniejsze ze wszystkich:
</para>

<itemizedlist>
<listitem><simpara>
  <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) i
  <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) video
  </simpara></listitem>
<listitem><simpara>
  natywne dekodery dla <emphasis role="bold">wszystkich wariantów DivX,
  3ivX, M$ MPEG-4</emphasis> v1, v2 i innych rodzajów MPEG-4
  </simpara></listitem>
<listitem><simpara>
  natywne dekodery dla <emphasis role="bold">Windows Media Video 7/8</emphasis>
     (<emphasis role="bold">WMV1/WMV2</emphasis>) i dekodery Win32 DLL
  dla <emphasis role="bold">Windows Media Video 9</emphasis>
  (<emphasis role="bold">WMV3</emphasis>). Oba używane w plikach <filename>.wmv</filename>
  </simpara></listitem>
<listitem><simpara>
  natywny dekoder <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis>
  </simpara></listitem>
<listitem><simpara>
  natywny dekoder <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis>
  </simpara></listitem>
<listitem><simpara>
  dekoder <emphasis role="bold">3ivX</emphasis> w wersji 1 i 2
  </simpara></listitem>
<listitem><simpara>
  Kodeki Cinepak i <emphasis role="bold">Intel Indeo</emphasis> (3.1,3.2,4.1,5.0)
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 i inne formaty sprzętowe
  </simpara></listitem>
<listitem><simpara>
  VIVO 1.0, 2.0, I263 i inne warianty <emphasis role="bold">H.263(+)</emphasis>
  </simpara></listitem>
<listitem><simpara>
  FLI/FLC
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">RealVideo 1.0 i 2.0</emphasis> przy użyciu
  <systemitem class="library">libavcodec</systemitem> i kodeki
  <emphasis role="bold">RealVideo 3.0 i 4.0</emphasis> używające bibliotek
  RealPlayer
  </simpara></listitem>
<listitem><simpara>
  natywny dekoder HuffYUV
  </simpara></listitem>
<listitem><simpara>
  Różne stare proste formaty podobne do RLE
  </simpara></listitem>
</itemizedlist>

<para>
Jeżeli masz niewymienione tutaj kodeki Win32, które nie są jeszcze
obsługiwane, zajrzyj do działu
<link linkend="codec-importing">importowanie kodeków Win32-HOWTO</link>
i pomóż nam dodać ich obsługę.
</para>


<sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
<title>FFmpeg/libavcodec</title>

<para>
<ulink url="http://ffmpeg.org">FFmpeg</ulink> zawiera
<systemitem class="library">libavcodec</systemitem>, wiodącą bibliotekę kodeków
audio i video mającą otwarte źródła.
Może ona dekodować większość formatów multimedialnych, zazwyczaj z większą
prędkością niż alternatywy, a docelowo chce obsługiwać je wszystkie.
Jest to domyślny dekoder dla większości kodeków obsługiwanych przez
<application>MPlayera</application>.
Kodowanie do niektórych formatów również jest możliwe i obsługiwane przez
<application>MEncodera</application>.
</para>

<para>
Pełną listę obsługiwanych kodeków
<ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink>
i <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink>
znajdziesz na stronie FFmpeg.
</para>

<para>
<application>MPlayer</application> zawiera
<systemitem class="library">libavcodec</systemitem>.
Po prostu uruchom <filename>./configure</filename> i kompiluj.
</para>
</sect2>


<sect2 id="xvid">
<title>Xvid</title>

<para>
<ulink url="http://www.xvid.org">Xvid</ulink> jest wolnym, kompatybilnym
z MPEG-4 ASP, kodekiem video z możliwościami kodowania dwuprzebiegowego
i pełną obsługą MPEG-4 ASP, dlatego jest dużo bardziej efektywny niż dobrze
znany kodek DivX.
Łączy bardzo dobrą jakość video i dobre osiągi dzięki optymalizacjami kodu dla
większości nowoczesnych procesorów.
</para>
<para>
Zaczął się jako odłam kodeka OpenDivX.
Stało się to gdy ProjectMajo zmienił OpenDivX na zamknięte DivX4.
W rezultacie tej decyzji rozeźleni ludzie spoza ProjectMayo,
którzy pracowali nad OpenDivX, rozpoczęli projekt Xvid. Tak więc oba projekty
mają to samo pochodzenie.
</para>

<para>
Zauważ, że Xvid nie jest konieczny do odtwarzania video zakodowanego przy
pomocy Xvid. Domyślnie używana jest biblioteka
<systemitem class="library">libavcodec</systemitem>, bo jest szybsza.
</para>

<procedure>
<title>Instalacja <systemitem class="library">Xvid</systemitem></title>
<para>
  Jak większość otwartego oporgramowania dostępny jest w dwóch wersjach:
  <ulink url="http://www.xvid.org/downloads.html">oficjalnych wydań</ulink>
  i wersji CVS.
  Wersja CVS jest zazwyczaj wystarczająco stablina by jej używać, jako że
  zazwyczaj ma poprawki do błędów występujących w wydaniach.
  Tak należy nakłonić <systemitem class="library">Xvid</systemitem> CVS do
  pracy z <application>MEncoderem</application> (będziesz potrzebował
  przenajmniej <application>autoconf</application> 2.50,
  <application>automake</application> i <application>libtool</application>):
</para>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
  </para></step>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
  <screen>cd xvidcore/build/generic</screen>
  </para></step>
<step><para>
  <screen>./bootstrap.sh</screen>
  </para></step>
<step><para>
  <screen>./configure</screen>
  Możesz potrzebować dodać jakieś opcje (przejrzyj wyjście
  polecenia <command>./configure --help</command>)
  </para></step>
<step><para>
  <screen>make &amp;&amp; make install</screen>
  </para></step>
<step><para>
  Jeżeli użyłeś opcji <option>--enable-divxcompat</option>,
  skopiuj <filename>../../src/divx4.h</filename> do
  <filename class="directory">/usr/local/include/</filename>.
  </para></step>
<step><para>
  Przekompiluj <application>MPlayera</application> z opcjami
  <option>--with-xvidlibdir=<replaceable>/ścieżka/do/</replaceable>libxvidcore.a</option>
  <option>--with-xvidincdir=<replaceable>/ścieżka/do/</replaceable>xvid.h</option>.
  </para></step>
</procedure>
</sect2>


<sect2 id="codec-x264">
<title><systemitem class="library">x264</systemitem></title>

<sect3 id="codec-x264-whatis">
<title>Co to jest <systemitem class="library">x264</systemitem>?</title>
<para>
  <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
  jest biblioteką służącą do tworzenia strumieni video H.264.
  Nie jest w 100% ukończona, ale ma przynajmniej pewną obsługę większości
  mających wpływ na jakość możliwości H.264.
  Jest też wiele zaawansowanych możliwości w specyfikacji H.264, które nie mają
  nic wspólnego z jakością jako taką; wiele z nich jeszcze nie jest
  zaimplementowanych w <systemitem class="library">x264</systemitem>.
</para>

<itemizedlist>
<title>Możliwości kodera</title>
  <listitem><para>CAVLC/CABAC</para></listitem>
  <listitem><para>Wielokrotne referencje</para></listitem>
  <listitem><para>Intra: wszystkie typy makrobloków 
     (16x16, 8x8 i 4x4 z wszystkimi predykcjami)</para></listitem>
  <listitem><para>Inter P: wszystkie podziały
     (od 16x16 aż do 4x4)</para></listitem>
  <listitem><para>Inter B: podziały od 16x16 do 8x8
    (włączając SKIP/DIRECT)</para></listitem>
  <listitem><para>Kontrola tempa: stały kwantyzator, stały bitrate,
    jedno- albo wieloprzebiegowe ABR, opcjonalne VBV</para></listitem>
  <listitem><para>Wykrywanie zmian scen</para></listitem>
  <listitem><para>Adaptatywne umieszczanie klatek B</para></listitem>
  <listitem><para>Referencyjne klatki B / dowolna kolejność
    ramek</para></listitem>
  <listitem><para>adaptywna transformacja przestrzenna
    8x8 i 4x4</para></listitem>
  <listitem><para>tryb bezstratny</para></listitem>
  <listitem><para>Własne matryce kwantyzacji</para></listitem>
  <listitem><para>Równoległe kodowanie wielu fragmentów</para></listitem>
  <listitem><para>Przeplot</para></listitem>
</itemizedlist>
</sect3>

<sect3 id="codec-h264-whatis">
<title>Co to jest H.264</title>
<para>
  H.264 jedną z nazw nowego kodeka video opracowanego wspólnie przez ITU
  i MPEG.
  Może też być prawidłowo nazywany okropnymi nazwami "ISO/IEC 14496-10" lub
  "MPEG-4 Part 10". Częściej jest nazywany "MPEG-4 AVC" albo po prostu "AVC".
</para>
<para>
  Jakkolwiek go nie nazywać, H.264 może być wart wypróbowania ponieważ
  zazwyczaj może dorównać jakością MPEG-4 ASP z mniejszą o 5%-30% objętością.
  Dokładne wyniki zależą od materiału źródłowego i kodera.
  Zyski z używania H.264 nie są za darmo: Dekodowanie strumieni H.264 mają
  duże wymagania obliczeniowe i pamięciowe.
  Na przykład, na Athlonie 1733 MHz, film H.264 w rozdzielczości DVD 1500kbps
  wymaga do zdekodowania około 35% CPU.
  Dla porównania, dekodowanie strumienia MPEG-4 ASP w rozdzielczości DVD
  1500kbps wymaga około 10% CPU.
  Oznacza to że dekodowanie wysokiej jakości strumieni jest prawie nie do
  pomyślenia dla zwykłych użytkowników.
  Oznacza to również że dobry DVD rip może się czasami zacinać na procesorach
  wolniejszych niż jakieś 2.0 GHz.
</para>
<para>
  Jeśli używasz <systemitem class="library">x264</systemitem>,
  wymagania kodowania nie są o wiele większe niż te, do których przywykliśmy
  przy MPEG-4 ASP.
  Na przykład, na Athlonie 1733 MHz typowe kodowanie DVD będzie działać
  z 5-15fps.
</para>
<para>
  Ten dokument nie ma wyjaśniać szczegółów H.264, ale jeśli jesteś
  zainteresowany niewielkim wstępem możesz chcieć przeczytać
  <ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>.
</para>
</sect3>

<sect3 id="codec-x264-playback">
<title>Jak mogę odtwarzać filmy H.264 używając <application>MPlayera</application></title>
<para>
  <application>MPlayer</application> używa dekodera H.264 z
  <systemitem class="library">libavcodec</systemitem>.
  <systemitem class="library">libavcodec</systemitem> miało choć trochę zdatny
  do użytku dekoder H.264 od około czerwca 2004, ale od tego czasu wprowadzono
  wiele zmian i poprawek, zarówno pod względem obsługiwanej funkcjonalności
  jak i zużycia CPU.
  Na wszelki wypadek lepiej jest używać najnowszej wersji z Subversion.
</para>
<para>
  Jeśli chcesz szybki i łatwy sposób na sprawdzenie czy były ostatnio zmiany
  w obsłudze H.264 w <systemitem class="library">libavcodec</systemitem>,
  możesz patrzeć na
  <ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">interfejs sieciowy repozytorium SVN FFmpega</ulink>
</para>
</sect3>

<sect3 id="codec-x264-encode">
<title>Jak mogę kodować filmy używając <application>MEncodera</application> i <systemitem class="library">x264</systemitem>?</title>
<para>
  Jeśli masz zainstalowanego klienta subversion, możesz uzyskać najnowsze
  źródła x264 tym poleceniem:
  <screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
  Źródła <application>MPlayera</application> są aktualizowane, gdy tylko
  zmieni się API <systemitem class="library">x264</systemitem>, więc zalecane
  jest także używanie <application>MPlayera</application> z Subversion.
  Być może sytuacja się zmieni jeśli i gdy nastąpi "wydanie"
  <systemitem class="library">x264</systemitem>.
  W międzyczasie <systemitem class="library">x264</systemitem> powinna być
  uważana za niestabilną, w tym sensie że jej interface programistyczny może
  się zmienić.
</para>
<para>
  <systemitem class="library">x264</systemitem> buduje się i instaluje
  w sposób standardowy:
  <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
  To zainstaluje libx264.a w /usr/local/lib oraz x264.h w /usr/local/include.

  Gdy biblioteka i nagłówki <systemitem class="library">x264</systemitem> są
  już w standardowych miejscach, budowanie <application>MPlayera</application>
  z obsługą <systemitem class="library">x264</systemitem> jest proste.
  Uruchom standardowe:
  <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
  Skrypt konfiguracyjny wykryje że spełniłeś wymagania do obsługi
  <systemitem class="library">x264</systemitem>.
</para>
</sect3>
</sect2>
</sect1>

<!-- ********** -->

<sect1 id="audio-codecs">
<title>Kodeki audio</title>

<itemizedlist>
<title>Najważniejsze ze wszystkich kodeków audio:</title>
<listitem><simpara>
  MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">natywny</emphasis>
  kod, z optymalizacją dla MMX/SSE/3DNow!)
  </simpara></listitem>
<listitem><simpara>
  Windows Media Audio 7 i 8 (AKA WMAv1 i WMAv2) (<emphasis role="bold">natywny</emphasis> kod, z
  <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
  </simpara></listitem>
<listitem><simpara>
  Windows Media Audio 9 (WMAv3) (poprzez DLL DMO)
  </simpara></listitem>
<listitem><simpara>
  AC3 Dolby audio (<emphasis role="bold">natywny</emphasis> kod, z
  optymalizacją MMX/SSE/3DNow!)
  </simpara></listitem>
<listitem><simpara>
 przetwarzanie AC3 przez kartę dźwiękową
  </simpara></listitem>
<listitem><simpara>
  AAC
  </simpara></listitem>
<listitem><simpara>
  kodek Ogg Vorbis audio (<emphasis role="bold">natywna</emphasis> biblioteka)
  </simpara></listitem>
<listitem><simpara>
  RealAudio: DNET (AC3 z niskim bitratem), Cook, Sipro i ATRAC3
  </simpara></listitem>
<listitem><simpara>
  QuickTime: kodeki Qualcomm i QDesign
  </simpara></listitem>
<listitem><simpara>
  VIVO audio (g723, Vivo Siren)
  </simpara></listitem>
<listitem><simpara>
  Voxware audio (poprzez DirectShow DLL)
  </simpara></listitem>
<listitem><simpara>
  formaty alaw i ulaw, różne gsm, adpcm i pcm i inne stare, proste kodeki
  audio
  </simpara></listitem>
 <listitem><simpara>
    kodeki mowy Adaptive Multi-Rate (AMR)
 </simpara></listitem>
</itemizedlist>


<sect2 id="swac3">
<title>Programowe dekodowanie AC3</title>

<para>
To jest domyślny dekoder używany przez pliki z dźwiękiem AC3.
</para>

<para>
Dekoder AC3 może wytworzyć wyjście audio zmiksowane dla 2, 4 lub 6 głośników.
Kiedy skonfigurowany jest dla 6 głośników, dekoder dostarcza do sterownika
karty dźwiękowej osobne wyjście dla każdego kanału AC3, pozwalając doświadczyć
pełnego "dźwięku przestrzennego" bez potrzeby użycia zewnętrznego dekodera AC3
wymaganego przez kodek hwac3.
</para>

<para>
Użyj opcji <option>-channels</option> aby wybrać liczbę wyjściowych kanałów.
Użyj <option>-channels 2</option> do uzyskania dźwięku stereo. Dla
czterokanałowego dźwięku (wyjścia Lewe Przednie, Prawe Przednie, Lewe Surround
i Prawe Surround), użyj <option>-channels 4</option>. W tym przypadku,
wszystkie centralne kanały zostaną zmiksowane do odpowiadających im przednich
kanałów. Natomiast <option>-channels 6</option> wyprodukuje wszystkie kanały
AC3 tak jak zostały zakodowane - w kolejności Lewy, Prawy, Lewy Surround, Prawy
Surround, Centralny i LFE.
</para>

<para>
Domyślną liczbą kanałów wyjściowych jest 2.
</para>

<para>
Aby użyć więcej niż dwóch wyjściowych kanałów, będziesz potrzebował
OSS i karty dźwiękowej obsługującej odpowiednią ilość wyjściowych
kanałów poprzez SNDCTL_DSP_CHANNELS ioctl. Przykładem odpowiedniego sterownika
jest emu10k1 (używany przez karty Soundblaster Live!) z sierpnia 2001 roku,
albo nowszy (przypuszczalnie działa także ALSA CVS).
</para>
</sect2>


<sect2 id="hwac3">
<title>Sprzętowe dekodowanie AC3</title>
<para>
Potrzebna jest karta obsługująca AC3, z cyfrowym wyjściem (S/PDIF). Sterownik
musi prawidłowo obsługiwać format AFMT_AC3 (robi to C-Media). Podłącz swój
dekoder AC3 do wyjścia S/PDIF i użyj opcji <option>-ac hwac3</option>.
Rozwiązanie to jest ciągle w fazie testów, ale wiadomo, że działa z kartami
C-Media i Soundblaster Live! + sterowniki ALSA (ale nie z OSS) i kartami
dekodującymi DXR3/Hollywood+ MPEG.
</para>
</sect2>


<sect2 id="libmad">
<title>Obsługa <systemitem class="library">libmad</systemitem></title>

<para>
<ulink url="http://www.underbit.com/products/mad/"><systemitem class="library">libmad</systemitem></ulink>
jest wieloplatformową,
stałoprzecinkową (wewnętrznie 24-bitowe PCM) biblioteką dekodującą dźwięk
MPEG. Nie odtwarza zbyt dobrze uszkodzonych plików i czasami ma problemy
z przewijaniem, ale na platformach bez jednostki zmiennoprzecinkowej (FPU),
czyli na przykład <link linkend="arm">ARM</link>,
może mieć lepszą wydajność niż mp3lib.
</para>

<para>
Jeśli masz prawidłowo zainstalowaną bibliotekę
<systemitem class="library">libmad</systemitem>, <filename>./configure</filename>
zauważy to i automatycznie zostanie zbudowana obsługa dekodowania dźwięku MPEG
przy użyciu <systemitem class="library">libmad</systemitem>.
</para>
</sect2>


<sect2 id="hwmpa">
<title>Sprzętowy kodek MPEG audio</title>

<para>
Ten kodek (wybierany poprzez <option>-ac hwmpa</option>) przepuszcza pakiety
MPEG audio do sprzętowego dekodera takiego, jak ten, który można
znaleźć w pełni wyposażonych kartach DVB i adapterach DXR2.
Nie używaj ich w połączeniu z żadnymi innymi wyjściowymi
urządzeniami audio (np. OSS i ALSA), bo nie będzie to działało
(będziesz słyszeć tylko szum).
</para>
</sect2>


<sect2 id="aac">
<title>Kodek AAC</title>
<para>
AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach
MOV i MP4. Otwarty dekoder nazywany FAAD dostępny jest na stronie
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> zawiera migawkę CVS z
libfaad 2.1beta, więc nie musisz ściągać go oddzielnie.
</para>

<para>
Jeżeli używasz gcc 3.2, który ma kłopoty z kompilacją wbudowanej wersji
FAAD lub chcesz z jakichś powodów użyć zewnętrznej biblioteki,
ściągnij ją z
<ulink url="http://www.audiocoding.com/modules/mydownloads/">tej strony</ulink>
i dodaj opcję <option>--enable-external-faad</option> do
<filename>./configure</filename>. Nie potrzebujesz całego faad2 do dekodowanie
plików AAC. Wystarczy użyć samej biblioteki libfaad. Zbudujesz ją w następujący
sposób
<screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
</screen>
Wersje binarne nie są dostępne na stronie audiocoding.com, ale możesz
ściągnąć (apt-getem) Debianowe paczki ze
<ulink url="http://www.debian-multimedia.org/">strony domowej Christiana Marillata</ulink>,
RPM-y dla Mandrake/Mandriva ze strony <ulink url="http://plf.zarb.org">P.L.F</ulink>,
a RPM-y dla Fedory z <ulink url="http://rpm.livna.org/">Livna</ulink>.
</para>
</sect2>


<sect2 id="amr">
<title>Kodeki AMR</title>
<para>
Kodeki mowy Adaptive Multi-Rate są używane w telefonii komórkowej
trzeciej generacji (3G).
Opis implementacji udostępniany jest przez
<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
(za darmo dla osób prywatnych).
</para>
<para>
Żeby uaktywnić obsługę kodeków, pobierz źródła kodeków
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink> i
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>,
umieść je w katalogu do którego rozpakowałeś źródła
<application>MPlayera</application> i wpisz następujące komendy:
<screen>
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float
</screen>
Gdy już to zrobisz, kontynuuj <link linkend="features">budowanie</link>
<application>MPlayera</application> tak, jak zwykle.
</para>
</sect2>
</sect1>

<!-- ********** -->

<sect1 id="codec-importing">
<title>Importowanie kodeków Win32-HOWTO</title>

<sect2 id="vfw-codecs">
<title>Kodeki VFW</title>

<para>
VFW (Video for Windows) jest starym API Video pod Windows. Jego kodeki mają
rozszerzenie <filename>.DLL</filename> albo (rzadziej)
<filename>.DRV</filename>. Jeżeli <application>MPlayer</application> odmawia
odtwarzania plików AVI z komunikatem typu
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
oznacza to, że twój plik AVI jest zakodowany z użyciem kodeka, który korzysta
z fourcc HFYU (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd.;
fourcc-unikalny, czteroliterowy identyfikator kodeka znajdujący się najczęściej
w nagłówkach plików AVI-przyp. tłumacz). Kiedy już to wiesz, musisz odzukać
DLL'a, który jest ładowany przez Windows w celu odtworzenia tego pliku.
W naszym przypadku plik <filename>system.ini</filename> zawiera tę informację
w następującej linii:
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>

<para>
Zatem potrzebujesz pliku <filename>huffyuv.dll</filename>. Zauważ, że kodeki
audio są oznaczane za pomocą prefiksu MSACM:
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>

<para>
Jest to kodek MP3. Teraz powinieneś mieć wszystkie niezbędne informacje
(fourcc, plik z kodekiem, przykładowy plik AVI). Umieść swoją prośbę o obsługę
kodeka za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy
serwer FTP:
<systemitem role="url">
ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;nazwakodeka&gt;</replaceable>/
</systemitem>
</para>

<note><para> W systemach Windows NT/2000/XP szukaj powyższych informacji
w rejestrze, np. szukaj wyrażenia &quot;VIDC.HFYU&quot;. Aby dowiedzieć się jak
to zrobić, spójrz niżej na starą metodę DirectShow.
</para></note>
</sect2>


<sect2 id="dshow-codecs">
<title>Kodeki DirectShow</title>

<para>
DirectShow jest nowszym API Video, które jest nawet gorsze od swojego
poprzednika. Sprawa ma się gorzej z DirectShow, ponieważ:
<itemizedlist>
<listitem><simpara>
  <filename>system.ini</filename> nie zawiera wymaganych informacji,
  zamiast tego są one przechowywane w rejestrze.
  </simpara></listitem>
<listitem><simpara>
  Z tego powodu wymagane jest GUID kodeka.
  </simpara></listitem>
</itemizedlist>
</para>

<procedure>
<title>Nowa metoda:</title>
<para>
Używając <application>Microsoft GraphEdit</application> (szybki sposób)
</para>
<step><para>
  Pobierz <application>GraphEdit</application> z dowolnego DirectX SDK, albo z
  <ulink url="http://doom9.net">doom9</ulink>
  </para></step>
<step><para>
  Uruchom <command>graphedit.exe</command>.
  </para></step>
<step><para>
  Z menu wybierz Graph -> Insert Filters.
  </para></step>
<step><para>
  Rozwiń listę <systemitem>DirectShow Filters</systemitem>
  </para></step>
<step><para>
  Wybierz właściwy kodek i rozwiń go.
  </para></step>
<step><para>
  We wpisie <systemitem>DisplayName</systemitem> spójrz na tekst w
  nawiasach klamrowych po znaku "backslash" i zapisz go (pięć bloków
  oddzielonych kreskami, GUID).
  </para></step>
<step><para>
  Binariami kodeka jest plik określony w polu <systemitem>Filename</systemitem>.
  </para></step>
</procedure>

<note>
<para>
Jeżeli nie ma pola <systemitem>Filename</systemitem>, a
<systemitem>DisplayName</systemitem> zawiera coś w stylu
<systemitem>device:dmo</systemitem>, to jest to kodek DMO.
</para>
</note>

<procedure>
<title>Stara Metoda:</title>
<para>
Weź głęboki oddech i zacznij przeszukiwanie rejestru...
</para>
<step><para>
  Uruchom <command>regedit</command>.
  </para></step>
<step><para>
  Naciśnij <keycap>Ctrl</keycap>+<keycap>F</keycap>, odznacz dwa pierwsze
  pola (checkboxes) i zaznacz trzecie. Wpisz fourcc kodeka (np.
  <userinput>TM20</userinput>).
  </para></step>
<step><para>
  Powinieneś zobaczyć pole zawierające ścieżkę i nazwę pliku (np.
  <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
  </para></step>
<step><para>
  Gdy odnalazłeś już plik, potrzebny będzie GUID. Spróbuj ponownego
  wyszukiwania, ale tym razem wpisz nazwę kodeka, a nie jego fourcc. Jego nazwę
  można sprawdzić, kiedy Media Player odtwarza plik, odszukując ją w
  <guimenu>Plik</guimenu> -&gt; <guisubmenu>Opcje</guisubmenu> -&gt;
  <guimenuitem>Zaawansowane</guimenuitem>.
  Jeżeli jej tam nie będzie, to masz pecha. Spróbuj odgadnąć nazwę (np. spróbuj
  wyszukać "TrueMotion").
  </para></step>
<step><para>
Jeżeli GUID został odnaleziony, powinieneś ujrzeć pola <guilabel>FriendlyName</guilabel>
  i <guilabel>CLSID</guilabel>. Zapisz szesnastobajtowy CLSID będący GUIDem,
  którego potrzebujemy.
  </para></step>
</procedure>

<note>
<para>
Jeżeli wyszukiwanie się nie powiedzie, spróbuj zaznaczyć wszystkie pola
(checkboxes). Prawdopodobnie dostaniesz fałszywe trafienia, ale być może
będziesz miał szczęście...
</para>
</note>

<para>
Teraz, kiedy masz już wszystkie niezbędne informacje (fourcc, GUID, plik
z kodekiem, przykładowy plik AVI), umieść swoją prośbę o obsługę kodeka
za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy serwer FTP:
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;nazwakodeka&gt;</replaceable>/
</systemitem>
</para>

<para>
Jeżeli chcesz samodzielnie dodać obsługę kodeka, przeczytaj
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">
DOCS/tech/codecs.conf.txt</ulink> (tylko po angielsku - przyp. tłum.).
</para>

</sect2>
</sect1>
</chapter>