Merge svn changes up to r27332
This commit is contained in:
commit
2d4656e070
54 files changed
+1364
-1381
No files matched your search
+36
-27
@@ -1,4 +1,4 @@
|
||||
.\" Synced with r26909
|
||||
.\" Synced with r27236
|
||||
.\" MPlayer (C) 2000-2008 MPlayer Team
|
||||
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
|
||||
.\" Karbantartó: Gabrov
|
||||
@@ -33,7 +33,7 @@
|
||||
.\" Név
|
||||
.\" --------------------------------------------------------------------------
|
||||
.
|
||||
.TH MPlayer 1 "2008. 06. 02." "MPlayer Project" "A film lejátszó"
|
||||
.TH MPlayer 1 "2008. 07. 18." "MPlayer Project" "A film lejátszó"
|
||||
.
|
||||
.SH NÉV
|
||||
mplayer \- film lejátszó
|
||||
@@ -63,7 +63,7 @@ mencoder \- film k
|
||||
.
|
||||
.br
|
||||
.B mplayer
|
||||
[dvd|dvdnav]://[sáv|[kezdő_sáv]\-vég_sáv]
|
||||
[dvd|dvdnav]://[sáv|[kezdő_sáv]\-vég_sáv][/eszköz]
|
||||
[opciók]
|
||||
.
|
||||
.br
|
||||
@@ -825,7 +825,7 @@ Csak a cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix, xover, xv
|
||||
meghajtók támogatják.
|
||||
.
|
||||
.TP
|
||||
.B \-correct\-pts (kísérleti)
|
||||
.B \-correct\-pts (KÍSÉRLETI)
|
||||
Átváltja az MPlayert egy kísérleti módba, melyben a videó kockák időbélyege
|
||||
másképp lesz kiszámítva és támogatottak lesznek azok a szűrők, melyek új kockákat
|
||||
szúrnak be vagy a meglévőek időbélyegét módosítják.
|
||||
@@ -872,7 +872,7 @@ Jelenleg a k
|
||||
xmga, xv, xvidix és dfbmga.
|
||||
.
|
||||
.TP
|
||||
.B \-framedrop (lásd még \-hardframedrop, \-no\-correct\-pts nélkül csak kísérleti jelleggel)
|
||||
.B \-framedrop (lásd még \-hardframedrop, \-nocorrect\-pts nélkül csak kísérleti jelleggel)
|
||||
Néhány képkocka megjelenítésének hanyagolása, hogy lassú rendszereken is
|
||||
megfelelő legyen az A/V szinkron. A videó szűrők nem vonatkoznak ezekre
|
||||
a képkockákra.
|
||||
@@ -889,7 +889,7 @@ Nem m
|
||||
Rövid segítő szöveg kiírása.
|
||||
.
|
||||
.TP
|
||||
.B \-hardframedrop (\-no\-correct\-pts nélkül csak kísérleti jelleggel)
|
||||
.B \-hardframedrop (\-nocorrect\-pts nélkül csak kísérleti jelleggel)
|
||||
Intenzívebb képkockaeldobás (a dekódolási minőség rovására).
|
||||
Torz képekhez vezet!
|
||||
Figyelj rá, hogy különösen a libmpeg2 dekódolóval ez összeomolhat,
|
||||
@@ -905,15 +905,15 @@ Az MPlayer ezt a parancsot ellen
|
||||
hogy ne okozzon biztonsági problémát (pl.\& győződj meg róla, hogy teljes elérési
|
||||
utakat használsz, ha a "." benne van az elérési utadban, mint Windows alatt).
|
||||
.sp 1
|
||||
Ezt "ki lehet használni" az olyan képernyővédő letiltásához, amely nem támogatja
|
||||
ehhez a megfelelő X API-t.
|
||||
Ha úgy gondolod, hogy ez túl komplikált, kérd meg a képernyővédő szerzőjét, hogy
|
||||
támogassa a szükséges X API-kat.
|
||||
Ezt "ki lehet használni" az olyan képernyővédő letiltásához, amely nem
|
||||
támogatja ehhez a megfelelő X API-kat.
|
||||
Ha úgy gondolod, hogy ez túl komplikált, kérd meg a képernyővédő
|
||||
szerzőjét, hogy támogassa a szükséges X API-kat.
|
||||
.sp 1
|
||||
.I PÉLDA az xscreensaver-hez:
|
||||
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" fájl
|
||||
.sp 1
|
||||
.I PÉLDA a gnome képernyővédőjéhez:
|
||||
.I PÉLDA a GNOME képernyővédőjéhez:
|
||||
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" fájl
|
||||
.RE
|
||||
.PD 1
|
||||
@@ -1039,6 +1039,10 @@ t
|
||||
Szükséges a dvd menükben a gombok kiválasztásához.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Kikapcsolja az AppleIR távirányító támogatását.
|
||||
.
|
||||
.TP
|
||||
.B \-noconsolecontrols
|
||||
Megtiltja az MPlayernek a billentyűzet események olvasását a standard
|
||||
input-ról. Hasznos, ha a standard input-ról olvasol be adatot.
|
||||
@@ -1057,10 +1061,6 @@ Joystick t
|
||||
LIRC támogatás kikapcsolása.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Kikapcsolja az AppleIR távirányító támogatását.
|
||||
.
|
||||
.TP
|
||||
.B \-nomouseinput
|
||||
Kikapcsolja az egérgomb nyomás/\:felengedés input-ot (a mozplayerxp
|
||||
helyzetérzékeny menüje igényli ezt a kapcsolót).
|
||||
@@ -1901,7 +1901,7 @@ L
|
||||
Beállítja a tunert az <érték> csatornára.
|
||||
.IPs chanlist=<érték>
|
||||
elérhető: europe-east, europe-west, us-bcast, us-cable, stb.
|
||||
.IPs channels=<csatorna>\-<név>,<csatorna>\-<név>,...
|
||||
.IPs channels=<csatorna>\-<név>[=<norma>],<csatorna>\-<név>[=<norma>],...
|
||||
Csatornák neveinek beállítása.
|
||||
.I MEGJEGYZÉS:
|
||||
Ha a <csatorna> 1000-nél nagyobb egész, frekvenciaként lesz értelmezve (kHz-ben)
|
||||
@@ -5371,7 +5371,7 @@ a lej
|
||||
Ez az audió \'átlépő\' ms-einek normál sebességű lejátszásával történik,
|
||||
ehhez \'átlépés*módosítás\' ms bemeneti audiót használ fel.
|
||||
Az előző lépés utáni audióból összegyűjti a lépéseket a lépések egyesített
|
||||
'átfedés'%-aival.
|
||||
\'átfedés\'%-aival.
|
||||
Opcionálisan egy rövid statisztikai analízist is lefuttat az audió következő
|
||||
\'keresési\' ms-éig a legjobb átfedési pozíció meghatározásához.
|
||||
.PD 0
|
||||
@@ -5400,7 +5400,7 @@ Lass
|
||||
Beállítja a választ a sebesség változására.
|
||||
.RSss
|
||||
.IPs tempo
|
||||
A tempót a sebességgel szinkronban módosítja (alapértelmezett)
|
||||
A tempót a sebességgel szinkronban módosítja (alapértelmezett).
|
||||
.IPs pitch
|
||||
Megfordítja a szűrő hatását.
|
||||
Módosítja a hangmagasságot a tempó módosítása nélkül.
|
||||
@@ -5409,9 +5409,9 @@ az input.conf-odba a zenei f
|
||||
.I FIGYELMEZTETÉS:
|
||||
Elveszti a szinkronizációt a videóval.
|
||||
.IPs both
|
||||
Módosítja mind a tempót, mind a hangmagasságot
|
||||
Módosítja mind a tempót, mind a hangmagasságot.
|
||||
.IPs none
|
||||
Figyelmen kívül hagyja a sebességváltozásokat
|
||||
Figyelmen kívül hagyja a sebességváltozásokat.
|
||||
.RE
|
||||
.RE
|
||||
.sp 1
|
||||
@@ -5523,8 +5523,11 @@ Haszn
|
||||
.
|
||||
.TP
|
||||
.B rectangle[=w:h:x:y]
|
||||
Ez a szűrő az input.conf 'change_rectangle' direktívájának megfelelője,
|
||||
melynek két paramétere van.
|
||||
Kirajzol egy téglalapot a megadott szélességgel és magassággal a megadott
|
||||
koordinátákon a kép fölé és kiírja a téglalap adatait a konzolra.
|
||||
Ez az optimális vágási paraméterek megtalálásában segíthet.
|
||||
Ha az input.conf 'change_rectangle' direktívájához hozzárendelsz gombokat,
|
||||
menet közben mozgathatod és átméretezheted a téglalapot.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs <w>,<h>
|
||||
@@ -7398,7 +7401,7 @@ A kimeneti f
|
||||
A codec specifikus kódolási paramétereket a következő szintaxissal adhatod meg:
|
||||
.
|
||||
.TP
|
||||
.B \-<codec>opts <opció1[=érték],opció2,...>
|
||||
.B \-<codec>opts <opció1[=érték1]:opció2[=érték2]:...>
|
||||
.
|
||||
.PP
|
||||
Ahol a <codec> lehet: lavc, xvidenc, lame, toolame, twolame,
|
||||
@@ -10547,6 +10550,10 @@ jelenleg csak MPEG[12] eset
|
||||
Néha szükséges növelni a "buffer alulcsordulás" elkerüléséhez.
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: nem dokumentált
|
||||
.
|
||||
.TP
|
||||
.B packetsize=<méret>
|
||||
A kiválasztott formátum egységes csomagmérete, bájtokban kifejezve.
|
||||
MPEG[12] implementációkba történő muxálásánál az alapértelmezett értékek:
|
||||
@@ -10559,10 +10566,6 @@ m
|
||||
időbélyeg (DTS) között bármelyik jelenlévő folyamnál
|
||||
(késleltetés demux-ból dekódolásba).
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: nem dokumentált
|
||||
.
|
||||
.
|
||||
.
|
||||
.\" --------------------------------------------------------------------------
|
||||
@@ -10716,6 +10719,12 @@ FIXME: Ezt m
|
||||
.B VIDIX_CRT
|
||||
FIXME: Ezt még dokumentálni kell.
|
||||
.
|
||||
.TP
|
||||
.B VIDIXIVTVALPHA
|
||||
Ha ennek az értéke 'disable', a VIDIX vezérlő nem fogja változtatni az
|
||||
alphablending beállításait.
|
||||
Te továbbra is tudod módosítani őket az 'ivtvfbctl' paranccsal.
|
||||
.
|
||||
.SS osdep:
|
||||
.
|
||||
.TP
|
||||
|
||||
@@ -990,6 +990,9 @@ Specifica il file di configurazione dell'input se diverso da quello di default
|
||||
~/\:.mplayer/\:input.conf.
|
||||
Se il parametro è senza percorso completo viene considerato
|
||||
~/\:.mplayer/\:<nomefile>.
|
||||
.IPs ar-dev=<dispositivo>
|
||||
Dispositivo da usare per il telecomando Apple IR (solo Linux, rilevato
|
||||
automaticamente di default).
|
||||
.IPs ar-delay
|
||||
Ritardo in msec prima di cominciare ad autoripetere un tasto (0 per disabilitare)
|
||||
.IPs ar-rate
|
||||
@@ -3499,6 +3502,8 @@ esegui MPlayer con l'opzione \-v e dai un'occhiata alle linee segnate
|
||||
con [xv common] all'inizio.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs adaptor=<numero>
|
||||
Seleziona un adattatore XVideo specifico (vedi l'emissione di xvinfo).
|
||||
.IPs port=<numero>
|
||||
Seleziona una porta XVideo specifica.
|
||||
.IPs ck=<cur|use|set>
|
||||
@@ -3548,6 +3553,8 @@ Video Motion Compensation) di XFree86 4.x. per velocizzare la decodifica
|
||||
dei formati MPEG-1/2 e VCR2.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs adaptor=<numero>
|
||||
Seleziona un adattatore XVideo specifico (vedi l'emissione di xvinfo).
|
||||
.IPs port=<numero>
|
||||
Seleziona una porta XVideo specifica.
|
||||
.IPs (no)benchmark
|
||||
|
||||
+10
-11
@@ -1,7 +1,6 @@
|
||||
# Makefile for generating the HTML documentation
|
||||
|
||||
# List of subdirectories to be processed.
|
||||
SUBDIRS = en es fr hu it pl cs de ru zh_CN
|
||||
include ../../config.mak
|
||||
|
||||
# Generated chunked HTML files go here.
|
||||
HTML_CHUNKED = ../HTML
|
||||
@@ -14,10 +13,10 @@ all: html-chunked html-single
|
||||
help:
|
||||
@echo "Targets:"
|
||||
@echo "********"
|
||||
@echo "all : Build everything (default)."
|
||||
@echo "html-single : Build HTML documentation (single file)."
|
||||
@echo "all : Build everything for configured languages (default)."
|
||||
@echo "html-single : HTML documentation for configured languages (single file)"
|
||||
@echo "html-single-LANG : As above, but only one language."
|
||||
@echo "html-chunked : Build HTML documentation (multiple files)."
|
||||
@echo "html-chunked : HTML documentation for configured languages (multiple files)"
|
||||
@echo "html-chunked-LANG : As above, but only one language."
|
||||
@echo "xmllint : Check syntax of all xml files."
|
||||
@echo "xmllint-LANG : Check syntax of LANG xml files."
|
||||
@@ -29,17 +28,17 @@ help:
|
||||
@echo "clean-LANG : Remove HTML files for one language."
|
||||
@echo "releaseclean-LANG : Remove generated files for one language."
|
||||
@echo "distclean-LANG : Remove ALL generated files for one language."
|
||||
@echo "Substitute LANG for one of $(SUBDIRS)"
|
||||
@echo "Substitute LANG for one of $(DOC_LANG_ALL)"
|
||||
|
||||
html-chunked: xsltproc.sh xmllint.sh chunked-dir $(addprefix html-chunked-,$(SUBDIRS))
|
||||
html-chunked: xsltproc.sh xmllint.sh chunked-dir $(addprefix html-chunked-,$(DOC_LANGS))
|
||||
chunked-dir:
|
||||
-mkdir -p $(HTML_CHUNKED)
|
||||
|
||||
html-single: xsltproc.sh xmllint.sh single-dir $(addprefix html-single-,$(SUBDIRS))
|
||||
html-single: xsltproc.sh xmllint.sh single-dir $(addprefix html-single-,$(DOC_LANGS))
|
||||
single-dir:
|
||||
-mkdir -p $(HTML_SINGLE)
|
||||
|
||||
xmllint: xmllint.sh $(addprefix xmllint-,$(SUBDIRS))
|
||||
xmllint: xmllint.sh $(addprefix xmllint-,$(DOC_LANG_ALL))
|
||||
|
||||
clean-html-chunked:
|
||||
-rm -rf $(HTML_CHUNKED)
|
||||
@@ -47,7 +46,7 @@ clean-html-chunked:
|
||||
clean-html-single:
|
||||
-rm -rf $(HTML_SINGLE)
|
||||
|
||||
releaseclean: $(addprefix releaseclean-,$(SUBDIRS))
|
||||
releaseclean: $(addprefix releaseclean-,$(DOC_LANG_ALL))
|
||||
-rm -f html-chunk.xsl html-single.xsl xsltproc.sh xmllint.sh
|
||||
|
||||
distclean: clean releaseclean
|
||||
@@ -78,7 +77,7 @@ releaseclean-$(1):
|
||||
$(MAKE) HTMLDIR=../$(HTML_CHUNKED)/$(1) -C $(1) distclean
|
||||
endef
|
||||
|
||||
$(foreach lang, $(SUBDIRS),$(eval $(call lang-def,$(lang))))
|
||||
$(foreach lang, $(DOC_LANG_ALL),$(eval $(call lang-def,$(lang))))
|
||||
|
||||
.PHONY: all help html-chunked* chunked-dir html-single* single-dir xmllint*
|
||||
.PHONY: clean-html-chunked clean-html-single releaseclean* distclean* clean*
|
||||
Vendored
+1
-1
@@ -152,7 +152,7 @@ else
|
||||
echo "Found docbookx.dtd at $_dtd"
|
||||
fi
|
||||
|
||||
for lang in `grep 'SUBDIRS =' Makefile|cut -d= -f2`; do
|
||||
for lang in `grep 'DOC_LANGS =' ../../config.mak|cut -d= -f2`; do
|
||||
cat > $lang/main.xml << EOF
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!-- **************************************************
|
||||
|
||||
@@ -106,7 +106,7 @@ núcleo 2.4.x es recomendado.
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2>
|
||||
<sect2 id="seccion_codecs">
|
||||
<title>Codecs</title>
|
||||
|
||||
<itemizedlist>
|
||||
@@ -415,7 +415,7 @@ funciona con los siguientes controladores:
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2>
|
||||
<sect2 id="caracteristicas">
|
||||
<title>Características</title>
|
||||
|
||||
<itemizedlist>
|
||||
@@ -778,7 +778,7 @@ Hay muchas maneras de conseguirlo:
|
||||
<command>konwert</command> o <command>iconv</command>.
|
||||
</para><para>
|
||||
|
||||
<table>
|
||||
<table id="algunas_urls">
|
||||
<title>Algunas URLs</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
|
||||
@@ -90,7 +90,7 @@ se inserta en el archivo de destino... y ¡ya está todo hecho!
|
||||
</para></step>
|
||||
</procedure>
|
||||
|
||||
<example>
|
||||
<example id="example_3_pass">
|
||||
<title>Ejemplo de codificación en 3-pasadas</title>
|
||||
<para>
|
||||
<screen>rm frameno.avi</screen>
|
||||
@@ -448,7 +448,7 @@ archivos <filename>.idx</filename> y <filename>.sub</filename> ya existen.
|
||||
Debería borrarlos antes de comenzar.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<example id="copiando_dos_subtitulos_dvd_mientras_codificacion">
|
||||
<title>Copiando dos subtítulos desde un DVD mientras se hace la
|
||||
codificación en 3-pasadas</title>
|
||||
<screen>
|
||||
@@ -459,7 +459,7 @@ mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout subtitles -vobsuboutind
|
||||
--></screen>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<example id="copying_a_french_subtitle_from_an_mpeg_file">
|
||||
<title>Copiando un subtítulo francés desde un archivo MPEG</title>
|
||||
<screen>
|
||||
rm subtitles.idx subtitles.sub
|
||||
|
||||
@@ -123,7 +123,7 @@ usando la opción <option>-input <replaceable>conf</replaceable></option>
|
||||
(ruta relativa a <filename>$HOME/.mplayer</filename>).
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<example id="input_control_file">
|
||||
<title>Un archivo de control simple</title>
|
||||
<programlisting>
|
||||
##
|
||||
|
||||
@@ -668,7 +668,7 @@ en la (si está presente) banda negra.
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<table>
|
||||
<table id="teclas_sdl">
|
||||
<title>Teclas solo para SDL</title>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r21537 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="audio">
|
||||
<title>Audió kimeneti eszközök</title>
|
||||
<sect1 id="sync">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r23225 -->
|
||||
<!-- synced with r26990 -->
|
||||
<appendix id="bugreports">
|
||||
<title>Hogyan jelentsd a hibákat</title>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r23516 -->
|
||||
<!-- synced with r26990 -->
|
||||
<appendix id="bugs">
|
||||
<title>Ismert hibák</title>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24346 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="cd-dvd">
|
||||
<title>CD/DVD használat</title>
|
||||
|
||||
@@ -226,11 +226,11 @@ Egy Video CD (VCD) CD-ROM XA szektorokból áll, pl. CD-ROM 2-es módban
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Az első sáv 2-es módban, 2-es formátumban van, ami azt jelenti, hogy L2
|
||||
hibajavítást használ. A sáv ISO-9660 fájlrendszert tartalmaz 2048
|
||||
bájt/szektorral. Ez a fájlrendszer VCD metaadat információkat tartalmaz,
|
||||
hibajavítást használ. A sáv ISO-9660 fájl rendszert tartalmaz 2048
|
||||
bájt/szektorral. Ez a fájl rendszer VCD metaadat információkat tartalmaz,
|
||||
valamint gyakran a menükben alkalmazott képkockákat. A menük MPEG
|
||||
szegmensei is ezen az első sávon tárolhatóak, de az MPEG-eket fel kell
|
||||
osztani 150 szektoros csonkokra. Az ISO-9660 fájlrendszer tartalmazhat
|
||||
osztani 150 szektoros csonkokra. Az ISO-9660 fájl rendszer tartalmazhat
|
||||
egyéb fájlokat vagy programokat, amik a VCD működése szempontjából nem
|
||||
lényegesek.
|
||||
</para></listitem>
|
||||
@@ -241,7 +241,7 @@ Egy Video CD (VCD) CD-ROM XA szektorokból áll, pl. CD-ROM 2-es módban
|
||||
Ezek 2-es mód 1-es formátumban vannak, így több adatot tárolnak
|
||||
szektoronként némi hibajavítás elveszítése árán. Lehet CD-DA sáv is a
|
||||
VCD-n az első sáv után. Némelyik operációs rendszeren van egy kis csalás,
|
||||
amivel ezek a nem-ISO-9660 sávok megjelennek a fájlrendszerben. Más
|
||||
amivel ezek a nem-ISO-9660 sávok megjelennek a fájl rendszerben. Más
|
||||
operációs rendszereken, például GNU/Linux-on ez nem így van (még). Itt
|
||||
az MPEG adat <emphasis role="bold">nem mountolható</emphasis>. Mivel a
|
||||
legtöbb film ilyen típusú sávon belül van, először próbáld ki a
|
||||
@@ -250,7 +250,7 @@ Egy Video CD (VCD) CD-ROM XA szektorokból áll, pl. CD-ROM 2-es módban
|
||||
|
||||
<listitem><para>
|
||||
Léteznek olyan VCD lemezek is, melyeken nincs meg az első sáv (egy sáv és
|
||||
egyáltalán nincs fájlrendszer). Ezek szintén lejátszhatóak, de nem lehet
|
||||
egyáltalán nincs fájl rendszer). Ezek szintén lejátszhatóak, de nem lehet
|
||||
őket becsatolni.
|
||||
</para></listitem>
|
||||
|
||||
@@ -274,7 +274,7 @@ elérést az alkalmazásoknak). Linux alatt nem tudod átmásolni vagy lejátsza
|
||||
az ilyen fájlokat (szemét van bennük). Windows alatt lehetséges, mivel az
|
||||
iso9660 vezérlője a sávok nyers olvasását emulálja ebben a fájlban. A .DAT
|
||||
fájlok lejátszásához szükséged lesz egy kernel vezérlőre, ami a PowerDVD
|
||||
Linuxos verziójában található. Ez egy módosított iso9660 fájlrendszer vezérlőt
|
||||
Linuxos verziójában található. Ez egy módosított iso9660 fájl rendszer vezérlőt
|
||||
(<filename>vcdfs/isofs-2.4.X.o</filename>) tartalmaz, ami képes a nyers sáv
|
||||
emulációra ezen ál .DAT fájlon keresztül. Ha az ő vezérlőjük segítségével
|
||||
csatolod be a lemezt, át tudod másolni és le tudod játszani a .DAT fájlt az
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r26729 -->
|
||||
<!-- synced with r27102 -->
|
||||
<chapter id="codecs">
|
||||
<title>Codec-ek</title>
|
||||
|
||||
@@ -96,8 +96,8 @@ lehetséges pár formátumba, melyeket támogat is a
|
||||
|
||||
<para>
|
||||
Az összes támogatott
|
||||
<ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">videó</ulink>
|
||||
és <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audió</ulink>
|
||||
<ulink url="http://ffmpeg.mplayerhq.hu/general.html#SEC6">videó</ulink>
|
||||
és <ulink url="http://ffmpeg.mplayerhq.hu/general.html#SEC7">audió</ulink>
|
||||
codec-ek listájáért látogasd meg az FFmpeg weboldalát.
|
||||
</para>
|
||||
|
||||
@@ -174,10 +174,7 @@ mivel jobb a sebessége.
|
||||
<filename class="directory">/usr/local/include/</filename>könyvtárba.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Fordítsd újra az <application>MPlayer</application>t a
|
||||
<option>--with-xvidlibdir=<replaceable>/eleresi/ut/</replaceable>libxvidcore.a</option>
|
||||
<option>--with-xvidincdir=<replaceable>/eleresi/ut/</replaceable>xvid.h</option>
|
||||
kapcsolókkal.
|
||||
Fordítsd újra az <application>MPlayer</application>t.
|
||||
</para></step>
|
||||
</procedure>
|
||||
</sect2>
|
||||
@@ -386,7 +383,7 @@ eleget teszel az <systemitem class="library">x264</systemitem> követelményeine
|
||||
Voxware audió (DirectShow DLL használatával)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
alaw és ulaw, számos gsm, adpcm és pcm formátum és más, egyszerű, régi
|
||||
alaw és ulaw, számos GSM, ADPCM és PCM formátum és más, egyszerű, régi
|
||||
audió codec
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24056 -->
|
||||
<!-- synced with r27107 -->
|
||||
<chapter id="containers">
|
||||
<title>Konténerek</title>
|
||||
|
||||
@@ -83,7 +83,7 @@ jelenti, hogy egy MPEG fájlt szabványos fájl eszközökkel (például
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Az MPG-k egyik legfontosabb tulajdonsága, hogy van egy mezőjük, mely a
|
||||
Az MPEG-ek egyik legfontosabb tulajdonsága, hogy van egy mezőjük, mely a
|
||||
videó folyam képarányát írja le. Például az SVCD-knek 480x480 felbontású
|
||||
videójuk van, a fejlécben ilyenkor ez a mező 4:3 arányra van állítva, ezért
|
||||
játszódnak le 640x480-ban. Az AVI fájlokból gyakran hiányzik ez a mező,
|
||||
@@ -321,8 +321,8 @@ a Return to Castle Wolfenstein.
|
||||
<title>OGG/OGM fájlok</title>
|
||||
|
||||
<para>
|
||||
Ez egy új fájlformátum a
|
||||
<ulink url="http://www.xiph.org">Xiphophorus</ulink>-tól.
|
||||
Ez egy új fájl formátum a
|
||||
<ulink url="http://www.xiph.org">Xiph.Org Alapítvány</ulink>tól.
|
||||
Bármilyen videó és audió codec-et tartalmazhat, CBR vagy VBR. El kell végezned
|
||||
a <systemitem class="library">libogg</systemitem> és a
|
||||
<systemitem class="library">libvorbis</systemitem> telepítését az
|
||||
@@ -395,7 +395,7 @@ További infók a <ulink url="http://www.matroska.org/">hivatalos weboldalukon</
|
||||
<para>
|
||||
A NUT az <application>MPlayer</application>es és az <application>FFmpeg</application>es
|
||||
emberkék által kifejlesztett konténer formátum. Mindkét projekt támogatja.
|
||||
További infókat a <ulink url="http://www.nut.hu/">hivatalos weboldalon</ulink> olvashatsz.
|
||||
További infókat a <ulink url="http://www.nut-container.org/">hivatalos weboldalon</ulink> olvashatsz.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
@@ -508,7 +508,7 @@ kapcsolókat adhatsz tovább a <application>cdparanoia</application>-nak.
|
||||
<para>
|
||||
Az <application>MPlayer</application> fel tudja használni az <application>XMMS</application>
|
||||
bemeneti plugin-jeit több fájl formátum lejátszásához. Van plugin SNES játék hangok, SID
|
||||
hangok (Commodore 64), sok Amiga formátum, .xm, .it, VQF, musepack, Bonk,
|
||||
hangok (Commodore 64), sok Amiga formátum, .xm, .it, VQF, Musepack, Bonk,
|
||||
és számos egyéb lejátszásához. Megtalálhatóak az
|
||||
<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS bemeneti plugin oldalán</ulink>.
|
||||
</para>
|
||||
@@ -517,10 +517,6 @@ hangok (Commodore 64), sok Amiga formátum, .xm, .it, VQF, musepack, Bonk,
|
||||
Ehhez a képességhez <application>XMMS</application> és
|
||||
<filename>./configure --enable-xmms</filename> kapcsolóval fordított
|
||||
<application>MPlayer</application> kell.
|
||||
Ha ez nem működik, pontosan meg kell adnod az <application>XMMS</application>
|
||||
plugin és függvénykönyvtár elérési útvonalát a
|
||||
<option>--with-xmmsplugindir</option> és <option>--with-xmmslibdir</option>
|
||||
kapcsolókkal.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r25566 -->
|
||||
<!-- synced with r27211 -->
|
||||
|
||||
<bookinfo id="toc">
|
||||
<title><application>MPlayer</application> - The Movie Player</title>
|
||||
@@ -48,11 +48,9 @@ olvasd el a <xref linkend="faq"/>-t, vagy greppelj a file-okban. A legtöbb
|
||||
kérdésre fogsz választ találni, amire pedig nem, az nagy valószínűséggel már
|
||||
megválaszolásra került valamelyik
|
||||
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">levelezési listán</ulink>.
|
||||
<!-- FIXME: This refers to nonexistent links
|
||||
Nézd meg az
|
||||
<ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">archivumot</ulink>,
|
||||
<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archivumot</ulink>,
|
||||
mert rengeteg értékes információt tartalmaz.
|
||||
-->
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
@@ -61,17 +59,16 @@ mert rengeteg értékes információt tartalmaz.
|
||||
|
||||
<para>
|
||||
Az <application>MPlayer</application> egy Linuxon működő videolejátszó (fut
|
||||
számos más Unix-on és akár <emphasis role="bold">nem-x86</emphasis> processzorokon
|
||||
is, lásd <xref linkend="ports"/>).
|
||||
Le tudja játszani a legtöbb MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4,
|
||||
számos más Unix-on és nem-x86 processzorokon is, lásd <xref linkend="ports"/>).
|
||||
Le tudja játszani a legtöbb MPEG, VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4,
|
||||
FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, és Matroska file-t, és ezekhez
|
||||
felsorakoztat jónéhány natív, XAnim, RealPlayer és Win32 DLL codecet. Nézhetsz vele
|
||||
<emphasis role="bold">VideoCD-t, SVCD-t, DVD-t, 3ivx, RealMedia, Sorenson, Theora</emphasis>
|
||||
és <emphasis role="bold">MPEG-4 (DivX)</emphasis> filmet is. Az <application>MPlayer</application>
|
||||
Video CD-t, SVCD-t, DVD-t, 3ivx, RealMedia, Sorenson, Theora
|
||||
és MPEG-4 (DivX) filmet is. Az <application>MPlayer</application>
|
||||
másik nagy előnye a megjelenítési módok széles választékában rejlik.
|
||||
Működik X11, Xv, DGA, OpenGL, SVGAlib,
|
||||
fbdev, AAlib, libcaca, DirectFB, sőt SDL-lel vagy GGI-vel is (beleértve ezáltal
|
||||
az SDL/GGI drivereit is), és néhány alacsonyszintű kártyaspecifikus vezérlő
|
||||
az SDL/GGI drivereit is), és néhány alacsony szintű kártyaspecifikus vezérlő
|
||||
(Matrox, 3dfx, Radeon, Mach64, Permedia3) is használható!
|
||||
Legtöbbjük támogat szoftveres vagy hardveres nagyítást, így a teljesképernyős
|
||||
mód is elérhető. Az <application>MPlayer</application> támogat továbbá hardveres
|
||||
@@ -79,14 +76,14 @@ MPEG kártyákkal történő dekódolást/megjelenítést, így például a
|
||||
<link linkend="dvb">DVB</link> és <link linkend="dxr3">DXR3/Hollywood+</link>
|
||||
kártyákon!
|
||||
És még nem is szóltam a szép, élsímított, árnyékolt feliratozásról
|
||||
(<emphasis role="bold">14 támogatott típus!</emphasis>),
|
||||
ami támogat európai/ISO-88592-1,2 (magyar, angol, cseh, stb), cirill és koreai
|
||||
fontokat, valamint az OSD-ről!
|
||||
(14 támogatott típus!), ami támogat európai/ISO-88592-1,2 (magyar, angol, cseh,
|
||||
stb), cirill és koreai fontokat, valamint az OSD-ről!
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A lejátszó sziklaszilárdan játszik le hibás MPEG file-okat (hasznos néhány
|
||||
VCD-nél), és minden olyan hibás AVI-t, amit a csodás Windows Media Player nem.
|
||||
VCD-nél), és minden olyan hibás AVI-t, amit a csodás
|
||||
<application>Windows Media Player</application> nem.
|
||||
Még az index chunk nélküli AVI-k is lejátszhatók, sőt az indexet ideiglenesen
|
||||
fel is lehet építeni az <option>-idx</option> opcióval (vagy véglegesen a
|
||||
<application>MEncoder</application>rel), így tekerni is lehet bennük! Amint
|
||||
@@ -99,13 +96,12 @@ videó-audió szerkesztéshez.
|
||||
A <application>MEncoder</application> (<application>MPlayer's</application> Movie
|
||||
Encoder) egy egyszerű film kódoló, az <application>MPlayer</application> által
|
||||
ismert formátumok
|
||||
(<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
|
||||
(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
|
||||
más <application>MPlayer</application> által lejátszható formátumokba való
|
||||
átalakításához (lásd lejjebb).
|
||||
Sokféle codec-kel tud kódolni, például <emphasis role="bold">MPEG-4 (DivX4)</emphasis>-gyel
|
||||
Sokféle codec-kel tud kódolni, például MPEG-4-gyel (DivX4)
|
||||
(egy vagy két menetes), a <systemitem class="library">libavcodec</systemitem>-et
|
||||
alkotó codec-ekkel, audiót tekintve pedig
|
||||
<emphasis role="bold">PCM/MP3/VBR MP3</emphasis> a választék.
|
||||
alkotó codec-ekkel, audiót tekintve pedig PCM/MP3/VBR MP3 a választék.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
@@ -119,7 +115,7 @@ alkotó codec-ekkel, audiót tekintve pedig
|
||||
által támogatott összes formátumba tud tömöríteni
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Videó grabbelés <emphasis role="bold">V4L kompatibilis TV tunerekről</emphasis>
|
||||
Videó grabbelés V4L kompatibilis TV tunerekről
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Helyes index-szel rendelkező AVI fájlok kódolása/multiplexelése
|
||||
@@ -131,7 +127,7 @@ alkotó codec-ekkel, audiót tekintve pedig
|
||||
1, 2 vagy 3 menetes kódolás
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis role="bold">VBR</emphasis> MP3 audió
|
||||
VBR MP3 audió
|
||||
<important><para>
|
||||
a VBR-es MP3-akat nem minden Windows rendszerre elérhető lejátszó kezeli helyesen!
|
||||
</para></important>
|
||||
@@ -143,7 +139,7 @@ alkotó codec-ekkel, audiót tekintve pedig
|
||||
Stream másolás
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Bemeneti file A/V szinkronizálása (PTS-alapú, az
|
||||
Bemeneti file A/V szinkronizálása (pts-alapú, az
|
||||
<option>-mc 0</option> opcióval kikapcsolható)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r26925 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="encoding-guide">
|
||||
<title>Kódolás a <application>MEncoder</application>rel</title>
|
||||
|
||||
@@ -438,7 +438,7 @@ tengelyen, a másik a kék-sárga tengelyen).
|
||||
Ha a film szélessége és magassága nem 16 többszöröse, a kódoló akkor is
|
||||
elegendő 16x16-os makroblokkot fog használni, hogy lefedje a teljes
|
||||
képet, a maradék hely veszendőbe megy.
|
||||
Így ha a minőség maximalizálása a cél egy fix fájlmérettel, akkor
|
||||
Így ha a minőség maximalizálása a cél egy fix fájl mérettel, akkor
|
||||
eléggé rossz ötlet nem 16 valamelyik többszörösét használni méretként.
|
||||
</para>
|
||||
|
||||
@@ -1185,8 +1185,8 @@ Az egyetlen dolog, amit szeretnél, a videó nagyon könnyű zajszűrőn törté
|
||||
bitek jobb felhasználásáról van szó: miért vesztegessük el őket a zaj
|
||||
kódolására, ha ezt a zajt lejátszás közben is hozzá tudod adni? A
|
||||
<option>hqdn3d</option> paramétereinek növelésével még jobb tömörítettséget
|
||||
érhetsz el, de ha túl magasra állítod az értékeket, rontod a kép
|
||||
láthatóságát.
|
||||
érhetsz el, de ha túl magasra állítod az értékeket, akkor láthatóan rontod
|
||||
a kép minőségét.
|
||||
A fent javasolt értékek (<option>2:1:2</option>) eléggé konzervatívak;
|
||||
kísérletezz szabadon nagyobb értékekkel és ellenőrizd az eredményeket magad.
|
||||
</para>
|
||||
@@ -1548,7 +1548,7 @@ PCM-be az <application>MPlayer</application>rel), a szeletek hibásan maradnak
|
||||
benne és csak képkocka eldobással/duplázással lehet javítani.
|
||||
Amíg a <application>MEncoder</application> látja az audiót a videó kódolása
|
||||
közben, meg tudja csinálni ezt az eldobást/duplázást (ami általában rendben
|
||||
van, mert teljesen sötét/jelentetváltásos helyeken történik), de ha a
|
||||
van, mert teljesen sötét/jelentet váltásos helyeken történik), de ha a
|
||||
<application>MEncoder</application> nem látja az audiót, csak feldolgoz
|
||||
minden képkockát úgy ahogy van és nem fog illeszkedni a végső audió folyamhoz
|
||||
ha például összeilleszted az audió és a videó sávodat egy Matroska fájlba.
|
||||
@@ -2226,7 +2226,7 @@ mencoder dvd://1 -oac copy -vf pullup,softskip
|
||||
mezőpárokat, hogy azok egy komplett képkockát adjanak. A <option>filmdint</option>
|
||||
deinterlace-lni fogja az egyedi mezőket, amelyeket nem tud egyeztetni,
|
||||
míg a <option>pullup</option> egyszerűen csak eldobja őket. A két szűrő
|
||||
különböző detektáló kódot alkalmaz és a filmdint néha túl kevés mezőt
|
||||
különböző detektáló kódot alkalmaz és a <option>filmdint</option> néha túl kevés mezőt
|
||||
egyeztet. Az, hogy melyik szűrő a jobb, a bemeneti videótól és az egyéni
|
||||
ízléstől függ; kísérletezz szabadon a szűrők opcióinak finomhangolásával,
|
||||
ha valamelyikkel problémád van (lásd a man oldalt a részletekért).
|
||||
@@ -2384,7 +2384,7 @@ Az időtartam/hely alapján kell döntened.
|
||||
<para>
|
||||
Bátran használhatod a <option>pullup</option>-ot (a <option>softskip</option>pel
|
||||
együtt) a progresszív videókon és ez általában jó ötlet, hacsak a forrás
|
||||
nem egyértelműen teljesen progresszív. A teljesítményveszteség kicsi az
|
||||
nem egyértelműen teljesen progresszív. A teljesítmény veszteség kicsi az
|
||||
esetek többségében. Nagyon ritka kódolási esetekben a <option>pullup</option>
|
||||
a <application>MEncoder</application> 50%-os lassulását okozhatja.
|
||||
A zenefeldolgozás hozzáadása és a fejlett <option>lavcopts</option>
|
||||
@@ -2849,7 +2849,7 @@ Ez szép is lenne, de sajnos nehezen megvalósítható, mert a különböző
|
||||
kódolási opciók különböző minőséget eredményeznek, mely függ a forrás
|
||||
anyagtól is.
|
||||
Ez azért van, mert a tömörítés függ a szóbanforgó videó vizuális tulajdonságaitól.
|
||||
Például az anime és az élő felvétel két nagyon különböző anyag és
|
||||
Például az Anime és az élő felvétel két nagyon különböző anyag és
|
||||
így különböző opciókat követelnek meg az optimális kódoláshoz.
|
||||
A jó hír, hogy néhány opciót soha sem lehet elhagyni, mint például az
|
||||
<option>mbd=2</option>, <option>trell</option> és <option>v4mv</option>.
|
||||
@@ -2889,7 +2889,7 @@ Olvass tovább a gyakori kódolási opciók leírásához.
|
||||
Kísérletezz a 0 (alapértelmezett), 2 (hadamard), 3 (dct) és 6 (ráta
|
||||
torzítás) értékekkel!
|
||||
0 a leggyorsabb és és elegendő a precmp-hez.
|
||||
A cmp-hez és subcmp-hez 2 jó, ha anime és 3 ha élő akció.
|
||||
A cmp-hez és subcmp-hez 2 jó, ha Anime és 3 ha élő akció.
|
||||
A 6 vagy jobb vagy nem, de mindenképpen lassabb.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@@ -2934,7 +2934,7 @@ Olvass tovább a gyakori kódolási opciók leírásához.
|
||||
általad megadott küszöb és ebben az esetben egyszerűen "változtatás nélkül"
|
||||
kerül elkódolásra a blokk.
|
||||
Ez biteket ment meg és talán gyorsít is a kódoláson. A vlelim=-4 és
|
||||
vcelim=9 látszólag jók az élő filmekhez, de nem segítenek az anime-nál;
|
||||
vcelim=9 látszólag jók az élő filmekhez, de nem segítenek az Anime-nál;
|
||||
ha animációt kódolsz, inkább hagyd őket változatlanul.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@@ -2942,7 +2942,7 @@ Olvass tovább a gyakori kódolási opciók leírásához.
|
||||
Az MPEG-4 fél pixeles precíziót használ a mozgáskereséshez alapértelmezésként,
|
||||
ezért ez az opció plusz terhelést hoz, mivel több információ tárolódik az
|
||||
elkódolt fájlban. A tömörítési nyereség/veszteség a filmtől függ, de
|
||||
általában nem hatékony anime-oknál.
|
||||
általában nem hatékony Anime-oknál.
|
||||
A qpel mindig jelentős dekódolási CPU idő igénnyel jár (+25% a gyakorlatban).
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@@ -3341,7 +3341,7 @@ ha a következő rész túl zavarosnak tűnik.
|
||||
<listitem><para>
|
||||
<emphasis role="bold">hq_ac</emphasis>
|
||||
Bekapcsol egy jobb együttható kölcségbecslő módszert, ami kissé
|
||||
csökkenti a fájlméretet, kb. 0,15-0,19% között (ami kevesebb, mint
|
||||
csökkenti a fájl méretet, kb. 0,15-0,19% között (ami kevesebb, mint
|
||||
0,01dB-es PSNR növekedésnek felel meg), miközben jelentéktelen
|
||||
hatása van a sebességre. Ezért ajánlott mindig bekapcsolva hagyni.
|
||||
</para></listitem>
|
||||
@@ -3374,7 +3374,7 @@ ha a következő rész túl zavarosnak tűnik.
|
||||
csak a luma-t (grayscale) használja.
|
||||
Ez 5-10%-kal lassítja a kódolást, de eléggé javítja a vizuális
|
||||
minőséget a blokkosodási effektusok csökkentésével és csökkenti
|
||||
a fájlméretet kb. 1,3%-kal.
|
||||
a fájl méretet kb. 1,3%-kal.
|
||||
Ha a sebesség érdekel, kapcsold ki ezt az opciót, mielőtt
|
||||
elkezdenél töprengeni a <option>me_quality</option> csökkentésén.
|
||||
</para></listitem>
|
||||
@@ -3666,7 +3666,7 @@ A következő táblázat megmutatja, hogy melyik profil mit támogat.
|
||||
<entry>X</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Quaterpixel</entry>
|
||||
<entry>Quarterpixel</entry>
|
||||
<entry></entry>
|
||||
<entry></entry>
|
||||
<entry></entry>
|
||||
@@ -3950,7 +3950,7 @@ elért bitráta különbségből adódik.
|
||||
valószínűleg jóval kevesebb, mint 0.1dB PSNR-t veszítesz, ami
|
||||
túl kicsi különbség ahhoz, hogy észrevedd.
|
||||
Bár a <option>frameref</option> különböző értékei alkalmanként
|
||||
befolyásolhatják a frametype döntéseket.
|
||||
befolyásolhatják a képkocka típus döntéseket.
|
||||
Ezek legtöbbször ritka, szélsőséges esetek, de ha teljesen biztos
|
||||
akarsz lenni, gondolkozz el rajta, hogy van-e a videódban teljes
|
||||
képernyős ismétlődő, csillogó minta vagy nagyon nagy ideiglenes
|
||||
@@ -4419,7 +4419,7 @@ opciókat, ha a codec hibázik vagy rossz kimenetet ad.
|
||||
</row>
|
||||
<row>
|
||||
<entry>m3jpeg32.dll</entry>
|
||||
<entry>Morgan Motion JPEG Codec (MJPG)</entry>
|
||||
<entry>Morgan Motion JPEG Codec (MJPEG)</entry>
|
||||
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
@@ -4792,7 +4792,7 @@ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300
|
||||
<screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
|
||||
mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
|
||||
|
||||
A fájlnevek fontosak; az <application>mp4creator</application>
|
||||
A fájl nevek fontosak; az <application>mp4creator</application>
|
||||
<systemitem>.aac</systemitem> kiterjesztésű AAC audió folyamot és
|
||||
<systemitem>.h264</systemitem> kiterjesztésű H.264 videó folyamot vár.
|
||||
</para>
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24035 -->
|
||||
<!-- synced with r27230 -->
|
||||
<chapter id="faq" xreflabel="FAQ">
|
||||
<title>Gyakran ismételt kérdések</title>
|
||||
|
||||
@@ -832,7 +832,7 @@ Az <application>MPlayer</application> nem támogatja a DVD menüket súlyos
|
||||
tervezési korlátok miatt, amik megakadályozzák a still images és az interaktív
|
||||
tartalom használatát. Ha szép menüket akarsz használni, másik lejátszót kell
|
||||
használnod, mint pl. a <application>xine</application>,
|
||||
a <application>vlc</application> vagy az <application>Ogle</application>.
|
||||
a <application>VLC</application> vagy az <application>Ogle</application>.
|
||||
Ha DVD navigációt akarsz látni az <application>MPlayer</application>ben,
|
||||
neked magadnak kell megcsinálnod, de vigyázz, nagy fába vágod a fejszédet.
|
||||
</para></answer>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r21537 -->
|
||||
<!-- synced with r26990 -->
|
||||
<appendix id="history">
|
||||
<title>Történelem</title>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24087 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="install">
|
||||
<title>Telepítés</title>
|
||||
|
||||
@@ -288,7 +288,7 @@ ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mp
|
||||
|
||||
<para>
|
||||
A betűtípusoknak rendelkezniük kell egy megfelelő <filename>font.desc</filename>
|
||||
fájllal, ami leképezi a unicode betűpozíciókat az aktuális felirat szöveg
|
||||
fájllal, ami leképezi a Unicode betűpozíciókat az aktuális felirat szöveg
|
||||
kódlapjára. A másik megoldás UTF-8 kódolású feliratok használata és a
|
||||
<option>-utf8</option> kapcsoló megadása vagy add meg a felirat
|
||||
fájl neveként ugyan azt a nevet, mint a videó fájlé, de <filename>.utf</filename>
|
||||
@@ -368,7 +368,7 @@ Három fajta időzítési eljárás van az <application>MPlayer</application>ben
|
||||
kapcsoló engedélyezi, de megfelelően beállított kernel kell hozzá.
|
||||
Ha 2.4.19pre8 vagy későbbi kernelt használsz, beállíthatod a maximum
|
||||
RTC frekvenciát a sima felhasználóknak a <systemitem class="systemname">/proc
|
||||
</systemitem> fájlrendszer segítségével. Használd az alábbi két parancs
|
||||
</systemitem> fájl rendszer segítségével. Használd az alábbi két parancs
|
||||
valamelyikét az RTC normál felhasználók számára történő engedélyezéséhez:
|
||||
<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
|
||||
<screen>sysctl dev/rtc/max-user-freq=1024</screen>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r26258 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="mencoder">
|
||||
<title>A <application>MEncoder</application> használatának alapjai</title>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r26936 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="ports" xreflabel="Ports">
|
||||
<title>Portok</title>
|
||||
|
||||
@@ -68,7 +68,7 @@ a <ulink url="http://rpm.livna.org/">Livna repository</ulink>-ban.
|
||||
<para>
|
||||
A Mandrake/Mandriva RPM csomagok a
|
||||
<ulink url="http://plf.zarb.org/">P.L.F.</ulink> oldalán találhatóak.
|
||||
A SuSE régen az <application>MPlayer</application> egy csonkított verzióját tartalmazta,
|
||||
A SUSE régen az <application>MPlayer</application> egy csonkított verzióját tartalmazta,
|
||||
de az utóbbi kiadásokból már kiszedték. SuSE-val működő csomagok a
|
||||
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>
|
||||
oldalon találhatóak.
|
||||
@@ -324,11 +324,11 @@ hogy le tudsz játszani 4 GB-nál nagyobb DVD lemezt:
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Egy hasonló hiba van a hsfs(7FS) fájlrendszer kódjában is (alias ISO9660),
|
||||
Egy hasonló hiba van a hsfs(7FS) fájl rendszer kódjában is (alias ISO9660),
|
||||
a hsfs nem támogatja a 4 GB-nál nagyobb partíciókat/lemezeket, minden adat
|
||||
modulo 4GB-vel lesz elérve
|
||||
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
||||
Ez a hiba a 109764-04 (sparc) / 109765-04
|
||||
Ez a hiba a 109764-04 (SPARC) / 109765-04
|
||||
(x86) jelzésű patch-ek telepítése után megszűnik.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
@@ -768,7 +768,7 @@ A későbbi példák mind MacPorts-on alapszanak.
|
||||
|
||||
<para>
|
||||
Például az <application>MPlayer</application> lefordítása OSD támogatással:
|
||||
<screen>sudo port install pkgconfig</screen>
|
||||
<screen>sudo port install pkg-config</screen>
|
||||
Ez telepíti a <application>pkg-config</application>-ot, ami a függvénykönyvtárak
|
||||
fordítási/szerkesztési flag-jeinek kezelését végző rendszer.
|
||||
Az <application>MPlayer</application> <systemitem>configure</systemitem> script-je
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r21612 -->
|
||||
<!-- synced with r26990 -->
|
||||
<appendix id="skin">
|
||||
<title><application>MPlayer</application> skin formátum</title>
|
||||
|
||||
@@ -1107,14 +1107,14 @@ Az alábbi üzeneteket generálják a gombok, potméterek és menüpontok.
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">evLoadSubtitle</emphasis></term>
|
||||
<listitem><para>
|
||||
Felirat fájl betöltése (a fájlválasztóval)
|
||||
Felirat fájl betöltése (a fájl választóval)
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">evLoadAudioFile</emphasis></term>
|
||||
<listitem><para>
|
||||
Audió fájl betöltése (a fájlválasztóval)
|
||||
Audió fájl betöltése (a fájl választóval)
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24604 -->
|
||||
<!-- synced with r27050 -->
|
||||
<chapter id="tv">
|
||||
<title>TV</title>
|
||||
|
||||
@@ -194,7 +194,8 @@ tudják hardveres korlátok miatt.
|
||||
<title>Teletext</title>
|
||||
|
||||
<para>
|
||||
A teletext jelenleg csak a v4l és v4l2 vezérlőkkel használható az MPlayerben.
|
||||
A teletext jelenleg csak a v4l és v4l2 vezérlőkkel használható
|
||||
az <application>MPlayerben</application>.
|
||||
</para>
|
||||
|
||||
<sect2 id="tv-teletext-implementation-notes">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r25146 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="usage">
|
||||
<title>Használat</title>
|
||||
|
||||
@@ -427,7 +427,7 @@ Ez el fogja menteni a
|
||||
<replaceable>http://217.71.208.37:8006</replaceable> szerveren stream-elt
|
||||
tartalmat a <replaceable>stream.asf</replaceable> fájlba.
|
||||
Ez működik az <application>MPlayer</application> által támogatott
|
||||
összes protokollal, mint MMS, RSTP és így tovább.
|
||||
összes protokollal, mint MMS, RTSP és így tovább.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
+55
-64
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r26914 -->
|
||||
<!-- synced with r27044 -->
|
||||
<chapter id="video">
|
||||
<title>Videó kimeneti eszközök</title>
|
||||
|
||||
@@ -198,7 +198,7 @@ van xv támogatás, de maga a kártya túl lassú, így jobb, ha eladod.
|
||||
<para>
|
||||
Már van natív framebuffer vezérlő az S3 Virge kártyákhoz, hasonlóan a tdfxfb-hez.
|
||||
Állítsd be a framebuffer-ed (pl. add hozzá a
|
||||
"<option>vga=792 video=vesa:mtrr</option>" opciót a kernel parancssorához) és használd
|
||||
"<option>vga=792 video=vesa:mtrr</option>" opciót a kernel parancs sorához) és használd
|
||||
a <option>-vo s3fb</option> opciót (<option>-vf yuy2</option> és <option>-dr</option>
|
||||
szintén segíthet).
|
||||
</para>
|
||||
@@ -856,7 +856,12 @@ buffereléssel. Működik mind a framebuffer konzolon, mind X alatt, de csak
|
||||
|
||||
<para>
|
||||
Ezen vezérlő Linux 2.6.x alatti verziója itt található:
|
||||
<ulink url="http://attila.kinali.ch/mga/"/>.
|
||||
<ulink url="http://attila.kinali.ch/mga/"/> vagy nézz rá az mga_vid külső
|
||||
Subversion repository-jára, melyet checkout-olhatsz így:
|
||||
|
||||
<screen>
|
||||
svn checkout svn://svn.mplayerhq.hu/mga_vid
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
@@ -1545,11 +1550,16 @@ kérjük jelezd ezt a fejlesztőknek is. A helyes módszer a VIDIX argumentumok
|
||||
nélküli használata, és így az automatikus detektálás engedélyezése.
|
||||
</para>
|
||||
|
||||
|
||||
<sect2 id="svgalib_helper">
|
||||
<title>svgalib_helper</title>
|
||||
|
||||
<para>
|
||||
Mivel a VIDIX-nek direkt hardver elérés kell, futtathatod root-ként vagy
|
||||
beállíthatod a SUID bit-et az <application>MPlayer</application> binárisán
|
||||
(<emphasis role="bold">Figyelem: Ez biztonsági kockázatot jelent!</emphasis>).
|
||||
Alternatívaként használhatsz egy speciális kernel modult, így:
|
||||
Alternatívaként, ha 2.4.x-es Linux kernelt futtatsz, használhatsz egy
|
||||
speciális kernel modult, így:
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
@@ -1574,18 +1584,17 @@ Alternatívaként használhatsz egy speciális kernel modult, így:
|
||||
<filename class="directory">svgalib_helper</filename> könyvtárban rootként.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Mozgasd át az <filename class="directory">svgalib_helper</filename> könyvtárat
|
||||
a <filename class="directory">vidix</filename> alkönyvtárba az
|
||||
<application>MPlayer</application> forrásfájában.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Töröld a megjegyzést az "svgalib_helper"-t tartalmazó CFLAGS sor elől a
|
||||
<filename class="directory">vidix/Makefile</filename>-ban.
|
||||
Ezután futtasd le a <filename>configure</filename>-t újra és add meg neki a
|
||||
<option>--enable-svgalib_helper</option> és a
|
||||
<option>--with-extraincdir=/eleresi/ut/svgalib_helper/forrasahoz</option>
|
||||
paramétereket, az svgalib_helper kicsomagolt forrását tartalmazó könyvtárnak
|
||||
megfelelően.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Forgass újra.
|
||||
</para></step>
|
||||
</para></step>
|
||||
</procedure>
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="vidix-ati">
|
||||
@@ -2348,7 +2357,7 @@ a Matrox G450/G550 TV-kimenet utasításaiért lásd a következő részt!
|
||||
<option>-vo x11 -fs -zoom</option> kapcsolókat, de
|
||||
<emphasis role="bold">LASSÚ</emphasis> lesz,
|
||||
és <emphasis role="bold">Macrovision</emphasis> másolásvédelem van rajta
|
||||
(ezzel a <ulink url="http://avifile.sf.net/mgamacro.pl">perl script</ulink>-tel
|
||||
(ezzel a <ulink url="http://avifile.sf.net/mgamacro.pl">Perl script</ulink>-tel
|
||||
"megkerülheted" a Macrovisiont).
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -2362,40 +2371,19 @@ a Matrox G450/G550 TV-kimenet utasításaiért lásd a következő részt!
|
||||
használhatatlanok erre. Engedélyezned kell az ÖSSZES matroxfb-specifikus
|
||||
tulajdonságot a fordítás alatt (kivéve a MultiHead-et) és
|
||||
<emphasis role="bold">modulokba</emphasis> kell fordítanod!
|
||||
Az engedélyezett I2C-re is szükséged lesz.
|
||||
Az I2C-t is engedélyezned kell és a
|
||||
<application>matroxset</application>, <application>fbset</application>
|
||||
és <application>con2fb</application> eszközöknek az elérési úton kell lenniük.
|
||||
</para>
|
||||
|
||||
<procedure>
|
||||
<step><para>
|
||||
Lépj be a <filename class="directory">TVout</filename>-ba és írd be:
|
||||
<command>./compile.sh</command>. Telepítsd a
|
||||
<filename>TVout/matroxset/matroxset</filename>-et
|
||||
valahova a <envar>PATH</envar>-odon belülre.
|
||||
Majd töltsd be a <systemitem>matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
|
||||
matroxfb_crtc2</systemitem> modulokat a kerneledbe. A szöveges-módú
|
||||
konzolod framebuffer módba vált (nincs visszaút!).
|
||||
</para></step>
|
||||
<step><para>
|
||||
Ha nincs telepítve <command>fbset</command>-ed, tedd a
|
||||
<filename>TVout/fbset/fbset</filename>-et
|
||||
valahova a <envar>PATH</envar>-odba.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Ha nincs <command>con2fb</command>-ed telepítve, tedd a
|
||||
<filename>TVout/con2fb/con2fb</filename>-t
|
||||
valahova a <envar>PATH</envar>-odba.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Majd lépj be a <filename class="directory">TVout/</filename>
|
||||
könyvtárba az <application>MPlayer</application> forrásában és
|
||||
futtasd le a <filename>./modules</filename>-t root-ként. A
|
||||
szöveges módú konzolod átvált framebuffer módba (nincs visszaút!).
|
||||
</para></step>
|
||||
<step><para>
|
||||
Ezután ÍRD ÁT és futtasd a <filename>./matroxtv</filename> script-et. Ez
|
||||
egy roppant egyszerű menüt kínál neked. Nyomd meg a <keycap>2</keycap>-est
|
||||
és az <keycap>Enter</keycap>-t. Most már ugyan azt a képet kell látnod
|
||||
a monitorodon és a TV-n. ha a TV (PAL alapértelmezettként)
|
||||
képén furcsa csíkok vannak, a script nem tudta beállítani jól a
|
||||
felbontást (640x512-ra alapesetben). Próbálj meg másik felbontást
|
||||
a menüből és/vagy kísérletezz az fbset-tel.
|
||||
Ezután állítsd be a monitorod és a TV-t a kedvednek megfelelően a fenti eszközökkel.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Yoh. A következő dolog, hogy a kurzort eltűntesd a tty1-ről (vagy
|
||||
@@ -2436,29 +2424,6 @@ mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<formalpara><title>Matrox TV-kimeneti kábel készítése</title>
|
||||
<para>
|
||||
Senki sem vállal ezért semmilyen felelősséget, sem garanciát bármilyen,
|
||||
ezen leírásból származó kárért.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara><title>Kábel a G400-hoz</title>
|
||||
<para>
|
||||
A CRTC2 csatlakozójának negyedik pin-je a kompozit videó jel. A
|
||||
földelés a hatodik, hetedik és nyolcadik pin. (az infót Rácz Balázs
|
||||
adta)
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara><title>Kábel a G450-hez</title>
|
||||
<para>
|
||||
A CRTC2 csatlakozójának első pin-je a kompozit videó jel. A
|
||||
földelés az ötödik, hatodik, hetedik és tizenötödik (5, 6, 7, 15)
|
||||
pin. (az infót Kerekes Balázs adta)
|
||||
</para>
|
||||
</formalpara>
|
||||
</sect2>
|
||||
|
||||
<!-- ********** -->
|
||||
@@ -2492,6 +2457,32 @@ A szükséges kernel javítás és a bővebb HOWTO letölthető:
|
||||
|
||||
<!-- ********** -->
|
||||
|
||||
<sect2 id="tv-out_matrox_cable">
|
||||
<title>Matrox TV-kimeneti kábel készítése</title>
|
||||
<para>
|
||||
Senki sem vállal ezért semmilyen felelősséget, sem garanciát bármilyen,
|
||||
ezen leírásból származó kárért.
|
||||
</para>
|
||||
|
||||
<formalpara><title>Kábel a G400-hoz</title>
|
||||
<para>
|
||||
A CRTC2 csatlakozójának negyedik pin-je a kompozit videó jel. A
|
||||
földelés a hatodik, hetedik és nyolcadik pin. (az infót Rácz Balázs
|
||||
adta)
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara><title>Kábel a G450-hez</title>
|
||||
<para>
|
||||
A CRTC2 csatlakozójának első pin-je a kompozit videó jel. A
|
||||
földelés az ötödik, hatodik, hetedik és tizenötödik (5, 6, 7, 15)
|
||||
pin. (az infót Kerekes Balázs adta)
|
||||
</para>
|
||||
</formalpara>
|
||||
</sect2>
|
||||
|
||||
<!-- ********** -->
|
||||
|
||||
<sect2 id="tvout-ati">
|
||||
<title>ATI kártyák</title>
|
||||
|
||||
|
||||
@@ -241,7 +241,7 @@ może zostać prawidłowo odtworzony przez odtwarzacze inne niż
|
||||
<application>MPlayer</application>.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<example id="encode_to_macromedia_flash_format">
|
||||
<title>kodowanie do formatu Macromedia Flash</title>
|
||||
<para>
|
||||
Tworzenie zbioru Macromedia Flash video, nadającego się do odtwarzania
|
||||
|
||||
@@ -235,7 +235,7 @@ AVI容器是<application>MEncoder</application>的基本容器格式,也就是
|
||||
<application>MPlayer</application>之外的播放器中播放。
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<example id="encode_to_macromedia_flash_format">
|
||||
<title>编码为Macromedia Flash格式</title>
|
||||
<para>
|
||||
生成Macromedia Flash视频,以便在安装有Macromedia Flash插件的网页浏览器中播放:
|
||||
|
||||
@@ -822,8 +822,8 @@ install-dirs:
|
||||
install-%: %$(EXESUF) install-dirs
|
||||
$(INSTALL) -m 755 $(INSTALLSTRIP) $< $(BINDIR)
|
||||
|
||||
install-mplayer-man: $(foreach lang,$(MAN_LANG_ALL),install-mplayer-man-$(lang))
|
||||
install-mencoder-man: $(foreach lang,$(MAN_LANG_ALL),install-mencoder-man-$(lang))
|
||||
install-mplayer-man: $(foreach lang,$(MAN_LANGS),install-mplayer-man-$(lang))
|
||||
install-mencoder-man: $(foreach lang,$(MAN_LANGS),install-mencoder-man-$(lang))
|
||||
|
||||
install-mplayer-man-en:
|
||||
$(INSTALL) -d $(MANDIR)/man1
|
||||
@@ -843,8 +843,8 @@ install-mencoder-man-$(lang): install-mplayer-man-$(lang)
|
||||
cd $(MANDIR)/$(lang)/man1 && ln -sf mplayer.1 mencoder.1
|
||||
endef
|
||||
|
||||
$(foreach lang,$(MAN_LANG),$(eval $(MPLAYER_MAN_RULE)))
|
||||
$(foreach lang,$(MAN_LANG),$(eval $(MENCODER_MAN_RULE)))
|
||||
$(foreach lang,$(filter-out en,$(MAN_LANG_ALL)),$(eval $(MPLAYER_MAN_RULE)))
|
||||
$(foreach lang,$(filter-out en,$(MAN_LANG_ALL)),$(eval $(MENCODER_MAN_RULE)))
|
||||
|
||||
install-gui: install-mplayer
|
||||
-ln -sf mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF)
|
||||
@@ -859,7 +859,7 @@ uninstall:
|
||||
rm -f $(prefix)/share/pixmaps/mplayer.xpm
|
||||
rm -f $(prefix)/share/applications/mplayer.desktop
|
||||
rm -f $(MANDIR)/man1/mplayer.1 $(MANDIR)/man1/mencoder.1
|
||||
rm -f $(foreach lang,$(MAN_LANG),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
|
||||
rm -f $(foreach lang,$(MAN_LANGS),$(foreach man,mplayer.1 mencoder.1,$(MANDIR)/$(lang)/man1/$(man)))
|
||||
|
||||
clean:
|
||||
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
|
||||
|
||||
@@ -191,7 +191,9 @@ case `echo -n` in
|
||||
*) _echo_n='-n ' _echo_c= ;; # BSD echo
|
||||
esac
|
||||
|
||||
LANGUAGES=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s:help/help_mp-\(..\).h:\1:g" | sed "s:help/help_mp-\(.....\).h:\1:g"`
|
||||
msg_lang_all=`echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g"`
|
||||
man_lang_all=`echo DOCS/man/??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g"`
|
||||
doc_lang_all=`echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g"`
|
||||
|
||||
show_help(){
|
||||
cat << EOF
|
||||
@@ -417,7 +419,7 @@ Miscellaneous options:
|
||||
translated man pages, the first language is used for
|
||||
messages and the GUI (the environment variable
|
||||
\$LINGUAS is also honored) [en]
|
||||
(Available: $LANGUAGES all)
|
||||
(Available: all $msg_lang_all)
|
||||
--with-install=PATH path to a custom install program
|
||||
|
||||
Advanced options:
|
||||
@@ -1573,6 +1575,7 @@ if x86 && test "$_runtime_cpudetection" = no ; then
|
||||
if test "$1" = kernel_check ; then
|
||||
echocheck "kernel support of $2"
|
||||
cat > $TMPC <<EOF
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
void catch() { exit(1); }
|
||||
int main(void) {
|
||||
@@ -2410,7 +2413,7 @@ echocheck ".align is a power of two"
|
||||
if test "$_asmalign_pot" = auto ; then
|
||||
_asmalign_pot=no
|
||||
cat > $TMPC << EOF
|
||||
int main(void) { asm (".align 3"); }
|
||||
int main(void) { asm (".align 3"); return 0; }
|
||||
EOF
|
||||
cc_check && _asmalign_pot=yes
|
||||
fi
|
||||
@@ -2481,7 +2484,7 @@ if arm ; then
|
||||
echocheck "ARMv5TE (Enhanced DSP Extensions)"
|
||||
if test $_armv5te = "auto" ; then
|
||||
cat > $TMPC << EOF
|
||||
int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); }
|
||||
int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); return 0; }
|
||||
EOF
|
||||
_armv5te=no
|
||||
cc_check && _armv5te=yes
|
||||
@@ -2491,7 +2494,7 @@ EOF
|
||||
echocheck "ARMv6 (SIMD instructions)"
|
||||
if test $_armv6 = "auto" ; then
|
||||
cat > $TMPC << EOF
|
||||
int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); }
|
||||
int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); return 0; }
|
||||
EOF
|
||||
_armv6=no
|
||||
cc_check && _armv6=yes
|
||||
@@ -2501,7 +2504,7 @@ EOF
|
||||
echocheck "iWMMXt (Intel XScale SIMD instructions)"
|
||||
if test $_iwmmxt = "auto" ; then
|
||||
cat > $TMPC << EOF
|
||||
int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); }
|
||||
int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); return 0; }
|
||||
EOF
|
||||
_iwmmxt=no
|
||||
cc_check && _iwmmxt=yes
|
||||
@@ -2600,30 +2603,39 @@ echores "$_langinfo"
|
||||
|
||||
echocheck "language"
|
||||
test -z "$_language" && _language=$LINGUAS
|
||||
_language=`echo $_language | sed 's/,/ /g'`
|
||||
echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
|
||||
for lang in $_language ; do
|
||||
test "$lang" = all && lang=en
|
||||
if test -f "help/help_mp-${lang}.h" ; then
|
||||
_language=$lang
|
||||
break
|
||||
else
|
||||
echo ${_echo_n} "$lang not found, ${_echo_c}"
|
||||
_language=`echo $_language | sed "s/$lang *//"`
|
||||
fi
|
||||
done
|
||||
test -z "$_language" && _language=en
|
||||
_mp_help="help/help_mp-${_language}.h"
|
||||
test -f $_mp_help || die "$_mp_help not found"
|
||||
for lang in $LANGUAGES ; do
|
||||
if test -f "DOCS/man/$lang/mplayer.1" ; then
|
||||
MAN_LANG_ALL="$lang $MAN_LANG_ALL"
|
||||
fi
|
||||
done
|
||||
MAN_LANG="$(echo $MAN_LANG_ALL | sed 's/en//')"
|
||||
_doc_lang=$_language
|
||||
test -d DOCS/xml/$_doc_lang || _doc_lang=en
|
||||
echores "using $_language (man pages: $MAN_LANG_ALL)"
|
||||
_language=`echo $_language | tr , " "`
|
||||
if $(echo $_language | grep -q all) ; then
|
||||
doc_lang=en ; doc_langs=$doc_lang_all
|
||||
man_lang=en ; man_langs=$man_lang_all
|
||||
msg_lang=en
|
||||
else
|
||||
for lang in $_language ; do
|
||||
if test -d DOCS/man/$lang ; then
|
||||
tmp_man_langs="$tmp_man_langs $lang"
|
||||
fi
|
||||
if test -d DOCS/xml/$lang ; then
|
||||
tmp_doc_langs="$tmp_doc_langs $lang"
|
||||
fi
|
||||
done
|
||||
man_langs=$tmp_man_langs
|
||||
doc_langs=$tmp_man_langs
|
||||
for lang in $_language ; do
|
||||
if test -f "help/help_mp-${lang}.h" ; then
|
||||
msg_lang=$lang
|
||||
break
|
||||
else
|
||||
echo ${_echo_n} "$lang not found, ${_echo_c}"
|
||||
_language=`echo $_language | sed "s/$lang *//"`
|
||||
fi
|
||||
done
|
||||
fi
|
||||
test -z "$doc_langs" && doc_langs=en
|
||||
test -z "$man_langs" && man_langs=en
|
||||
test -z "$doc_lang" && doc_lang=$(echo $doc_langs | cut -f1 -d" ")
|
||||
test -z "$man_lang" && man_lang=$(echo $man_langs | cut -f1 -d" ")
|
||||
test -z "$msg_lang" && msg_lang=en
|
||||
_mp_help="help/help_mp-${msg_lang}.h"
|
||||
echores "messages: $msg_lang - man pages: $man_langs - documentation: $doc_langs"
|
||||
|
||||
|
||||
echocheck "enable sighandler"
|
||||
@@ -2646,7 +2658,7 @@ echores "$_runtime_cpudetection"
|
||||
|
||||
echocheck "restrict keyword"
|
||||
for restrict_keyword in restrict __restrict __restrict__ ; do
|
||||
echo "void foo(char * $restrict_keyword p); int main(void) {}" > $TMPC
|
||||
echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
|
||||
if cc_check; then
|
||||
_def_restrict_keyword=$restrict_keyword
|
||||
break;
|
||||
@@ -3015,8 +3027,9 @@ fi
|
||||
|
||||
echocheck "dynamic loader"
|
||||
cat > $TMPC << EOF
|
||||
#include <stddef.h>
|
||||
#include <dlfcn.h>
|
||||
int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
|
||||
int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
|
||||
EOF
|
||||
_dl=no
|
||||
for _ld_tmp in "" "-ldl" ; do
|
||||
@@ -3124,6 +3137,7 @@ int main(void) {
|
||||
if (iconv_close(icdsc) == -1)
|
||||
;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
_iconv=no
|
||||
@@ -3283,7 +3297,9 @@ fi #if sunos
|
||||
echocheck "termcap"
|
||||
if test "$_termcap" = auto ; then
|
||||
cat > $TMPC <<EOF
|
||||
int main(void) { tgetent(); return 0; }
|
||||
#include <stddef.h>
|
||||
#include <term.h>
|
||||
int main(void) { tgetent(NULL, NULL); return 0; }
|
||||
EOF
|
||||
_termcap=no
|
||||
for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
|
||||
@@ -3529,6 +3545,7 @@ int main(void) {
|
||||
EnterMovies();
|
||||
ExitMovies();
|
||||
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
|
||||
@@ -3553,7 +3570,7 @@ EOF
|
||||
cat > $TMPC <<EOF
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <QuartzCore/CoreVideo.h>
|
||||
int main(void) {}
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
|
||||
_vosrc="$_vosrc vo_macosx.m"
|
||||
@@ -3745,6 +3762,7 @@ struct vis_identifier ident;
|
||||
struct fbgattr attr;
|
||||
ioctl(0, VIS_GETIDENTIFIER, &ident);
|
||||
ioctl(0, FBIOGATTR, &attr);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
_xvr100=no
|
||||
@@ -3957,13 +3975,13 @@ if test "$_x11" = yes ; then
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/extensions/dpms.h>
|
||||
int main(void) { (void) DPMSQueryExtension(0, 0, 0); }
|
||||
int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
|
||||
EOF
|
||||
cc_check -lXdpms && _xdpms3=yes
|
||||
cat > $TMPC <<EOF
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/dpms.h>
|
||||
int main(void) { (void) DPMSQueryExtension(0, 0, 0); }
|
||||
int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
|
||||
EOF
|
||||
cc_check -lXext && _xdpms4=yes
|
||||
fi
|
||||
@@ -5187,9 +5205,14 @@ fi
|
||||
echores "$_openal"
|
||||
|
||||
echocheck "ALSA audio"
|
||||
if test "$_alloca" != yes ; then
|
||||
_alsa=no
|
||||
_res_comment="alloca missing"
|
||||
fi
|
||||
if test "$_alsa" != no ; then
|
||||
_alsa=no
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/time.h>
|
||||
#include <sys/asoundlib.h>
|
||||
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
|
||||
#error "alsa version != 0.5.x"
|
||||
@@ -5199,6 +5222,7 @@ EOF
|
||||
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
|
||||
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/time.h>
|
||||
#include <sys/asoundlib.h>
|
||||
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
|
||||
#error "alsa version != 0.9.x"
|
||||
@@ -5207,6 +5231,7 @@ int main(void) { return 0; }
|
||||
EOF
|
||||
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/time.h>
|
||||
#include <alsa/asoundlib.h>
|
||||
#if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
|
||||
#error "alsa version != 0.9.x"
|
||||
@@ -5216,6 +5241,7 @@ EOF
|
||||
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
|
||||
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/time.h>
|
||||
#include <sys/asoundlib.h>
|
||||
#if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
|
||||
#error "alsa version != 1.0.x"
|
||||
@@ -5224,6 +5250,7 @@ int main(void) { return 0; }
|
||||
EOF
|
||||
cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/time.h>
|
||||
#include <alsa/asoundlib.h>
|
||||
#if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
|
||||
#error "alsa version != 1.0.x"
|
||||
@@ -5586,6 +5613,7 @@ echocheck "fontconfig"
|
||||
if test "$_fontconfig" = auto ; then
|
||||
cat > $TMPC << EOF
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fontconfig/fontconfig.h>
|
||||
int main(void) {
|
||||
int err = FcInit();
|
||||
@@ -5681,6 +5709,7 @@ echores "$_fribidi"
|
||||
echocheck "ENCA"
|
||||
if test "$_enca" = auto ; then
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/types.h>
|
||||
#include <enca.h>
|
||||
int main(void) {
|
||||
const char **langs;
|
||||
@@ -5880,7 +5909,7 @@ if test "$_speex" = auto ; then
|
||||
_speex=no
|
||||
cat > $TMPC << EOF
|
||||
#include <speex/speex.h>
|
||||
int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); }
|
||||
int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
|
||||
EOF
|
||||
cc_check -lspeex $_ld_lm && _speex=yes
|
||||
fi
|
||||
@@ -6020,12 +6049,14 @@ echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
|
||||
if test "$_musepack" = auto ; then
|
||||
_musepack=no
|
||||
cat > $TMPC << EOF
|
||||
#include <stddef.h>
|
||||
#include <mpcdec/mpcdec.h>
|
||||
int main(void) {
|
||||
mpc_streaminfo info;
|
||||
mpc_decoder decoder;
|
||||
mpc_decoder_set_streaminfo(&decoder, &info);
|
||||
mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
cc_check -lmpcdec $_ld_lm && _musepack=yes
|
||||
@@ -6283,7 +6314,7 @@ if test "$_live" = auto && test "$_network" = yes ; then
|
||||
#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
|
||||
#error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
|
||||
#endif
|
||||
int main(void) {}
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
|
||||
_live=no
|
||||
@@ -6654,7 +6685,7 @@ echocheck "zr"
|
||||
if test "$_zr" = auto ; then
|
||||
#36067's seem to identify themselves as 36057PQC's, so the line
|
||||
#below should work for 36067's and 36057's.
|
||||
if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
|
||||
if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci ; then
|
||||
_zr=yes
|
||||
else
|
||||
_zr=no
|
||||
@@ -7109,7 +7140,7 @@ short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B
|
||||
int main(void) { return (int)ascii_name; }
|
||||
EOF
|
||||
if cc_check ; then
|
||||
if strings $TMPEXE | grep -l MPlayerBigEndian >/dev/null ; then
|
||||
if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
|
||||
_big_endian=yes
|
||||
else
|
||||
_big_endian=no
|
||||
@@ -7178,7 +7209,7 @@ if test "$_inet6" = auto ; then
|
||||
#else
|
||||
#include <ws2tcpip.h>
|
||||
#endif
|
||||
int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
|
||||
int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
|
||||
EOF
|
||||
_inet6=no
|
||||
if cc_check $_ld_sock ; then
|
||||
@@ -7199,7 +7230,7 @@ cat > $TMPC << EOF
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
int main(void) { gethostbyname2("", AF_INET); }
|
||||
int main(void) { gethostbyname2("", AF_INET); return 0; }
|
||||
EOF
|
||||
_gethostbyname2=no
|
||||
if cc_check ; then
|
||||
@@ -7222,7 +7253,7 @@ if test "$_gui" = yes ; then
|
||||
|
||||
# Required libraries
|
||||
if test "$_libavcodec" != yes ||
|
||||
! echo $_libavdecoders | grep PNG_DECODER >/dev/null 2>&1 ; then
|
||||
! echo $_libavdecoders | grep -q PNG_DECODER ; then
|
||||
die "The GUI requires libavcodec with PNG support (needs zlib)."
|
||||
fi
|
||||
test "$_freetype" = no && test "$_bitmap_font" = no && \
|
||||
@@ -7456,8 +7487,8 @@ echores "$_lircc"
|
||||
|
||||
if arm; then
|
||||
# Detect maemo development platform libraries availability (http://www.maemo.org),
|
||||
# they are used when run on Nokia 770
|
||||
echocheck "maemo (Nokia 770)"
|
||||
# they are used when run on Nokia 770|8x0
|
||||
echocheck "maemo (Nokia 770|8x0)"
|
||||
if test "$_maemo" = auto ; then
|
||||
_maemo=no
|
||||
cat > $TMPC << EOF
|
||||
@@ -7592,8 +7623,12 @@ cat > config.mak << EOF
|
||||
# Ensure that locale settings do not interfere with shell commands.
|
||||
export LC_ALL = C
|
||||
|
||||
MAN_LANG = $MAN_LANG
|
||||
MAN_LANG_ALL = $MAN_LANG_ALL
|
||||
DOC_LANG = $doc_lang
|
||||
DOC_LANGS = $doc_langs
|
||||
DOC_LANG_ALL = $doc_lang_all
|
||||
MAN_LANG = $man_lang
|
||||
MAN_LANGS = $man_langs
|
||||
MAN_LANG_ALL = $man_lang_all
|
||||
|
||||
DESTDIR =
|
||||
prefix = \$(DESTDIR)$_prefix
|
||||
@@ -7827,7 +7862,7 @@ ff_config_enable () {
|
||||
_nprefix=$3;
|
||||
test -z "$_nprefix" && _nprefix='CONFIG'
|
||||
for part in $1; do
|
||||
if ` echo $2 | grep -E "(^| )$part($| )" > /dev/null `; then
|
||||
if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
|
||||
echo "#define ${_nprefix}_$part 1"
|
||||
echo "#define ENABLE_$part 1"
|
||||
else
|
||||
@@ -8591,20 +8626,15 @@ Config files successfully generated by ./configure $_configuration !
|
||||
Optimizing for: $_optimizing
|
||||
|
||||
Languages:
|
||||
Messages/GUI: $_language
|
||||
EOF
|
||||
|
||||
echo ${_echo_n} " Manual pages: $MAN_LANG_ALL ${_echo_c}"
|
||||
test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
|
||||
echo
|
||||
|
||||
cat << EOF
|
||||
Messages/GUI: $msg_lang
|
||||
Manual pages: $man_langs
|
||||
|
||||
Enabled optional drivers:
|
||||
Input: $_inputmodules
|
||||
Codecs: $_codecmodules
|
||||
Audio output: $_aomodules
|
||||
Video output: $_vomodules
|
||||
|
||||
Disabled optional drivers:
|
||||
Input: $_noinputmodules
|
||||
Codecs: $_nocodecmodules
|
||||
@@ -8622,7 +8652,7 @@ EOF
|
||||
|
||||
|
||||
if test "$_mtrr" = yes ; then
|
||||
echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
|
||||
echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
|
||||
echo
|
||||
fi
|
||||
|
||||
@@ -8649,7 +8679,7 @@ If you used one of these options (except --enable-gui and similar ones that
|
||||
turn on internal features) and experience a compilation or linking failure,
|
||||
make sure you have passed the necessary compiler/linker flags to configure.
|
||||
|
||||
If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
|
||||
If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "mp_msg.h"
|
||||
#include "get_path.h"
|
||||
|
||||
#ifdef MACOSX_BUNDLE
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
|
||||
+1
-1
@@ -1069,7 +1069,7 @@ static LRESULT CALLBACK EventProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
inline void startplay(gui_t *gui)
|
||||
static void startplay(gui_t *gui)
|
||||
{
|
||||
handlemsg(gui->mainwindow, evDropFile);
|
||||
}
|
||||
|
||||
+684
-737
File diff suppressed because it is too large.
Load diff
+232
-232
File diff suppressed because it is too large.
Load diff
+6
-6
@@ -88,7 +88,7 @@ How to generate these data:
|
||||
|
||||
/* Center front (-5 degree) - not 0 degree in order to create a clear
|
||||
front image from a finite distance */
|
||||
float cf_filt[128] = {
|
||||
static const float cf_filt[128] = {
|
||||
-0.00008638082319075036, 0.0003198059946385229,
|
||||
-0.0005010631339162132, 0.0011424741331126876,
|
||||
-0.001584220794688753, 0.001742715363246275,
|
||||
@@ -155,7 +155,7 @@ float cf_filt[128] = {
|
||||
-0.005469203016468759, -0.004355784273189485
|
||||
};
|
||||
/* Front, same side (30 degree) */
|
||||
float af_filt[128] = {
|
||||
static const float af_filt[128] = {
|
||||
-0.004140580614755493, 0.005790934614385445,
|
||||
0.003318916682081112, 0.014257145544366063,
|
||||
0.007328442487127339, -0.06550381777876194,
|
||||
@@ -222,7 +222,7 @@ float af_filt[128] = {
|
||||
-0.0005083025643192044, 0.00035096963769606926
|
||||
};
|
||||
/* Front, opposite (-30 degree) */
|
||||
float of_filt[128] = {
|
||||
static const float of_filt[128] = {
|
||||
-0.000013472538374193126, -0.00008048061877079751,
|
||||
0.000043927265781258155, -0.000017931700794858892,
|
||||
-0.000034774602476112886, -0.00009576223008735474,
|
||||
@@ -289,7 +289,7 @@ float of_filt[128] = {
|
||||
-0.0013726264946164232, -0.0020075119315034313
|
||||
};
|
||||
/* Rear, same side (135 degree) */
|
||||
float ar_filt[128] = {
|
||||
static const float ar_filt[128] = {
|
||||
0.004573315040810066, 0.0013592578059426913,
|
||||
0.01553271930902704, -0.0002356117224941317,
|
||||
-0.05746098219774702, 0.03430688963370445,
|
||||
@@ -356,7 +356,7 @@ float ar_filt[128] = {
|
||||
-0.0026884314856593368, -0.004084181815125924
|
||||
};
|
||||
/* Rear, opposite (-135 degree) */
|
||||
float or_filt[128] = {
|
||||
static const float or_filt[128] = {
|
||||
0.0001220944028243897, -0.000021785381808441314,
|
||||
5.823057988603169e-6, -0.00001217768176447613,
|
||||
-0.00006123604397345513, 5.574117262531134e-6,
|
||||
@@ -423,7 +423,7 @@ float or_filt[128] = {
|
||||
-0.001852908777923165, -0.002540339553144362
|
||||
};
|
||||
/* Center rear (180 degree) */
|
||||
float cr_filt[128] = {
|
||||
static const float cr_filt[128] = {
|
||||
-0.00005989110716536726, -0.00022790291829128702,
|
||||
0.0002659166098971966, -0.0003774772716776257,
|
||||
0.0004540309551867803, -0.000420238187386368,
|
||||
|
||||
+10
-10
@@ -25,8 +25,8 @@
|
||||
w filter taps
|
||||
x input signal must be a circular buffer which is indexed backwards
|
||||
*/
|
||||
inline FLOAT_TYPE af_filter_fir(register unsigned int n, FLOAT_TYPE* w,
|
||||
FLOAT_TYPE* x)
|
||||
inline FLOAT_TYPE af_filter_fir(register unsigned int n, const FLOAT_TYPE* w,
|
||||
const FLOAT_TYPE* x)
|
||||
{
|
||||
register FLOAT_TYPE y; // Output
|
||||
y = 0.0;
|
||||
@@ -48,11 +48,11 @@ inline FLOAT_TYPE af_filter_fir(register unsigned int n, FLOAT_TYPE* w,
|
||||
s output buffer stride
|
||||
*/
|
||||
FLOAT_TYPE* af_filter_pfir(unsigned int n, unsigned int d, unsigned int xi,
|
||||
FLOAT_TYPE** w, FLOAT_TYPE** x, FLOAT_TYPE* y,
|
||||
const FLOAT_TYPE** w, const FLOAT_TYPE** x, FLOAT_TYPE* y,
|
||||
unsigned int s)
|
||||
{
|
||||
register FLOAT_TYPE* xt = *x + xi;
|
||||
register FLOAT_TYPE* wt = *w;
|
||||
register const FLOAT_TYPE* xt = *x + xi;
|
||||
register const FLOAT_TYPE* wt = *w;
|
||||
register int nt = 2*n;
|
||||
while(d-- > 0){
|
||||
*y = af_filter_fir(n,wt,xt);
|
||||
@@ -69,7 +69,7 @@ FLOAT_TYPE* af_filter_pfir(unsigned int n, unsigned int d, unsigned int xi,
|
||||
filter. xq must be n*2 by k big, s is the index for in.
|
||||
*/
|
||||
int af_filter_updatepq(unsigned int n, unsigned int d, unsigned int xi,
|
||||
FLOAT_TYPE** xq, FLOAT_TYPE* in, unsigned int s)
|
||||
FLOAT_TYPE** xq, const FLOAT_TYPE* in, unsigned int s)
|
||||
{
|
||||
register FLOAT_TYPE* txq = *xq + xi;
|
||||
register int nt = n*2;
|
||||
@@ -99,7 +99,7 @@ int af_filter_updatepq(unsigned int n, unsigned int d, unsigned int xi,
|
||||
|
||||
returns 0 if OK, -1 if fail
|
||||
*/
|
||||
int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, FLOAT_TYPE* fc,
|
||||
int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, const FLOAT_TYPE* fc,
|
||||
unsigned int flags, FLOAT_TYPE opt)
|
||||
{
|
||||
unsigned int o = n & 1; // Indicator for odd filter length
|
||||
@@ -238,7 +238,7 @@ int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, FLOAT_TYPE* fc,
|
||||
|
||||
returns 0 if OK, -1 if fail
|
||||
*/
|
||||
int af_filter_design_pfir(unsigned int n, unsigned int k, FLOAT_TYPE* w,
|
||||
int af_filter_design_pfir(unsigned int n, unsigned int k, const FLOAT_TYPE* w,
|
||||
FLOAT_TYPE** pw, FLOAT_TYPE g, unsigned int flags)
|
||||
{
|
||||
int l = (int)n/k; // Length of individual FIR filters
|
||||
@@ -316,7 +316,7 @@ static void af_filter_prewarp(FLOAT_TYPE* a, FLOAT_TYPE fc, FLOAT_TYPE fs)
|
||||
Return: On return, set coef z-domain coefficients and k to the gain
|
||||
required to maintain overall gain = 1.0;
|
||||
*/
|
||||
static void af_filter_bilinear(FLOAT_TYPE* a, FLOAT_TYPE* b, FLOAT_TYPE* k,
|
||||
static void af_filter_bilinear(const FLOAT_TYPE* a, const FLOAT_TYPE* b, FLOAT_TYPE* k,
|
||||
FLOAT_TYPE fs, FLOAT_TYPE *coef)
|
||||
{
|
||||
FLOAT_TYPE ad, bd;
|
||||
@@ -417,7 +417,7 @@ static void af_filter_bilinear(FLOAT_TYPE* a, FLOAT_TYPE* b, FLOAT_TYPE* k,
|
||||
|
||||
return -1 if fail 0 if success.
|
||||
*/
|
||||
int af_filter_szxform(FLOAT_TYPE* a, FLOAT_TYPE* b, FLOAT_TYPE Q, FLOAT_TYPE fc,
|
||||
int af_filter_szxform(const FLOAT_TYPE* a, const FLOAT_TYPE* b, FLOAT_TYPE Q, FLOAT_TYPE fc,
|
||||
FLOAT_TYPE fs, FLOAT_TYPE *k, FLOAT_TYPE *coef)
|
||||
{
|
||||
FLOAT_TYPE at[3];
|
||||
|
||||
+7
-7
@@ -44,26 +44,26 @@
|
||||
#define ODD 0x00000010 // Make filter HP
|
||||
|
||||
// Exported functions
|
||||
extern FLOAT_TYPE af_filter_fir(unsigned int n, FLOAT_TYPE* w, FLOAT_TYPE* x);
|
||||
extern FLOAT_TYPE af_filter_fir(unsigned int n, const FLOAT_TYPE* w, const FLOAT_TYPE* x);
|
||||
|
||||
extern FLOAT_TYPE* af_filter_pfir(unsigned int n, unsigned int k,
|
||||
unsigned int xi, FLOAT_TYPE** w,
|
||||
FLOAT_TYPE** x, FLOAT_TYPE* y,
|
||||
unsigned int xi, const FLOAT_TYPE** w,
|
||||
const FLOAT_TYPE** x, FLOAT_TYPE* y,
|
||||
unsigned int s);
|
||||
|
||||
//extern int af_filter_updateq(unsigned int n, unsigned int xi,
|
||||
// FLOAT_TYPE* xq, FLOAT_TYPE* in);
|
||||
extern int af_filter_updatepq(unsigned int n, unsigned int k, unsigned int xi,
|
||||
FLOAT_TYPE** xq, FLOAT_TYPE* in, unsigned int s);
|
||||
FLOAT_TYPE** xq, const FLOAT_TYPE* in, unsigned int s);
|
||||
|
||||
extern int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, FLOAT_TYPE* fc,
|
||||
extern int af_filter_design_fir(unsigned int n, FLOAT_TYPE* w, const FLOAT_TYPE* fc,
|
||||
unsigned int flags, FLOAT_TYPE opt);
|
||||
|
||||
extern int af_filter_design_pfir(unsigned int n, unsigned int k, FLOAT_TYPE* w,
|
||||
extern int af_filter_design_pfir(unsigned int n, unsigned int k, const FLOAT_TYPE* w,
|
||||
FLOAT_TYPE** pw, FLOAT_TYPE g,
|
||||
unsigned int flags);
|
||||
|
||||
extern int af_filter_szxform(FLOAT_TYPE* a, FLOAT_TYPE* b, FLOAT_TYPE Q,
|
||||
extern int af_filter_szxform(const FLOAT_TYPE* a, const FLOAT_TYPE* b, FLOAT_TYPE Q,
|
||||
FLOAT_TYPE fc, FLOAT_TYPE fs, FLOAT_TYPE *k,
|
||||
FLOAT_TYPE *coef);
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <alloca.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "subopt-helper.h"
|
||||
|
||||
+8
-10
@@ -3,6 +3,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "mp_msg.h"
|
||||
@@ -50,9 +51,12 @@ static inline int check_varlen(uint8_t *ptr, uint8_t *endptr, int len) {
|
||||
}
|
||||
|
||||
static void asf_descrambling(unsigned char **src,unsigned len, struct asf_priv* asf){
|
||||
unsigned char *dst=malloc(len);
|
||||
unsigned char *dst;
|
||||
unsigned char *s2=*src;
|
||||
unsigned i=0,x,y;
|
||||
if (len > UINT_MAX - MP_INPUT_BUFFER_PADDING_SIZE)
|
||||
return;
|
||||
dst = malloc(len + MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
while(len>=asf->scrambling_h*asf->scrambling_w*asf->scrambling_b+i){
|
||||
// mp_msg(MSGT_DEMUX,MSGL_DBG4,"descrambling! (w=%d b=%d)\n",w,asf_scrambling_b);
|
||||
//i+=asf_scrambling_h*asf_scrambling_w;
|
||||
@@ -79,19 +83,12 @@ static void init_priv (struct asf_priv* asf){
|
||||
asf->vid_ext_frame_index=-1;
|
||||
}
|
||||
|
||||
#ifdef USE_LIBAVCODEC
|
||||
#include "libavcodec/avcodec.h"
|
||||
#else
|
||||
#define FF_INPUT_BUFFER_PADDING_SIZE 8
|
||||
#endif
|
||||
|
||||
|
||||
static void demux_asf_append_to_packet(demux_packet_t* dp,unsigned char *data,int len,int offs)
|
||||
{
|
||||
if(dp->len!=offs && offs!=-1) mp_msg(MSGT_DEMUX,MSGL_V,"warning! fragment.len=%d BUT next fragment offset=%d \n",dp->len,offs);
|
||||
dp->buffer=realloc(dp->buffer,dp->len+len+FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
dp->buffer=realloc(dp->buffer,dp->len+len+MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
fast_memcpy(dp->buffer+dp->len,data,len);
|
||||
memset(dp->buffer+dp->len+len, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dp->buffer+dp->len+len, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
mp_dbg(MSGT_DEMUX,MSGL_DBG4,"data appended! %d+%d\n",dp->len,len);
|
||||
dp->len+=len;
|
||||
}
|
||||
@@ -488,6 +485,7 @@ static int demux_asf_fill_buffer(demuxer_t *demux, demux_stream_t *ds){
|
||||
}
|
||||
if(len<0 || (p+len)>p_end){
|
||||
mp_msg(MSGT_DEMUX,MSGL_V,"ASF_parser: warning! segment len=%d\n",len);
|
||||
len = p_end - p;
|
||||
}
|
||||
mp_dbg(MSGT_DEMUX,MSGL_DBG4," seg #%d: streamno=%d seq=%d type=%02X len=%d\n",seg,streamno,seq,rlen,len);
|
||||
|
||||
|
||||
@@ -1751,7 +1751,7 @@ static int lschunks_intrak(demuxer_t* demuxer, int level, unsigned int id,
|
||||
"MOV: %*sSample duration table! (%d blocks)\n", level, "",
|
||||
len);
|
||||
trak->durmap = calloc(len, sizeof(mov_durmap_t));
|
||||
trak->durmap_size = trak->durmap ? 0 : len;
|
||||
trak->durmap_size = trak->durmap ? len : 0;
|
||||
for (i = 0; i < trak->durmap_size; i++) {
|
||||
trak->durmap[i].num = stream_read_dword(demuxer->stream);
|
||||
trak->durmap[i].dur = stream_read_dword(demuxer->stream);
|
||||
@@ -1887,7 +1887,7 @@ static int lschunks_intrak(demuxer_t* demuxer, int level, unsigned int id,
|
||||
"MOV: %*sEdit list table (%d entries) (ver:%d,flags:%d)\n", level, "",
|
||||
entries, ver, flags);
|
||||
#if 1
|
||||
trak->editlist = calloc(trak->editlist_size, sizeof(mov_editlist_t));
|
||||
trak->editlist = calloc(entries, sizeof(mov_editlist_t));
|
||||
trak->editlist_size = trak->editlist ? entries : 0;
|
||||
for (i = 0; i < trak->editlist_size; i++) {
|
||||
int dur = stream_read_dword(demuxer->stream);
|
||||
|
||||
@@ -33,12 +33,6 @@ Video codecs: (supported by RealPlayer8 for Linux)
|
||||
#include "demuxer.h"
|
||||
#include "stheader.h"
|
||||
|
||||
#ifdef USE_LIBAVCODEC
|
||||
#include "libavcodec/avcodec.h"
|
||||
#else
|
||||
#define FF_INPUT_BUFFER_PADDING_SIZE 8
|
||||
#endif
|
||||
|
||||
//#define mp_dbg(mod,lev, args... ) mp_msg_c((mod<<8)|lev, ## args )
|
||||
|
||||
#define MKTAG(a, b, c, d) (a | (b << 8) | (c << 16) | (d << 24))
|
||||
@@ -940,8 +934,8 @@ got_video:
|
||||
// increase buffer size, this should not happen!
|
||||
mp_msg(MSGT_DEMUX,MSGL_WARN, "chunktab buffer too small!!!!!\n");
|
||||
dp->len=dp_hdr->chunktab+8*(4+dp_hdr->chunks);
|
||||
dp->buffer=realloc(dp->buffer,dp->len+FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dp->buffer + dp->len, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
dp->buffer=realloc(dp->buffer,dp->len+MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dp->buffer + dp->len, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
// re-calc pointers:
|
||||
dp_hdr=(dp_hdr_t*)dp->buffer;
|
||||
dp_data=dp->buffer+sizeof(dp_hdr_t);
|
||||
|
||||
@@ -14,12 +14,6 @@
|
||||
#include "demuxer.h"
|
||||
#include "stheader.h"
|
||||
|
||||
#ifdef USE_LIBAVCODEC
|
||||
#include "libavcodec/avcodec.h"
|
||||
#else
|
||||
#define FF_INPUT_BUFFER_PADDING_SIZE 8
|
||||
#endif
|
||||
|
||||
/* parameters ! */
|
||||
int vivo_param_version = -1;
|
||||
char *vivo_param_acodec = NULL;
|
||||
@@ -384,10 +378,10 @@ static int demux_vivo_fill_buffer(demuxer_t *demux, demux_stream_t *dsds){
|
||||
} else {
|
||||
// append data to it!
|
||||
demux_packet_t* dp=ds->asf_packet;
|
||||
if(dp->len + len + FF_INPUT_BUFFER_PADDING_SIZE < 0)
|
||||
if(dp->len + len + MP_INPUT_BUFFER_PADDING_SIZE < 0)
|
||||
return 0;
|
||||
dp->buffer=realloc(dp->buffer,dp->len+len+FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dp->buffer+dp->len+len, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
dp->buffer=realloc(dp->buffer,dp->len+len+MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
memset(dp->buffer+dp->len+len, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
//memcpy(dp->buffer+dp->len,data,len);
|
||||
stream_read(demux->stream,dp->buffer+dp->len,len);
|
||||
mp_dbg(MSGT_DEMUX,MSGL_DBG4,"data appended! %d+%d\n",dp->len,len);
|
||||
|
||||
@@ -28,6 +28,13 @@
|
||||
#include "libass/ass_mp.h"
|
||||
#endif
|
||||
|
||||
#ifdef USE_LIBAVCODEC
|
||||
#include "libavcodec/avcodec.h"
|
||||
#if MP_INPUT_BUFFER_PADDING_SIZE < FF_INPUT_BUFFER_PADDING_SIZE
|
||||
#error MP_INPUT_BUFFER_PADDING_SIZE is too small!
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern void resync_video_stream(sh_video_t *sh_video);
|
||||
extern void resync_audio_stream(sh_audio_t *sh_audio);
|
||||
|
||||
|
||||
@@ -92,6 +92,8 @@ struct MPOpts;
|
||||
#define SEEK_ABSOLUTE (1 << 0)
|
||||
#define SEEK_FACTOR (1 << 1)
|
||||
|
||||
#define MP_INPUT_BUFFER_PADDING_SIZE 8
|
||||
|
||||
// Holds one packet/frame/whatever
|
||||
typedef struct demux_packet {
|
||||
int len;
|
||||
@@ -240,7 +242,7 @@ static inline demux_packet_t* new_demux_packet(int len){
|
||||
dp->refcount=1;
|
||||
dp->master=NULL;
|
||||
dp->buffer=NULL;
|
||||
if (len > 0 && (dp->buffer = (unsigned char *)malloc(len + 8)))
|
||||
if (len > 0 && (dp->buffer = (unsigned char *)malloc(len + MP_INPUT_BUFFER_PADDING_SIZE)))
|
||||
memset(dp->buffer + len, 0, 8);
|
||||
else
|
||||
dp->len = 0;
|
||||
|
||||
+8
-14
@@ -22,12 +22,6 @@
|
||||
/* sub_cc (closed captions)*/
|
||||
#include "sub_cc.h"
|
||||
|
||||
#ifdef USE_LIBAVCODEC
|
||||
#include "libavcodec/avcodec.h"
|
||||
#else
|
||||
#define FF_INPUT_BUFFER_PADDING_SIZE 8
|
||||
#endif
|
||||
|
||||
/* biCompression constant */
|
||||
#define BI_RGB 0L
|
||||
|
||||
@@ -117,8 +111,8 @@ switch(video_codec){
|
||||
}
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_V,"OK!\n");
|
||||
if(!videobuffer) {
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
else {
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_ShMemAllocFail);
|
||||
return 0;
|
||||
@@ -210,8 +204,8 @@ switch(video_codec){
|
||||
}
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_V,"OK!\n");
|
||||
if(!videobuffer) {
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
else {
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_ShMemAllocFail);
|
||||
return 0;
|
||||
@@ -273,8 +267,8 @@ mpeg_header_parser:
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_V,"OK!\n");
|
||||
// ========= Read & process sequence header & extension ============
|
||||
if(!videobuffer) {
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
else {
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_ShMemAllocFail);
|
||||
return 0;
|
||||
@@ -341,8 +335,8 @@ mpeg_header_parser:
|
||||
}
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_INFO,"found\n");
|
||||
if(!videobuffer) {
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
videobuffer=(char*)memalign(8,VIDEOBUFFER_SIZE + MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (videobuffer) memset(videobuffer+VIDEOBUFFER_SIZE, 0, MP_INPUT_BUFFER_PADDING_SIZE);
|
||||
else {
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_ShMemAllocFail);
|
||||
return 0;
|
||||
|
||||
+46
-49
@@ -932,6 +932,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
int minFilterSize;
|
||||
double *filter=NULL;
|
||||
double *filter2=NULL;
|
||||
int ret= -1;
|
||||
#if defined(ARCH_X86)
|
||||
if (flags & SWS_CPU_CAPS_MMX)
|
||||
asm volatile("emms\n\t"::: "memory"); //FIXME this should not be required but it IS (even for non-MMX versions)
|
||||
@@ -1144,7 +1145,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
|
||||
if (outVec != &scaleFilter) sws_freeVec(outVec);
|
||||
}
|
||||
av_free(filter); filter=NULL;
|
||||
av_freep(&filter);
|
||||
|
||||
/* try to reduce the filter-size (step1 find size and shift left) */
|
||||
// Assume it is near normalized (*0.5 or *2.0 is OK but * 0.001 is not).
|
||||
@@ -1211,8 +1212,8 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
filterSize= (minFilterSize +(filterAlign-1)) & (~(filterAlign-1));
|
||||
assert(filterSize > 0);
|
||||
filter= av_malloc(filterSize*dstW*sizeof(double));
|
||||
if (filterSize >= MAX_FILTER_SIZE)
|
||||
return -1;
|
||||
if (filterSize >= MAX_FILTER_SIZE || !filter)
|
||||
goto error;
|
||||
*outFilterSize= filterSize;
|
||||
|
||||
if (flags&SWS_PRINT_INFO)
|
||||
@@ -1228,7 +1229,6 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
else filter[i*filterSize + j]= filter2[i*filter2Size + j];
|
||||
}
|
||||
}
|
||||
av_free(filter2); filter2=NULL;
|
||||
|
||||
|
||||
//FIXME try to align filterpos if possible
|
||||
@@ -1296,8 +1296,11 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
(*outFilter)[j + i]= (*outFilter)[j + i - (*outFilterSize)];
|
||||
}
|
||||
|
||||
ret=0;
|
||||
error:
|
||||
av_free(filter);
|
||||
return 0;
|
||||
av_free(filter2);
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef COMPILE_MMX2
|
||||
@@ -2014,6 +2017,24 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
|
||||
return NULL;
|
||||
}
|
||||
|
||||
i= flags & ( SWS_POINT
|
||||
|SWS_AREA
|
||||
|SWS_BILINEAR
|
||||
|SWS_FAST_BILINEAR
|
||||
|SWS_BICUBIC
|
||||
|SWS_X
|
||||
|SWS_GAUSS
|
||||
|SWS_LANCZOS
|
||||
|SWS_SINC
|
||||
|SWS_SPLINE
|
||||
|SWS_BICUBLIN);
|
||||
if(!i || (i & (i-1)))
|
||||
{
|
||||
av_log(NULL, AV_LOG_ERROR, "swScaler: Exactly one scaler algorithm must be choosen\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* sanity check */
|
||||
if (srcW<4 || srcH<1 || dstW<8 || dstH<1) //FIXME check if these are enough and try to lowwer them after fixing the relevant parts of the code
|
||||
{
|
||||
@@ -2803,8 +2824,7 @@ void sws_printVec(SwsVector *a){
|
||||
|
||||
void sws_freeVec(SwsVector *a){
|
||||
if (!a) return;
|
||||
av_free(a->coeff);
|
||||
a->coeff=NULL;
|
||||
av_freep(&a->coeff);
|
||||
a->length=0;
|
||||
av_free(a);
|
||||
}
|
||||
@@ -2827,48 +2847,30 @@ void sws_freeContext(SwsContext *c){
|
||||
if (c->lumPixBuf)
|
||||
{
|
||||
for (i=0; i<c->vLumBufSize; i++)
|
||||
{
|
||||
av_free(c->lumPixBuf[i]);
|
||||
c->lumPixBuf[i]=NULL;
|
||||
}
|
||||
av_free(c->lumPixBuf);
|
||||
c->lumPixBuf=NULL;
|
||||
av_freep(&c->lumPixBuf[i]);
|
||||
av_freep(&c->lumPixBuf);
|
||||
}
|
||||
|
||||
if (c->chrPixBuf)
|
||||
{
|
||||
for (i=0; i<c->vChrBufSize; i++)
|
||||
{
|
||||
av_free(c->chrPixBuf[i]);
|
||||
c->chrPixBuf[i]=NULL;
|
||||
}
|
||||
av_free(c->chrPixBuf);
|
||||
c->chrPixBuf=NULL;
|
||||
av_freep(&c->chrPixBuf[i]);
|
||||
av_freep(&c->chrPixBuf);
|
||||
}
|
||||
|
||||
av_free(c->vLumFilter);
|
||||
c->vLumFilter = NULL;
|
||||
av_free(c->vChrFilter);
|
||||
c->vChrFilter = NULL;
|
||||
av_free(c->hLumFilter);
|
||||
c->hLumFilter = NULL;
|
||||
av_free(c->hChrFilter);
|
||||
c->hChrFilter = NULL;
|
||||
av_freep(&c->vLumFilter);
|
||||
av_freep(&c->vChrFilter);
|
||||
av_freep(&c->hLumFilter);
|
||||
av_freep(&c->hChrFilter);
|
||||
#ifdef HAVE_ALTIVEC
|
||||
av_free(c->vYCoeffsBank);
|
||||
c->vYCoeffsBank = NULL;
|
||||
av_free(c->vCCoeffsBank);
|
||||
c->vCCoeffsBank = NULL;
|
||||
av_freep(&c->vYCoeffsBank);
|
||||
av_freep(&c->vCCoeffsBank);
|
||||
#endif
|
||||
|
||||
av_free(c->vLumFilterPos);
|
||||
c->vLumFilterPos = NULL;
|
||||
av_free(c->vChrFilterPos);
|
||||
c->vChrFilterPos = NULL;
|
||||
av_free(c->hLumFilterPos);
|
||||
c->hLumFilterPos = NULL;
|
||||
av_free(c->hChrFilterPos);
|
||||
c->hChrFilterPos = NULL;
|
||||
av_freep(&c->vLumFilterPos);
|
||||
av_freep(&c->vChrFilterPos);
|
||||
av_freep(&c->hLumFilterPos);
|
||||
av_freep(&c->hChrFilterPos);
|
||||
|
||||
#if defined(ARCH_X86) && defined(CONFIG_GPL)
|
||||
#ifdef MAP_ANONYMOUS
|
||||
@@ -2882,16 +2884,11 @@ void sws_freeContext(SwsContext *c){
|
||||
c->funnyUVCode=NULL;
|
||||
#endif /* defined(ARCH_X86) */
|
||||
|
||||
av_free(c->lumMmx2Filter);
|
||||
c->lumMmx2Filter=NULL;
|
||||
av_free(c->chrMmx2Filter);
|
||||
c->chrMmx2Filter=NULL;
|
||||
av_free(c->lumMmx2FilterPos);
|
||||
c->lumMmx2FilterPos=NULL;
|
||||
av_free(c->chrMmx2FilterPos);
|
||||
c->chrMmx2FilterPos=NULL;
|
||||
av_free(c->yuvTable);
|
||||
c->yuvTable=NULL;
|
||||
av_freep(&c->lumMmx2Filter);
|
||||
av_freep(&c->chrMmx2Filter);
|
||||
av_freep(&c->lumMmx2FilterPos);
|
||||
av_freep(&c->chrMmx2FilterPos);
|
||||
av_freep(&c->yuvTable);
|
||||
|
||||
av_free(c);
|
||||
}
|
||||
|
||||
@@ -181,6 +181,24 @@
|
||||
"add $8, %%"REG_a" \n\t"\
|
||||
"jnc 1b \n\t"
|
||||
|
||||
#define YSCALEYUV2YV121_ACCURATE \
|
||||
"mov %2, %%"REG_a" \n\t"\
|
||||
"pcmpeqw %%mm7, %%mm7 \n\t"\
|
||||
"psrlw $15, %%mm7 \n\t"\
|
||||
"psllw $6, %%mm7 \n\t"\
|
||||
ASMALIGN(4) /* FIXME Unroll? */\
|
||||
"1: \n\t"\
|
||||
"movq (%0, %%"REG_a", 2), %%mm0 \n\t"\
|
||||
"movq 8(%0, %%"REG_a", 2), %%mm1 \n\t"\
|
||||
"paddw %%mm7, %%mm0 \n\t"\
|
||||
"paddw %%mm7, %%mm1 \n\t"\
|
||||
"psraw $7, %%mm0 \n\t"\
|
||||
"psraw $7, %%mm1 \n\t"\
|
||||
"packuswb %%mm1, %%mm0 \n\t"\
|
||||
MOVNTQ(%%mm0, (%1, %%REGa))\
|
||||
"add $8, %%"REG_a" \n\t"\
|
||||
"jnc 1b \n\t"
|
||||
|
||||
/*
|
||||
:: "m" (-lumFilterSize), "m" (-chrFilterSize),
|
||||
"m" (lumMmxFilter+lumFilterSize*4), "m" (chrMmxFilter+chrFilterSize*4),
|
||||
@@ -969,38 +987,40 @@ yuv2nv12XinC(lumFilter, lumSrc, lumFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
}
|
||||
|
||||
static inline void RENAME(yuv2yuv1)(int16_t *lumSrc, int16_t *chrSrc,
|
||||
static inline void RENAME(yuv2yuv1)(SwsContext *c, int16_t *lumSrc, int16_t *chrSrc,
|
||||
uint8_t *dest, uint8_t *uDest, uint8_t *vDest, long dstW, long chrDstW)
|
||||
{
|
||||
#ifdef HAVE_MMX
|
||||
if (uDest)
|
||||
{
|
||||
asm volatile(
|
||||
YSCALEYUV2YV121
|
||||
:: "r" (chrSrc + chrDstW), "r" (uDest + chrDstW),
|
||||
"g" (-chrDstW)
|
||||
: "%"REG_a
|
||||
);
|
||||
long p= uDest ? 3 : 1;
|
||||
uint8_t *src[3]= {lumSrc + dstW, chrSrc + chrDstW, chrSrc + VOFW + chrDstW};
|
||||
uint8_t *dst[3]= {dest, uDest, vDest};
|
||||
long counter[3] = {dstW, chrDstW, chrDstW};
|
||||
|
||||
asm volatile(
|
||||
YSCALEYUV2YV121
|
||||
:: "r" (chrSrc + VOFW + chrDstW), "r" (vDest + chrDstW),
|
||||
"g" (-chrDstW)
|
||||
: "%"REG_a
|
||||
);
|
||||
if (c->flags & SWS_ACCURATE_RND){
|
||||
while(p--){
|
||||
asm volatile(
|
||||
YSCALEYUV2YV121_ACCURATE
|
||||
:: "r" (src[p]), "r" (dst[p] + counter[p]),
|
||||
"g" (-counter[p])
|
||||
: "%"REG_a
|
||||
);
|
||||
}
|
||||
}else{
|
||||
while(p--){
|
||||
asm volatile(
|
||||
YSCALEYUV2YV121
|
||||
:: "r" (src[p]), "r" (dst[p] + counter[p]),
|
||||
"g" (-counter[p])
|
||||
: "%"REG_a
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
asm volatile(
|
||||
YSCALEYUV2YV121
|
||||
:: "r" (lumSrc + dstW), "r" (dest + dstW),
|
||||
"g" (-dstW)
|
||||
: "%"REG_a
|
||||
);
|
||||
#else
|
||||
int i;
|
||||
for (i=0; i<dstW; i++)
|
||||
{
|
||||
int val= lumSrc[i]>>7;
|
||||
int val= (lumSrc[i]+64)>>7;
|
||||
|
||||
if (val&256){
|
||||
if (val<0) val=0;
|
||||
@@ -1013,8 +1033,8 @@ static inline void RENAME(yuv2yuv1)(int16_t *lumSrc, int16_t *chrSrc,
|
||||
if (uDest)
|
||||
for (i=0; i<chrDstW; i++)
|
||||
{
|
||||
int u=chrSrc[i]>>7;
|
||||
int v=chrSrc[i + VOFW]>>7;
|
||||
int u=(chrSrc[i ]+64)>>7;
|
||||
int v=(chrSrc[i + VOFW]+64)>>7;
|
||||
|
||||
if ((u|v)&256){
|
||||
if (u<0) u=0;
|
||||
@@ -3187,7 +3207,7 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
{
|
||||
int16_t *lumBuf = lumPixBuf[0];
|
||||
int16_t *chrBuf= chrPixBuf[0];
|
||||
RENAME(yuv2yuv1)(lumBuf, chrBuf, dest, uDest, vDest, dstW, chrDstW);
|
||||
RENAME(yuv2yuv1)(c, lumBuf, chrBuf, dest, uDest, vDest, dstW, chrDstW);
|
||||
}
|
||||
else //General YV12
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/time.h>
|
||||
#include <alloca.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/time.h>
|
||||
#include <alloca.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
|
||||
@@ -390,7 +390,7 @@ cddb_write_cache(cddb_data_t *cddb_data) {
|
||||
|
||||
sprintf( file_name, "%s%08lx", cddb_data->cache_dir, cddb_data->disc_id );
|
||||
|
||||
file_fd = creat(file_name, S_IREAD|S_IWRITE);
|
||||
file_fd = creat(file_name, S_IRUSR|S_IWUSR);
|
||||
if( file_fd<0 ) {
|
||||
perror("create");
|
||||
return -1;
|
||||
|
||||
+4
-4
@@ -9,11 +9,11 @@
|
||||
#include "stream.h"
|
||||
#include "libavutil/intreadwrite.h"
|
||||
//=================== VideoCD ==========================
|
||||
#if defined(linux) || defined(sun) || defined(__bsdi__)
|
||||
#if defined(__linux__) || defined(sun) || defined(__bsdi__)
|
||||
|
||||
typedef struct mp_vcd_priv_st mp_vcd_priv_t;
|
||||
|
||||
#if defined(linux)
|
||||
#if defined(__linux__)
|
||||
#include <linux/cdrom.h>
|
||||
#elif defined(sun)
|
||||
#include <sys/cdio.h>
|
||||
@@ -128,7 +128,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
|
||||
}
|
||||
|
||||
static int vcd_read(mp_vcd_priv_t* vcd,char *mem){
|
||||
#if defined(linux) || defined(__bsdi__)
|
||||
#if defined(__linux__) || defined(__bsdi__)
|
||||
memcpy(vcd->buf,&vcd->entry.cdte_addr.msf,sizeof(struct cdrom_msf));
|
||||
if(ioctl(vcd->fd,CDROMREADRAW,vcd->buf)==-1) return 0; // EOF?
|
||||
memcpy(mem,&vcd->buf[VCD_SECTOR_OFFS],VCD_SECTOR_DATA);
|
||||
@@ -225,7 +225,7 @@ static int sun_vcd_read(mp_vcd_priv_t* vcd, int *offset)
|
||||
}
|
||||
#endif /*sun*/
|
||||
|
||||
#else /* linux || sun || __bsdi__ */
|
||||
#else /* __linux__ || sun || __bsdi__ */
|
||||
|
||||
#error vcd is not yet supported on this arch...
|
||||
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@
|
||||
|
||||
int mtrr_set_type(unsigned base,unsigned size,int type)
|
||||
{
|
||||
#ifdef linux
|
||||
#ifdef __linux__
|
||||
FILE * mtrr_fd;
|
||||
char * stype;
|
||||
switch(type)
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@
|
||||
#endif
|
||||
#include "AsmMacros.h"
|
||||
/* OS depended stuff */
|
||||
#if defined (linux)
|
||||
#if defined (__linux__)
|
||||
#include "sysdep/pci_linux.c"
|
||||
#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
#include "sysdep/pci_freebsd.c"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
#ifndef MPLAYER_ASMMACROS_ALPHA_H
|
||||
#define MPLAYER_ASMMACROS_ALPHA_H
|
||||
|
||||
#if defined (linux)
|
||||
#if defined (__linux__)
|
||||
#include <sys/io.h>
|
||||
#elif defined (__FreeBSD__)
|
||||
#include <sys/types.h>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
#ifndef MPLAYER_ASMMACROS_IA64_H
|
||||
#define MPLAYER_ASMMACROS_IA64_H
|
||||
|
||||
#if defined(linux)
|
||||
#if defined(__linux__)
|
||||
#include <sys/io.h>
|
||||
#else
|
||||
#error This stuff is not ported on your system
|
||||
|
||||
Reference in new issue
Block a user