mirror of
https://github.com/mpv-player/mpv
synced 2024-10-02 16:25:33 +02:00
Merge svn changes up to r27242
Conflicts: Makefile configure
This commit is contained in:
commit
ca3feba5c3
@ -153,12 +153,12 @@ License: GNU General Public License
|
||||
|
||||
Name: NuppelVideo / RTJPEG
|
||||
Version: 0.52a + patches
|
||||
Homepage: http://web.archive.org/web/20050305195413/http://frost.htu.tuwien.ac.at/~roman/nuppelvideo/
|
||||
Homepage: http://web.archive.org/web/20060219034716/http://frost.htu.tuwien.ac.at/~roman/nuppelvideo/
|
||||
Directory: libmpcodecs/native/rtjpegn.[ch] libmpdemux/nuppelvideo.h
|
||||
Copyright: 1998 Justin Schoeman (justin@suntiger.ee.up.ac.za)
|
||||
1998, 1999 Joerg Walter <trouble@moes.pmnet.uni-oldenburg.de>
|
||||
1999 Wim Taymans <wim.taymans@tvd.be>
|
||||
License: GNU General Public License version 2
|
||||
License: GNU General Public License
|
||||
|
||||
Name: ReactOS
|
||||
Version: r25937
|
||||
|
@ -848,7 +848,7 @@ a ID.
|
||||
V\ některých případech dostanete více informací použitím \-msglevel identify=6.
|
||||
Například pro DVD vypíše délku (čas) každého titulu, stejně jako
|
||||
ID disku.
|
||||
Skript TOOLS/\:midentify potlačí ostatní výstup MPlayeru a (s\ trochou štěstí)
|
||||
Skript TOOLS/\:midentify.sh potlačí ostatní výstup MPlayeru a (s\ trochou štěstí)
|
||||
upraví jména souborů pro shell.
|
||||
.
|
||||
.TP
|
||||
|
@ -976,7 +976,7 @@ identify=6.
|
||||
Zum Beispiel listet es für eine DVD die Kapitel die zeitliche Länge jedes
|
||||
Titels sowie die Disc-ID.
|
||||
Kombiniere dies mit \-frames 0, um alle Ausgaben zu unterdrücken.
|
||||
Das Wrapper-Script TOOLS/\:midentify unterdrückt die anderen Ausgaben von
|
||||
Das Wrapper-Script TOOLS/\:midentify.sh unterdrückt die anderen Ausgaben von
|
||||
MPlayer
|
||||
und führt (hoffentlich) Shell-Escaping für die Dateinamen aus.
|
||||
.
|
||||
|
@ -61,7 +61,7 @@ mencoder \- movie encoder
|
||||
.
|
||||
.br
|
||||
.B mplayer
|
||||
[dvd|dvdnav]://[title|[start_title]\-end_title]
|
||||
[dvd|dvdnav]://[title|[start_title]\-end_title][/device]
|
||||
[options]
|
||||
.
|
||||
.br
|
||||
@ -927,7 +927,7 @@ In some cases you can get more information by using \-msglevel identify=6.
|
||||
For example, for a DVD it will list the chapters and time length of each title,
|
||||
as well as a disk ID.
|
||||
Combine this with \-frames 0 to suppress all output.
|
||||
The wrapper script TOOLS/\:midentify suppresses the other MPlayer output and
|
||||
The wrapper script TOOLS/\:midentify.sh suppresses the other MPlayer output and
|
||||
(hopefully) shellescapes the filenames.
|
||||
.
|
||||
.TP
|
||||
@ -1038,6 +1038,10 @@ output driver (currently only derivatives of X11 are supported).
|
||||
Necessary to select the buttons in DVD menus.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Turns off AppleIR remote support.
|
||||
.
|
||||
.TP
|
||||
.B \-noconsolecontrols
|
||||
Prevent MPlayer from reading key events from standard input.
|
||||
Useful when reading data from standard input.
|
||||
@ -1056,10 +1060,6 @@ Turns off joystick support.
|
||||
Turns off LIRC support.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Turns off AppleIR remote support.
|
||||
.
|
||||
.TP
|
||||
.B \-nomouseinput
|
||||
Disable mouse button press/\:release input (mozplayerxp's context menu relies
|
||||
on this option).
|
||||
@ -10528,6 +10528,10 @@ currently it is meaningful only for MPEG[12].
|
||||
Sometimes raising it is necessary in order to avoid "buffer underflows".
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: undocumented
|
||||
.
|
||||
.TP
|
||||
.B packetsize=<size>
|
||||
Size, expressed in bytes, of the unitary packet for the chosen format.
|
||||
When muxing to MPEG[12] implementations the default values are:
|
||||
@ -10540,10 +10544,6 @@ in seconds, between the reference timer of the output stream (SCR)
|
||||
and the decoding timestamp (DTS) for any stream present
|
||||
(demux to decode delay).
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: undocumented
|
||||
.
|
||||
.
|
||||
.
|
||||
.\" --------------------------------------------------------------------------
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" synced with r27182
|
||||
.\" synced with r27236
|
||||
.\" Encoding: iso-8859-1
|
||||
.\" MPlayer (C) 2000-2008 MPlayer Team
|
||||
.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
|
||||
@ -63,7 +63,7 @@ mencoder \- Encodeur vid
|
||||
.
|
||||
.br
|
||||
.B mplayer
|
||||
[dvd|dvdnav]://[titre|[titre_de_début]\-titre_de_fin ]
|
||||
[dvd|dvdnav]://[titre|[titre_de_début]\-titre_de_fin ][/périphérique]
|
||||
[options]
|
||||
.
|
||||
.br
|
||||
@ -970,7 +970,7 @@ Dans certains cas, vous aurez encore plus d'informations en utilisant
|
||||
Par exemple, pour les DVDs, cela listera la durée de chaque titre et de
|
||||
chaque chapitre, tout comme le numéro d'identifiant du DVD.
|
||||
Ajoutez l'option \-frames 0 pour supprimer toute sortie console superflue.
|
||||
Le script TOOLS/\:midentify supprime le reste de l'affichage et (espérons-le)
|
||||
Le script TOOLS/\:midentify.sh supprime le reste de l'affichage et (espérons-le)
|
||||
formate les noms de fichiers pour le shell.
|
||||
.
|
||||
.TP
|
||||
@ -1094,6 +1094,10 @@ pour le moment).
|
||||
Utilisé pour sélectioner les boutons des menus DVDs.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Désactive la gestion de la télécommande AppleIR.
|
||||
.
|
||||
.TP
|
||||
.B \-noconsolecontrols
|
||||
Empêche MPlayer de réagir aux commandes clavier depuis l'entrée
|
||||
standard.
|
||||
@ -1116,10 +1120,6 @@ Activ
|
||||
Désactive la gestion de LIRC.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Désactive la gestion de la télécommande AppleIR.
|
||||
.
|
||||
.TP
|
||||
.B \-nomouseinput
|
||||
Désactive l'interprétation des boutons de la souris (le menu contextuel
|
||||
de mozplayerxp dépend de cette option).
|
||||
@ -11116,6 +11116,10 @@ Il arrive qu'il faille augmenter ce param
|
||||
de tampons "buffer underflows".
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: non documenté
|
||||
.
|
||||
.TP
|
||||
.B packetsize=<taille>
|
||||
Taille, exprimée en octets, du paquet unitaire du format donné.
|
||||
Lorsque le format de sortie est l'une des implémentations de MPEG[12],
|
||||
@ -11129,10 +11133,6 @@ permise, en secondes, entre la r
|
||||
(SCR) et le timestamp de décodage (DTS) pour tout flux présent (délais
|
||||
entre le démultiplexage et le décodage).
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: non documenté
|
||||
.
|
||||
.
|
||||
.
|
||||
.\" --------------------------------------------------------------------------
|
||||
|
@ -927,7 +927,7 @@ N
|
||||
Például egy DVD esetén kiírja a fejezeteket és az egyes címek időbeli hosszát,
|
||||
valamint a lemez ID-t is.
|
||||
Ha a \-frames 0 kapcsolóval használod, elnyom minden kimenetet.
|
||||
A TOOLS/\:midentify wrapper script eltünteti a maradék kimenetet, és
|
||||
A TOOLS/\:midentify.sh wrapper script eltünteti a maradék kimenetet, és
|
||||
(remélhetőleg) shell escape-eli a fájlneveket.
|
||||
.
|
||||
.TP
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" synced with r26674
|
||||
.\" synced with r27236
|
||||
.\" Encoding: iso-8859-1
|
||||
.\" MPlayer (C) 2000-2008 MPlayer Team
|
||||
.\" Questa pagina di manuale è stata fatta da Gabucino, Diego Biurrun,
|
||||
@ -66,7 +66,7 @@ mencoder \- codificatore di film
|
||||
.
|
||||
.br
|
||||
.B mplayer
|
||||
[dvd|dvdnav]://[titolo|[titolo_iniziale]\-titolo_finale]
|
||||
[dvd|dvdnav]://[titolo|[titolo_iniziale]\-titolo_finale][/dispositivo]
|
||||
[opzioni]
|
||||
.
|
||||
.br
|
||||
@ -249,6 +249,8 @@ solo un fotogramma per poi tornare in modalit
|
||||
continua).
|
||||
.IPs "q / ESC"
|
||||
Smette di riprodurre ed esce.
|
||||
.IPs "U\ \ \ \ "
|
||||
Ferma la riproduzione (ed esce se non è specificata \-idle).
|
||||
.IPs "+ e \-"
|
||||
Regola il ritardo audio di +/\- 0.1 secondi.
|
||||
.IPs "/ e *"
|
||||
@ -852,7 +854,7 @@ Supportato solo dai driver di uscita cvidix, fbdev, svga, vesa, winvidix,
|
||||
xmga, xvidix, xover, xv (vedi \-vo xv:ck), xvmc (vedi \-vo xv:ck) e directx.
|
||||
.
|
||||
.TP
|
||||
.B \-correct\-pts (sperimentale)
|
||||
.B \-correct\-pts (SPERIMENTALE)
|
||||
Esegue MPlayer in una modalità sperimentale dove i timestamp per i fotogrammi
|
||||
video vengono calcolati diversamente e sono supportati i filtri video che
|
||||
aggiungono nuovi fotogrammi o modificano i timestamp di quelli presenti.
|
||||
@ -903,7 +905,7 @@ Attualmente i seguenti driver funzionano con fixed-vo: gl, gl2, mga, svga, x11,
|
||||
xmga, xv, xvidix e dfbmga.
|
||||
.
|
||||
.TP
|
||||
.B \-framedrop (vedi anche \-hardframedrop, sperimentale se non con \-no\-correct\-pts)
|
||||
.B \-framedrop (vedi anche \-hardframedrop, sperimentale se non con \-nocorrect\-pts)
|
||||
Elimina la visualizzazione di alcuni fotogrammi per mantenere il sincronismo
|
||||
A/V con sistemi lenti.
|
||||
I filtri video non vengono applicati a questi fotogrammi.
|
||||
@ -921,7 +923,7 @@ Non funziona come opzione nel file di configurazione.
|
||||
Visualizza un breve elenco delle opzioni.
|
||||
.
|
||||
.TP
|
||||
.B \-hardframedrop (sperimentale se non con \-no\-correct\-pts)
|
||||
.B \-hardframedrop (sperimentale se non con \-nocorrect\-pts)
|
||||
Scarto ancora più intenso di fotogrammi (rovina la decodifica).
|
||||
Porta a distorsione delle immagini!
|
||||
Nota che nello specifico il decodificatore libmpeg2 può andare in crash,
|
||||
@ -938,14 +940,14 @@ assicurarti che non causi problemi di sicurezza (per es.\& assicurati di usare
|
||||
percorsi assoluti se "." e nella tua PATH come in Windows).
|
||||
.sp 1
|
||||
Questo può essere usato (male) per disabilitare salvaschermi che non usano le
|
||||
corrette API di X per ciò.
|
||||
corrette API di X.
|
||||
Se pensi sia troppo complicato, chiedi all'autore del salvaschermo di supportare
|
||||
le API di X adeguate per farlo.
|
||||
le API di X adeguate.
|
||||
.sp 1
|
||||
.I ESEMPIO per xscreensaver:
|
||||
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
|
||||
.sp 1
|
||||
.I ESEMPIO per il salvaschermo di gnome:
|
||||
.I ESEMPIO per il salvaschermo di GNOME:
|
||||
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
||||
.RE
|
||||
.PD 1
|
||||
@ -960,7 +962,7 @@ In alcuni casi puoi avere pi
|
||||
Per esempio, per un DVD verranno mostrati i capitoli e la lunghezza di ogni
|
||||
titolo, così come l'ID del disco.
|
||||
Usala con \-frames 0 per eliminare tutte le emissioni su console.
|
||||
Lo script di appoggio TOOLS/\:midentify toglie il resto delle stampe di MPlayer
|
||||
Lo script di appoggio TOOLS/\:midentify.sh toglie il resto delle stampe di MPlayer
|
||||
e (si spera) corregge per la shell (shellescapes) i nomi dei file.
|
||||
.
|
||||
.TP
|
||||
@ -1074,6 +1076,10 @@ uscita video (attualmente sono supportati solo derivati di X11).
|
||||
Necessario per selezionare i bottoni nei menu dei DVD.
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
Disabilita la gestione del telecomando AppleIR.
|
||||
.
|
||||
.TP
|
||||
.B \-noconsolecontrols
|
||||
Impedisce ad MPlayer di leggere gli eventi dei tasti dallo standard input.
|
||||
Utile quando si leggono dati direttamente dallo standard input.
|
||||
@ -1623,10 +1629,11 @@ Passa automaticamente a IPv4 se necessario.
|
||||
.
|
||||
.TP
|
||||
.B \-psprobe <posizione in byte>
|
||||
Riproducendo un flusso MPEG-PS, questa opzione ti permette di specificare
|
||||
quanti byte del flusso vuoi che MPlayer legga per poter identificare il codec
|
||||
video usato.
|
||||
Questa opzione è necessaria per riprodurre file EVO contenenti flussi H.264.
|
||||
Riproducendo un flusso MPEG-PS o MPEG-PES, questa opzione ti permette di
|
||||
specificare quanti byte del flusso vuoi che MPlayer legga per poter
|
||||
identificare il codec video usato.
|
||||
Questa opzione è necessaria per riprodurre file EVO o VDR contenenti flussi
|
||||
H.264.
|
||||
.
|
||||
.TP
|
||||
.B \-pvr <opzione1:opzione2:...> (solo PVR)
|
||||
@ -1961,7 +1968,7 @@ Vedi l'output su console per una lista delle norme TV disponibili.
|
||||
Regola il sintonizzatore sul canale <valore>.
|
||||
.IPs chanlist=<valore>
|
||||
disponibili: europe-east, europe-west, us-bcast, us-cable, etc
|
||||
.IPs channels=<canale>\-<nomecanale>,<canale>\-<nomecanale>,...
|
||||
.IPs channels=<canale>\-<nome>[=<norma>],<canale>\-<nome>[=<norma>],...
|
||||
Imposta la lista dei canali.
|
||||
Usa _ per gli spazi nei nomi (o divertiti con il quoting ;-).
|
||||
I nomi dei canali verranno scritti usando l'OSD e i comandi slave tv_step_channel,
|
||||
@ -3748,10 +3755,10 @@ texture della vostra implementazione OpenGL.
|
||||
Studiato per funzionare anche con l'implementazione OpenGl più basilare,
|
||||
ma usa pure estensioni recenti e nuove, che permettono di usare più spazi
|
||||
colore e il rendering diretto.
|
||||
Per favore utilizza \-dr se funziona con la tua implementazione OpenGL, dato
|
||||
che per alte risoluzioni porta a un
|
||||
.B grande
|
||||
aumento di velocità.
|
||||
Per una velocità ottimale prova ad usare qualcosa simile a
|
||||
.br
|
||||
\-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
|
||||
.br
|
||||
Questa parte di codice implementa pochi controlli percio' se una
|
||||
caratteristica non funziona potrebbe non essere supportata dalla
|
||||
tua scheda o dalla tua implementazione OpenGL anche se non viene
|
||||
@ -3760,6 +3767,17 @@ Utilizza glxinfo oppure uno strumento simile per visualizzare le estensioni
|
||||
supportate dalla vostra implementazione OpenGL.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs (no)ati\-hack
|
||||
I driver ATI possono fornire un immagine corrotta quando si usano i PBO (usando
|
||||
\-dr o force\-pbo).
|
||||
Questa opzione corregge questo comportamento, utilizzando un po' più di memoria.
|
||||
.IPs (no)force\-pbo
|
||||
Usa sempre i PBO per trasferire le texture, anche se ciò implica un'ulteriore
|
||||
copia.
|
||||
Attualmente incrementa di poco la velocità con i driver NVidia e molto con i
|
||||
driver ATI.
|
||||
Per funzionare correttamente può aver bisogno delle sotto-opzioni \-noslices e
|
||||
di ati\-hack.
|
||||
.IPs (no)scaled-osd
|
||||
Cambia il modo in cui l'OSD si comporta quando cambia la dimensione della
|
||||
finestra (default: disabilitato).
|
||||
@ -4649,6 +4667,8 @@ a risoluzione completa.
|
||||
Se <l> viene specificato la decodifica a bassa risoluzione verrà usata solo
|
||||
se la larghezza del video è maggiore od uguale a <l>.
|
||||
.RE
|
||||
.IPs "o\ \ \ \ "
|
||||
FIXME: Da documentare.
|
||||
.IPs "sb=<numero> (solo MPEG-2)"
|
||||
Salta il numero indicato di righe di macroblocchi in basso.
|
||||
.IPs "st=<numero> (solo MPEG-2)"
|
||||
@ -5546,6 +5566,7 @@ Questo filtro non
|
||||
.B "gate\ \ \ "
|
||||
Filtro noise gate (limite rumore) simile al filtro audio comp.
|
||||
Questo filtro non è testato, forse anche inutilizzabile.
|
||||
.
|
||||
.TP
|
||||
.B karaoke
|
||||
Semplice filtro di rimozione della voce che sfrutta il fatto che la voce sia
|
||||
@ -5555,6 +5576,83 @@ Attenti che questo filtro convertir
|
||||
Funziona bene con tracce a due canali, non perder tempo ad usarlo
|
||||
su qualcosa che non sia stereo a due canali.
|
||||
.
|
||||
.TP
|
||||
.B scaletempo[=opzione1:opzione2:...]
|
||||
Riproporziona il tempo dell'audio senza modificare il picco, opzionalmente
|
||||
in sincronia con la velocità di riproduzione (default).
|
||||
.br
|
||||
Questo funziona riproducendo \'stride\' ms di audio alla velocità normale, e
|
||||
poi consumando \'stride*proporzione\' ms dell'audio in ingresso.
|
||||
Lega tra loro gli stride miscelando \'overlap\'% di uno stride
|
||||
con l'audio che segue lo stride precedente.
|
||||
Facoltativamente esegue una breve analisi statistica sui \'search\' ms di
|
||||
audio successivi, per determinare il miglior punto per la sovrapposizione.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs scale=<valore>
|
||||
Valore nominale di riproporzione tempo.
|
||||
Riproporziona questo valore sommato alla velocità.
|
||||
(default: 1.0)
|
||||
.IPs stride=<valore>
|
||||
Lunghezza in millisecondi di ogni stride da emettere.
|
||||
Un valore troppo alto causerà salti evidenti per valori di scale alti e un'eco
|
||||
per valori di scale bassi.
|
||||
Valori molto bassi modificherano il picco.
|
||||
Valori più alti aumentano la resa.
|
||||
(default: 60)
|
||||
.IPs overlap=<percentuale>
|
||||
Percentuale di stride da sovrapporre.
|
||||
Valori più bassi aumentano la resa.
|
||||
(default: .20)
|
||||
.IPs search=<valore>
|
||||
Lunghezza in millisecondi per cercare il miglior punto per la sovrapposizione.
|
||||
Valori più bassi aumentano decisamente la resa.
|
||||
Su sistemi lenti, la vorrai impostare probabilmente molto corta.
|
||||
(default: 14)
|
||||
.IPs speed=<tempo|pitch|both|none>
|
||||
Imposta la risposta al cambio di velocità.
|
||||
.RSss
|
||||
.IPs tempo
|
||||
Riproporziona il tempo in sincronia con la velocità (default).
|
||||
.IPs pitch
|
||||
Inverte l'effetto del filtro.
|
||||
Riproporziona il picco senza modificare il tempo.
|
||||
Aggiungi \'[ speed_mult 0.9438743126816935\' e
|
||||
\'] speed_mult 1.059463094352953\' al tuo file input.conf per spostarti di
|
||||
semitoni musicali.
|
||||
.I ATTENZIONE:
|
||||
Perde sincronia col video.
|
||||
.IPs both
|
||||
Riproporziona sia il tempo che il picco.
|
||||
.IPs none
|
||||
Ignora il cambio di velocità.
|
||||
.RE
|
||||
.RE
|
||||
.sp 1
|
||||
.RS
|
||||
.I ESEMPI:
|
||||
.RE
|
||||
.RSs
|
||||
.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
|
||||
Riproduce media a 1.2x la normale velocità, con audio al picco normale.
|
||||
Cambiando la velocità di riproduzione, modifica il tempo audio affinché
|
||||
corrisponda.
|
||||
.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
|
||||
Riproduce media a 1.2x la normale velocità, con audio al picco normale,
|
||||
ma la modifica della velocità di riproduzione non ha alcun effetto sul tempo
|
||||
audio.
|
||||
.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
|
||||
Modifica i parametri di qualità e di resa.
|
||||
.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
|
||||
Fa in modo che scaletempo usi codice a virgola mobile.
|
||||
Forse più veloce su alcune piattaforme.
|
||||
.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
|
||||
Riproduce media a 1.2x la normale velocità, con audio al picco normale.
|
||||
Cambiando la velocità di riproduzione, modifica il picco, lasciando il tempo
|
||||
audio a 1.2x.
|
||||
.RE
|
||||
.PD 1
|
||||
.
|
||||
.
|
||||
.
|
||||
.\" --------------------------------------------------------------------------
|
||||
@ -5650,8 +5748,12 @@ Con molti codec video conviene utilizzare 16 quando si effettua la codifica.
|
||||
.
|
||||
.TP
|
||||
.B rectangle[=w:h:x:y]
|
||||
Il plugin risponde alla direttiva 'change_rectangle' di input.conf che
|
||||
ha due parametri.
|
||||
Disegna un rettangolo delle dimensioni richieste alle coordinate indicate
|
||||
sopra all'immagine ed emette sulla console i valori correnti del rettangolo
|
||||
stesso.
|
||||
Questo può essere usato per trovare i migliori parametri per il taglio (crop).
|
||||
Se colleghi la direttiva 'change_rectangle' di input.conf a qualche tasto,
|
||||
puoi spostare e ridimensionare il rettangolo al volo.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs <w>,<h>
|
||||
@ -7619,7 +7721,7 @@ Puoi specificare opzioni specifiche dei codec di codifica usando la
|
||||
sintassi seguente:
|
||||
.
|
||||
.TP
|
||||
.B \-<codec>opts <opzione1[=valore,opzione2,...>
|
||||
.B \-<codec>opts <opzione1[=valore1]:opzione2[=valore2]:...>
|
||||
.RE
|
||||
.
|
||||
.PP
|
||||
@ -7993,7 +8095,7 @@ Windows Media Video, versione 2 (conosciuto anche come WMV8)
|
||||
.
|
||||
.TP
|
||||
.B vqmin=<1\-31>
|
||||
valore minimo di quantizzazione (passo 1/2)
|
||||
valore minimo di quantizzazione
|
||||
.RSs
|
||||
.IPs 1
|
||||
Non raccomandato (file molto grandi, una piccola differenza di qualità e
|
||||
@ -8058,7 +8160,7 @@ indefinito.
|
||||
.
|
||||
.TP
|
||||
.B vqmax=<1\-31>
|
||||
Valore massimo di quantizzazione (passo 1/2), 10\-31 dovrebbe essere un
|
||||
Valore massimo di quantizzazione, 10\-31 dovrebbe essere un
|
||||
buon valore (default: 31).
|
||||
.
|
||||
.TP
|
||||
@ -8072,7 +8174,7 @@ obsoleto, utilizza vqmax
|
||||
.TP
|
||||
.B vqdiff=<1\-31>
|
||||
valore massimo di differenza di quantizzazione tra fotogrammi consecutivi I o P
|
||||
(passo 1/2) (default: 3)
|
||||
(default: 3)
|
||||
.
|
||||
.TP
|
||||
.B vmax_b_frames=<0\-4>
|
||||
@ -8363,7 +8465,7 @@ attivo.
|
||||
.
|
||||
.TP
|
||||
.B vbitrate=<valore>
|
||||
Specifica il bitrate (passo 1/2) (default: 800).
|
||||
Specifica il bitrate (default: 800).
|
||||
.br
|
||||
.I ATTENZIONE:
|
||||
1kbit = 1000 bit
|
||||
@ -8389,17 +8491,17 @@ problemi se si utilizza vrc_(min|max)rate.
|
||||
.
|
||||
.TP
|
||||
.B vrc_maxrate=<valore>
|
||||
valore massimo del bitrate in kbit/\:sec (passo 1/2)
|
||||
valore massimo del bitrate in kbit/\:sec
|
||||
(default: 0, illimitato)
|
||||
.
|
||||
.TP
|
||||
.B vrc_minrate=<valore>
|
||||
valore minimo del bitrate in kbit/\:sec (passo 1/2)
|
||||
valore minimo del bitrate in kbit/\:sec
|
||||
(default: 0, illimitato)
|
||||
.
|
||||
.TP
|
||||
.B vrc_buf_size=<valore>
|
||||
dimensione del buffer in kbit (passo 1/2).
|
||||
dimensione del buffer in kbit
|
||||
Per MPEG-1/2 questo regola anche la dimensione del vbv (video buffer
|
||||
verifier), utilizza 327 per i VCD, 917 per i SVCD e 1835 per i DVD.
|
||||
.
|
||||
@ -8425,19 +8527,19 @@ uguale a 1.1).
|
||||
.
|
||||
.TP
|
||||
.B vb_qfactor=<\-31.0\-31.0>
|
||||
fattore di quantizzazione tra fotogrammi B e non B (passo 1/2) (default: 1.25)
|
||||
fattore di quantizzazione tra fotogrammi B e non B (default: 1.25)
|
||||
.
|
||||
.TP
|
||||
.B vi_qfactor=<\-31.0\-31.0>
|
||||
fattore di quantizzazione tra fotogrammi I e non I (passo 1/2) (default: 0.8)
|
||||
fattore di quantizzazione tra fotogrammi I e non I (default: 0.8)
|
||||
.
|
||||
.TP
|
||||
.B vb_qoffset=<\-31.0\-31.0>
|
||||
scostamento di quantizzazione tra fotogrammi B e non B (passo 1/2) (default: 1.25)
|
||||
scostamento di quantizzazione tra fotogrammi B e non B (default: 1.25)
|
||||
.
|
||||
.TP
|
||||
.B vi_qoffset=<\-31.0\-31.0>
|
||||
(passo 1/2) (default: 0.0)
|
||||
(default: 0.0)
|
||||
.br
|
||||
se v{b|i}_qfactor > 0
|
||||
.br
|
||||
@ -8474,7 +8576,7 @@ medieranno la quantizzazione maggiormente nel tempo (cambiamenti pi
|
||||
.
|
||||
.TP
|
||||
.B vqcomp=<valore>
|
||||
Compressione della quantizzazione, vrc_eq dipende da questo (passo 1/2) (default: 0.5).
|
||||
Compressione della quantizzazione, vrc_eq dipende da questo (default: 0.5).
|
||||
Per esempio, supponendo che sia utilizzata l'equazione di default del rate control,
|
||||
se si utilizza vqcomp=1.0 il controllo della dimensione del file alloca per ogni
|
||||
fotogramma la quantità di bit necessari a codificarlo con lo stesso QP.
|
||||
@ -8487,7 +8589,6 @@ La miglior qualit
|
||||
.TP
|
||||
.B vrc_eq=<equazione>
|
||||
equazione principale per il controllo della dimensione del file (ratecontrol)
|
||||
(passo 1/2)
|
||||
.RE
|
||||
.RSs
|
||||
.IPs "1\ \ \ \ "
|
||||
@ -8561,7 +8662,7 @@ massimo / minimo
|
||||
.TP
|
||||
.B vrc_override=<opzioni>
|
||||
Utilizza la qualità specificata per alcuni pezzi particolari
|
||||
(finale, riconoscimenti, ...) (passo 1/2).
|
||||
(finale, riconoscimenti, ...).
|
||||
Le opzioni sono <fotogramma iniziale>, <fotogramma finale>, <qualità>
|
||||
[/<fotogramma iniziale>, <fotogramma finale>, <qualità>[/...]]:
|
||||
.PD 0
|
||||
@ -8584,7 +8685,7 @@ vrc_buf_size (default: 0.9)
|
||||
.
|
||||
.TP
|
||||
.B vqsquish=<0|1>
|
||||
Specifica come mantenere la quantizzazione tra qmin e qmax (passo 1/2).
|
||||
Specifica come mantenere la quantizzazione tra qmin e qmax.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs 0
|
||||
@ -9358,6 +9459,10 @@ FIXME: Da documentare.
|
||||
.B skip_threshold=<0\-1000000>
|
||||
FIXME: Da documentare.
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: Da documentare.
|
||||
.
|
||||
.
|
||||
.SS nuv (\-nuvopts)
|
||||
.
|
||||
@ -10495,6 +10600,27 @@ per la luminanza.
|
||||
Valori utili sono nella gamma <\-2\-2> (default: 0).
|
||||
.
|
||||
.TP
|
||||
.B aq_mode=<0\-2>
|
||||
Definisce il modo in cui la quantizzazione adattiva (AQ) distribuisce i bit:
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs 0
|
||||
disabilitato
|
||||
.IPs 1
|
||||
Evita di distribuire i bit tra fotogrammi.
|
||||
.IPs 2
|
||||
Distribuisce i bit tra fotogrammi (default).
|
||||
.RE
|
||||
.PD 1
|
||||
.
|
||||
.TP
|
||||
.B aq_strength=<valore positivo a virgola mobile>
|
||||
Controlla quanto la quantizzazione adattiva (AQ) possa ridurre artefatti con
|
||||
blocchi e sfocature in aree piane e con texture (default: 1.0).
|
||||
Un valore di 0.5 indebolirà AQ e fornirà meno dettagli, mentre un valore di 1.5
|
||||
porterà un'AQ più forte e maggiori dettagli.
|
||||
.
|
||||
.TP
|
||||
.B cqm=<flat|jvt|<nomefile>>
|
||||
Usa una matrice di quantizzazione personalizzata predefinita o ne carica una
|
||||
da un file in formato JS.
|
||||
@ -10801,6 +10927,10 @@ Durata massima in secondi per analizzare le propriet
|
||||
Forza uno specifico demuxer di libavformat.
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: Da documentare.
|
||||
.
|
||||
.TP
|
||||
.B probesize=<valore>
|
||||
Massima dimensione dei dati da testare durante la fase di rilevazione.
|
||||
Nel caso di MPEG-TS questo valore indentifica il massimo numero di pacchetti
|
||||
@ -10865,6 +10995,10 @@ attualmente significativo solo per MPEG[12].
|
||||
A volte è necessario aumentarlo per evitare errori di 'buffer underflows'.
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME: Da documentare.
|
||||
.
|
||||
.TP
|
||||
.B packetsize=<dimensione>
|
||||
Dimensione, in byte, del pacchetto unitario del formato selezionato.
|
||||
Quando si scrivono file in formato MPEG[12] i valori di default sono:
|
||||
@ -11031,6 +11165,12 @@ FIXME: Da documentare.
|
||||
.B VIDIX_CRT
|
||||
FIXME: Da documentare.
|
||||
.
|
||||
.TP
|
||||
.B VIDIXIVTVALPHA
|
||||
Impostala a 'disable' per impedire al driver VIDIX il controllo delle
|
||||
impostazioni di alphablending.
|
||||
Può poi essere gestito attraverso 'ivtvfbctl'.
|
||||
.
|
||||
.SS osdep:
|
||||
.
|
||||
.TP
|
||||
|
@ -594,7 +594,7 @@ Prowadzi do zniekszta
|
||||
Pokazuje parametry zbioru w łatwo przeglądalnym formacie.
|
||||
Wyświetla też dokładniejsze informacje o językach i identyfikatorach
|
||||
napisów i ścieżek audio.
|
||||
Skrypt TOOLS/\:midentify wycina inne napisy MPlayera i (mamy nadzieję)
|
||||
Skrypt TOOLS/\:midentify.sh wycina inne napisy MPlayera i (mamy nadzieję)
|
||||
zabezpiecza specjalne znaki przed interpretacją przez powłokę.
|
||||
.
|
||||
.TP
|
||||
|
@ -794,7 +794,7 @@ xmga, xv, xvidix
|
||||
аудио дорожек. В некоторых случаях вы можете получить больше информации, используя
|
||||
\-msglevel identify=6.
|
||||
Для DVD, например, это отобразит длину каждого заголовка и ID диска.
|
||||
Скрипт TOOLS/\:midentify подавляет остальной вывод MPlayer и (успешно) экранирует
|
||||
Скрипт TOOLS/\:midentify.sh подавляет остальной вывод MPlayer и (успешно) экранирует
|
||||
имена файлов.
|
||||
.
|
||||
.TP
|
||||
|
@ -880,7 +880,7 @@ mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
||||
在某些情形下,使用 \-msglevel identify=6 能得到更多的信息。
|
||||
例如,对于一张 DVD 碟片,该选项能列出每个标题的章节和时长,以及一个碟片 ID 号。
|
||||
将此选项与 \-frames 0 一起使用能禁止所有输出。
|
||||
封装脚本 TOOLS/\:midentify 禁止 MPlayer 的其它输出,
|
||||
封装脚本 TOOLS/\:midentify.sh 禁止 MPlayer 的其它输出,
|
||||
并且(很可能)shellescapes(脚本转义)了文件名。
|
||||
.
|
||||
.TP
|
||||
|
@ -997,7 +997,7 @@ nahraje 5. titul z DVD do souboru
|
||||
Jak vytvořím (S)VCD automaticky?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Zkuste skript <filename>mencvcd</filename> z podadresáře
|
||||
Zkuste skript <filename>mencvcd.sh</filename> z podadresáře
|
||||
<filename class="directory">TOOLS</filename>.
|
||||
Pomocí něj můžete enkódovat DVD nebo jiné filmy do VCD
|
||||
nebo SVCD formátu a dokonce je vypálit přímo na CD.
|
||||
@ -1262,7 +1262,7 @@ a je podporován všemi dobrými přehrávači.
|
||||
Jak mohu enkódovat soubor jen se zvukem?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Použijte <filename>aconvert</filename> z podadresáře
|
||||
Použijte <filename>aconvert.sh</filename> z podadresáře
|
||||
<filename class="directory">TOOLS</filename>
|
||||
ve zdrojových kódech MPlayeru.
|
||||
</para></answer>
|
||||
|
@ -1245,7 +1245,7 @@ Starte Wiedergabe...<!--
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Probiere das Script <filename>mencvcd</filename> aus dem Unterverzeichnis <filename class="directory">TOOLS</filename>.
|
||||
Probiere das Script <filename>mencvcd.sh</filename> aus dem Unterverzeichnis <filename class="directory">TOOLS</filename>.
|
||||
Damit kannst du DVDs oder andere Filme automatisch ins VCD- oder SVCD-Format encodieren
|
||||
und sogar direkt auf CD brennen.
|
||||
</para>
|
||||
@ -1554,7 +1554,7 @@ rm encode<!--
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Benutze <filename>aconvert</filename> vom Unterverzeichnis
|
||||
Benutze <filename>aconvert.sh</filename> vom Unterverzeichnis
|
||||
<filename class="directory">TOOLS</filename> im MPlayer-Sourcenbaum.
|
||||
</para>
|
||||
</answer>
|
||||
|
@ -47,11 +47,9 @@ Contents</link> and search for the topic, read the <xref linkend="faq"/>,
|
||||
or try grepping through the files. Most questions should be answered somewhere
|
||||
here and the rest has probably already been asked on our
|
||||
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">mailing lists</ulink>.
|
||||
<!-- FIXME: This refers to nonexistent links
|
||||
Check the
|
||||
<ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">archives</ulink>, there
|
||||
<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archives</ulink>, there
|
||||
is a lot of valuable information to be found there.
|
||||
-->
|
||||
</para>
|
||||
</preface>
|
||||
|
||||
|
@ -991,7 +991,7 @@ will dump the 5th title of the DVD into the file
|
||||
How can I create (S)VCDs automatically?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Try the <filename>mencvcd</filename> script from the
|
||||
Try the <filename>mencvcd.sh</filename> script from the
|
||||
<filename class="directory">TOOLS</filename> subdirectory.
|
||||
With it you can encode DVDs or other movies to VCD or SVCD format
|
||||
and even burn them directly to CD.
|
||||
@ -1259,7 +1259,7 @@ terms of functionality, and is supported by all decent players.
|
||||
How can I encode an audio only file?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Use <filename>aconvert</filename> from the
|
||||
Use <filename>aconvert.sh</filename> from the
|
||||
<filename class="directory">TOOLS</filename>
|
||||
subdirectory in the MPlayer source tree.
|
||||
</para></answer>
|
||||
|
@ -1120,7 +1120,7 @@ Lea la sección <link linkend="mencoder"><application>MEncoder</application></li
|
||||
¿Como puedo crear un VCD?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Pruebe el script <filename>mencvcd</filename> del subdirectorio <filename class="directory">TOOLS</filename>.
|
||||
Pruebe el script <filename>mencvcd.sh</filename> del subdirectorio <filename class="directory">TOOLS</filename>.
|
||||
Con él puede codificar DVDs u otras peliculas al formato VCD o SVCD e incluso
|
||||
grabarlo directamente a CD.
|
||||
</para></answer>
|
||||
|
@ -48,7 +48,7 @@ ou faites une recherche dans ces fichiers.
|
||||
La plupart des questions devraient trouver leur réponse ici et le
|
||||
reste a probablement déjà été demandé sur nos
|
||||
<ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">listes de diffusion</ulink>.
|
||||
Regardez leurs <ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">archives</ulink>,
|
||||
Regardez leurs <ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archives</ulink>,
|
||||
il y a beaucoup d'informations intéressantes à y trouver.
|
||||
</para>
|
||||
|
||||
|
@ -929,7 +929,7 @@ déchargera le 5ème titre du DVD dans un fichier
|
||||
Comment puis-je créer des (S)VCDs automatiquement?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Essayez le script <filename>mencvcd</filename> du sous-répertoire
|
||||
Essayez le script <filename>mencvcd.sh</filename> du sous-répertoire
|
||||
<filename class="directory">TOOLS</filename>. Avec lui vous pourrez encoder des DVDs
|
||||
ou d'autres films en format VCD ou SVCD et même les graver directement sur un CD.
|
||||
</para></answer>
|
||||
@ -1180,7 +1180,7 @@ fonctionalitiés, et il est supporté par tous les lecteurs digne de ce nom.
|
||||
Comment puis-je encoder un fichier seulement audio?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Utilisez <filename>aconvert</filename> du sous-répertoire
|
||||
Utilisez <filename>aconvert.sh</filename> du sous-répertoire
|
||||
<filename class="directory">TOOLS</filename>
|
||||
qui se situe dans l'arbre source de MPlayer.
|
||||
</para></answer>
|
||||
|
@ -991,7 +991,7 @@ fájlba.
|
||||
Hogy tudok automatikusan (S)VCD-t készíteni?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Használd a <filename>mencvcd</filename> szkriptet a
|
||||
Használd a <filename>mencvcd.sh</filename> szkriptet a
|
||||
<filename class="directory">TOOLS</filename> alkönyvtárból.
|
||||
Ezzel DVD-ket és más filmeket tudsz VCD vagy SVCD formátumba
|
||||
kódolni és még közvetlenül CD-re is írhatod őket.
|
||||
@ -1259,7 +1259,7 @@ funkcionalitásában és minden illedelmes lejátszó támogatja.
|
||||
Hogyan tudok elkódolni egy csak audiót tartalmazó fájlt?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Használd az <filename>aconvert</filename>-et a
|
||||
Használd az <filename>aconvert.sh</filename>-et a
|
||||
<filename class="directory">TOOLS</filename>
|
||||
alkönyvtárból az MPlayer forrás fájában.
|
||||
</para></answer>
|
||||
|
@ -1016,7 +1016,7 @@ farà il dump del quinto titolo del DVD sul file
|
||||
Come posso creare automaticamente dei (S)VCD?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Prova lo script <filename>mencvcd</filename> dalla sottodirectory
|
||||
Prova lo script <filename>mencvcd.sh</filename> dalla sottodirectory
|
||||
<filename class="directory">TOOLS</filename>.
|
||||
Con quello puoi codificare DVD, o altri film, nel formato VCD o SVCD e anche
|
||||
scriverli direttamente su CD.
|
||||
@ -1286,7 +1286,7 @@ ed è supportato da tutti i riproduttori decenti.
|
||||
Come posso codificare un file solo audio?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Usa <filename>aconvert</filename> dalla sottodirectory
|
||||
Usa <filename>aconvert.sh</filename> dalla sottodirectory
|
||||
<filename class="directory">TOOLS</filename> dei sorgenti di MPlayer.
|
||||
</para></answer>
|
||||
</qandaentry>
|
||||
|
@ -1008,7 +1008,7 @@ zrzuci piątą pozycję DVD do pliku <replaceable>zrzut_dvd.vob</replaceable>.
|
||||
Jak mogę tworzyć automatycznie (S)VCD?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Wypróbuj skrypt <filename>mencvcd</filename> z podkatalogu
|
||||
Wypróbuj skrypt <filename>mencvcd.sh</filename> z podkatalogu
|
||||
<filename class="directory">TOOLS</filename>.
|
||||
Korzystając z niego, możesz kodować DVD lub inne filmy do formatu VCD lub SVCD,
|
||||
a nawet wypalać bezpośrednio na CD.
|
||||
@ -1282,7 +1282,7 @@ a jest obsługiwany przez wszystkie sensowne odtwarzacze.
|
||||
Jak mogę kodować plik zawierający tylko dźwięk?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Użyj <filename>aconvert</filename> z podkatalogu
|
||||
Użyj <filename>aconvert.sh</filename> z podkatalogu
|
||||
<filename class="directory">TOOLS</filename> w drzewie źródeł
|
||||
<application>MPlayera</application>.
|
||||
</para></answer>
|
||||
|
@ -974,7 +974,7 @@ mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
|
||||
Как автоматически создавать (S)VCD?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Попробуйте скрипт <filename>mencvcd</filename> из каталога
|
||||
Попробуйте скрипт <filename>mencvcd.sh</filename> из каталога
|
||||
<filename class="directory">TOOLS</filename>. С его помощью вы можете перекодировать
|
||||
DVD или другие фильмы в VCD или SVCD формат и даже записывать их на CD.
|
||||
</para></answer>
|
||||
@ -1236,7 +1236,7 @@ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replac
|
||||
Как перекодировать звуковой файл (без видео)?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Используйте <filename>aconvert</filename> из подкаталога
|
||||
Используйте <filename>aconvert.sh</filename> из подкаталога
|
||||
<filename class="directory">TOOLS</filename>
|
||||
дерева каталогов MPlayer.
|
||||
</para></answer>
|
||||
|
41
Makefile
41
Makefile
@ -648,6 +648,7 @@ OBJS_MPLAYER += $(OBJS_MPLAYER-yes)
|
||||
|
||||
MPLAYER_DEPS = $(OBJS_MPLAYER) $(OBJS_COMMON) $(COMMON_LIBS)
|
||||
MENCODER_DEPS = $(OBJS_MENCODER) $(OBJS_COMMON) $(COMMON_LIBS)
|
||||
DEPS = $(filter-out %.S,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON) $(SRCS_MPLAYER:.m=.d) $(SRCS_MENCODER))))
|
||||
|
||||
ALL_PRG-$(MPLAYER) += mplayer$(EXESUF)
|
||||
ALL_PRG-$(MENCODER) += mencoder$(EXESUF)
|
||||
@ -703,12 +704,17 @@ DIRS = . \
|
||||
TOOLS \
|
||||
vidix \
|
||||
|
||||
ALLHEADERS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.h))
|
||||
|
||||
PARTS = ffmpeg/libavcodec \
|
||||
ffmpeg/libavformat \
|
||||
ffmpeg/libavutil \
|
||||
ffmpeg/libpostproc \
|
||||
libswscale \
|
||||
|
||||
FFMPEGLIBS = $(foreach part, $(PARTS), $(part)/$(notdir $(part)).a)
|
||||
FFMPEGFILES = $(foreach part, $(PARTS), $(part)/*.[chS] ffmpeg/libavcodec/*/*.[chS])
|
||||
|
||||
|
||||
|
||||
###### generic rules #######
|
||||
@ -730,15 +736,15 @@ all: $(ALL_PRG-yes)
|
||||
%.ho: %.h
|
||||
$(CC) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
|
||||
|
||||
ALLHEADERS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.h))
|
||||
%-rc.o: %.rc
|
||||
$(WINDRES) -I. $< $@
|
||||
|
||||
checkheaders: $(ALLHEADERS:.h=.ho)
|
||||
|
||||
dep depend: $(DEPS)
|
||||
for part in $(PARTS); do $(MAKE) -C $$part depend; done
|
||||
|
||||
ALLPARTLIBS = $(foreach part, $(PARTS), $(part)/$(notdir $(part)).a)
|
||||
|
||||
$(ALLPARTLIBS): ffmpeg/libavutil/*.[ch] ffmpeg/libavcodec/*.[ch] ffmpeg/libavcodec/*/*.[chS] ffmpeg/libavformat/*.[ch] ffmpeg/libpostproc/*.[ch] libswscale/*.[chS] libvo/fastmemcpy.h config.h
|
||||
$(FFMPEGLIBS): $(FFMPEGFILES) libvo/fastmemcpy.h config.h
|
||||
$(MAKE) -C $(@D)
|
||||
touch $@
|
||||
|
||||
@ -752,7 +758,7 @@ codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h
|
||||
$(HOST_CC) -O -I. -Iffmpeg -DCODECS2HTML -o $@ $<
|
||||
|
||||
codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
|
||||
./codec-cfg$(EXESUF) ./etc/codecs.conf > $@
|
||||
./$^ > $@
|
||||
|
||||
# ./configure must be rerun if it changed
|
||||
config.mak: configure
|
||||
@ -770,9 +776,6 @@ endif
|
||||
version.h:
|
||||
./version.sh `$(CC) -dumpversion`
|
||||
|
||||
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
|
||||
$(WINDRES) -I. $< $@
|
||||
|
||||
%(EXESUF): %.c
|
||||
|
||||
|
||||
@ -780,8 +783,7 @@ osdep/mplayer-rc.o: osdep/mplayer.rc version.h
|
||||
###### dependency declarations / specific CFLAGS ######
|
||||
|
||||
codec-cfg.d: codecs.conf.h
|
||||
mencoder.d mplayer.d vobsub.d gui/win32/gui.d libmpdemux/muxer_avi.d stream/network.d stream/stream_cddb.d: version.h
|
||||
DEPS = $(filter-out %.S,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON) $(SRCS_MPLAYER:.m=.d) $(SRCS_MENCODER))))
|
||||
mencoder.d mplayer.d vobsub.d gui/win32/gui.d libmpdemux/muxer_avi.d stream/network.d stream/stream_cddb.d osdep/mplayer-rc.o: version.h
|
||||
$(DEPS): help_mp.h
|
||||
|
||||
dvdread/%.o dvdread/%.d: CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE $(LIBDVDCSS_DVDREAD_FLAGS)
|
||||
@ -862,7 +864,7 @@ clean:
|
||||
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.o /*.a /*.ho /*~, $(addsuffix $(suffix),$(dir))))
|
||||
rm -f mplayer$(EXESUF) mencoder$(EXESUF)
|
||||
|
||||
distclean: clean testsclean toolsclean driversclean
|
||||
distclean: clean testsclean toolsclean driversclean dhahelperclean dhahelperwinclean
|
||||
rm -rf DOCS/tech/doxygen
|
||||
rm -f $(foreach dir,$(DIRS),$(foreach suffix,/*.d, $(addsuffix $(suffix),$(dir))))
|
||||
rm -f configure.log config.mak config.h codecs.conf.h help_mp.h \
|
||||
@ -941,9 +943,8 @@ toolsclean:
|
||||
|
||||
TOOLS/bmovl-test$(EXESUF): -lSDL_image
|
||||
|
||||
TOOLS/subrip$(EXESUF): vobsub.o spudec.o unrar_exec.o \
|
||||
libvo/aclib.o libswscale/libswscale.a libavutil/libavutil.a \
|
||||
$(TEST_OBJS)
|
||||
TOOLS/subrip$(EXESUF): vobsub.o spudec.o unrar_exec.o libvo/aclib.o \
|
||||
libswscale/libswscale.a libavutil/libavutil.a $(TEST_OBJS)
|
||||
|
||||
TOOLS/vfw2menc$(EXESUF): -lwinmm -lole32
|
||||
|
||||
@ -984,10 +985,11 @@ KERNEL_VERSION = $(shell grep RELEASE $(KERNEL_INC)/linux/version.h | cut -d'"'
|
||||
KERNEL_CFLAGS = -O2 -D__KERNEL__ -DMODULE -Wall -I$(KERNEL_INC) -include $(KERNEL_INC)/linux/modversions.h
|
||||
KERNEL_OBJS = $(addprefix drivers/, mga_vid.o tdfx_vid.o radeon_vid.o rage128_vid.o)
|
||||
MODULES_DIR = /lib/modules/$(KERNEL_VERSION)/misc
|
||||
DRIVER_OBJS = $(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test
|
||||
|
||||
drivers: $(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test
|
||||
drivers: $(DRIVER_OBJS)
|
||||
|
||||
$(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test: CFLAGS = $(KERNEL_CFLAGS)
|
||||
$(DRIVER_OBJS): CFLAGS = $(KERNEL_CFLAGS)
|
||||
drivers/mga_vid.o: drivers/mga_vid.c drivers/mga_vid.h
|
||||
drivers/tdfx_vid.o: drivers/tdfx_vid.c drivers/3dfx.h
|
||||
drivers/radeon_vid.o drivers/rage128_vid.o: CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -fno-common -ffast-math
|
||||
@ -995,7 +997,7 @@ drivers/radeon_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
|
||||
drivers/rage128_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
|
||||
$(CC) $(CFLAGS) -DRAGE128 -c $< -o $@
|
||||
|
||||
install-drivers: drivers
|
||||
install-drivers: $(DRIVER_OBJS)
|
||||
-mkdir -p $(MODULES_DIR)
|
||||
install -m 644 $(KERNEL_OBJS) $(MODULES_DIR)
|
||||
depmod -a
|
||||
@ -1005,7 +1007,7 @@ install-drivers: drivers
|
||||
-ln -s /dev/radeon_vid /dev/rage128_vid
|
||||
|
||||
driversclean:
|
||||
rm -f drivers/*.o drivers/*~ drivers/mga_vid_test drivers/tdfx_vid_test
|
||||
rm -f $(DRIVER_OBJS) drivers/*~
|
||||
|
||||
dhahelper: vidix/dhahelper/dhahelper.o vidix/dhahelper/test
|
||||
|
||||
@ -1029,8 +1031,7 @@ vidix/dhahelperwin/dhasetup.exe: vidix/dhahelperwin/dhasetup.c
|
||||
vidix/dhahelperwin/dhahelper.o: vidix/dhahelperwin/dhahelper.c vidix/dhahelperwin/dhahelper.h
|
||||
$(CC) -Wall -Os -c $< -o $@
|
||||
|
||||
vidix/dhahelperwin/dhahelper-rc.o: vidix/dhahelperwin/dhahelper.rc vidix/dhahelperwin/common.ver vidix/dhahelperwin/ntverp.h
|
||||
$(WINDRES) -I. $< $@
|
||||
vidix/dhahelperwin/dhahelper-rc.o: vidix/dhahelperwin/common.ver vidix/dhahelperwin/ntverp.h
|
||||
|
||||
vidix/dhahelperwin/base.tmp: vidix/dhahelperwin/dhahelper.o vidix/dhahelperwin/dhahelper-rc.o
|
||||
$(CC) -Wl,--base-file,$@ -Wl,--entry,_DriverEntry@8 -nostartfiles \
|
||||
|
34
TOOLS/README
34
TOOLS/README
@ -25,24 +25,24 @@ Description: Examples of custom fragment program for OpenGL video out driver
|
||||
Usage: mplayer -vo gl:yuv=4:customprog=edgedetect.fp
|
||||
|
||||
|
||||
midentify
|
||||
midentify.sh
|
||||
|
||||
Author: Tobias Diedrich
|
||||
|
||||
Description: Runs 'mplayer -identify' for all arguments while preventing
|
||||
video window flashing.
|
||||
|
||||
Usage: midentify file1 [file2 ...]
|
||||
Usage: midentify.sh file1 [file2 ...]
|
||||
|
||||
|
||||
mpconsole
|
||||
mpconsole.sh
|
||||
|
||||
Author: Rich Felker
|
||||
|
||||
Description: Script to run MPlayer on the console (fbdev/mga_vid/etc.) without
|
||||
the console text and/or flashing cursor getting in the way.
|
||||
|
||||
Usage: mpconsole [mplayer options]
|
||||
Usage: mpconsole.sh [mplayer options]
|
||||
|
||||
|
||||
mplmult.sh
|
||||
@ -90,25 +90,25 @@ Usage: wma2ogg [options] <-f FILE1 | -f FILE2 ... | -a>
|
||||
MEncoder scripts in the TOOLS dir
|
||||
---------------------------------
|
||||
|
||||
divx2svcd
|
||||
divx2svcd.sh
|
||||
|
||||
Author: Miklos Vajna
|
||||
|
||||
Description: A simple utility that creates an SVCD from a video in an AVI
|
||||
container.
|
||||
|
||||
Usage: divx2svcd <input_avi> [options]
|
||||
see 'divx2svcd -h' for more info
|
||||
Usage: divx2svcd.sh <input_avi> [options]
|
||||
see 'divx2svcd.sh -h' for more info
|
||||
|
||||
|
||||
mencvcd
|
||||
mencvcd.sh
|
||||
|
||||
Author: Jürgen Hammelmann
|
||||
|
||||
Description: Converts DVD (or anything else that MPlayer plays) to (S)VCD
|
||||
|
||||
Usage: mencvcd <basename> [mencvcd options] [mplayer options]
|
||||
see 'mencvcd -h' for more info
|
||||
Usage: mencvcd.sh <basename> [mencvcd.sh options] [mplayer options]
|
||||
see 'mencvcd.sh -h' for more info
|
||||
|
||||
Note: Requires MPlayer, mjpegtools, VCDImager, cdrdao, and optionally
|
||||
LAME, tooLAME and SoX.
|
||||
@ -143,14 +143,14 @@ Usage: --help show help
|
||||
--dvd-device device to pull the video off (default: /dev/dvd)
|
||||
|
||||
|
||||
aconvert
|
||||
aconvert.sh
|
||||
|
||||
Author: Jonas Jermann
|
||||
|
||||
Description: A hack to allow MEncoder to read respectively encode from audio
|
||||
only files.
|
||||
|
||||
Usage: aconvert <"input file"> <"output file"> <"options">
|
||||
Usage: aconvert.sh <"input file"> <"output file"> <"options">
|
||||
If no options are specified the following is assumed:
|
||||
-oac lavc -lavcopts acodec=mp3:abitrate=192
|
||||
|
||||
@ -173,17 +173,17 @@ Note: You will need vcdimager/cdrecord to master/burn the resulting
|
||||
|
||||
|
||||
|
||||
encode2mpeglight
|
||||
encode2mpeglight.sh
|
||||
|
||||
Author: Giacomo Comes
|
||||
|
||||
Description: Convert anything MPlayer can play to VCD/SVCD/DVD MPEG.
|
||||
|
||||
Usage: encode2mpeglight -o <NAME> -n <NORM> [options] <source>
|
||||
Usage: encode2mpeglight.sh -o <NAME> -n <NORM> [options] <source>
|
||||
For help and documentation run:
|
||||
encode2mpeglight -h
|
||||
encode2mpeglight -l
|
||||
encode2mpeglight -doc
|
||||
encode2mpeglight.sh -h
|
||||
encode2mpeglight.sh -l
|
||||
encode2mpeglight.sh -doc
|
||||
|
||||
Note: This script uses only MEncode/MPlayer. Check the final log
|
||||
file for informations/warnings about the encoding process.
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Author: Jonas Jermann
|
||||
# Description: A hack to allow mencoder to encode from an audio only file
|
||||
|
||||
if [[ $1 == "" ]]; then
|
||||
if [ "$1" = "" ]; then
|
||||
echo "Usage: $0 <\"input file\"> <\"output file\"> <\"options\">"
|
||||
exit 0
|
||||
fi
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
@ -79,7 +79,7 @@ EOF
|
||||
###preparing###
|
||||
#help
|
||||
|
||||
function usage()
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: `basename $0` input_avi [options]
|
||||
@ -185,7 +185,7 @@ case $1 in
|
||||
;;
|
||||
*)
|
||||
input=`echo $1 |sed 's/\\ / /'`
|
||||
if [ "$input" == "`basename "$input"`" ]; then
|
||||
if [ "$input" = "`basename "$input"`" ]; then
|
||||
input="`pwd`/$1"
|
||||
fi
|
||||
nev=`basename "$input" .avi`
|
||||
@ -222,14 +222,14 @@ while [ "$1"x != "x" ]; do
|
||||
done
|
||||
|
||||
#checking for cd-recording device
|
||||
if [ "$burning" == 1 ]; then
|
||||
if [ "$burning" = 1 ]; then
|
||||
echo -n "Searching for cdrecorder device... "
|
||||
|
||||
if [ `uname -r |cut -d '.' -f 2` == 4 ]; then
|
||||
if [ `uname -r |cut -d '.' -f 2` = 4 ]; then
|
||||
#linux 2.4.x
|
||||
dev="dev=$dev4"
|
||||
echo "$dev4"
|
||||
elif [ `uname -r |cut -d '.' -f 2` == 6 ]; then
|
||||
elif [ `uname -r |cut -d '.' -f 2` = 6 ]; then
|
||||
#linux 2.6.x
|
||||
if [ -e /dev/cdrecorder ]; then
|
||||
dev='dev=/dev/cdrecorder'
|
||||
@ -262,7 +262,7 @@ exit 1
|
||||
else #checking for version >= 2.01a14
|
||||
echo -n "Checking for cdrecord version >= 2.01a14... "
|
||||
$cdrbin cuefile=a 2>&1 |grep 'Bad Option' >/dev/null 2>&1
|
||||
if [ "$?" == 0 ]; then
|
||||
if [ "$?" = 0 ]; then
|
||||
cat <<EOF
|
||||
ERROR: Can't find cdrecord version >= 2.01a14. You can download it at
|
||||
ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-2.01a20.tar.gz
|
||||
@ -281,7 +281,7 @@ else
|
||||
subopts=''
|
||||
fi
|
||||
|
||||
if [ "x$subopts" == "x" ]; then
|
||||
if [ "x$subopts" = "x" ]; then
|
||||
subs=''
|
||||
else
|
||||
subs='-sub '
|
||||
@ -310,7 +310,7 @@ else
|
||||
fi
|
||||
|
||||
#finish displaying informations
|
||||
if [ "$burning" == 1 ]; then
|
||||
if [ "$burning" = 1 ]; then
|
||||
#asking for cd
|
||||
cat <<EOF
|
||||
|
||||
@ -328,7 +328,7 @@ fi
|
||||
mencoder -ofps 25 -oac lavc "$input" -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=$bitrate:acodec=mp2:abitrate=128:keyint=25:aspect=4/3:$paraopts -o "${nev}2.avi" -srate 44100 -of mpeg -channels 2 $vfopts $subs "$subopts"
|
||||
|
||||
videosize=`$ls -l "${nev}2.avi"|tr -s ' '|cut -d ' ' -f5`
|
||||
if ! [ `echo $(( $cdsize*1048576 < $videosize ))` == "1" ]; then
|
||||
if ! [ `echo $(( $cdsize*1048576 < $videosize ))` = "1" ]; then
|
||||
#video is smaller, than $cdsize
|
||||
mv ${nev}2.avi ${nev}00.mpg
|
||||
else
|
||||
@ -348,7 +348,7 @@ do
|
||||
#creating images
|
||||
vcdimager -t svcd -c "$nev2.cue" -b "$nev2.bin" "$i"
|
||||
#burning if needs
|
||||
if [ "$burning" == 1 ]; then
|
||||
if [ "$burning" = 1 ]; then
|
||||
if [ "$firstcd" != 1 ]; then
|
||||
cat <<EOF
|
||||
|
||||
@ -362,7 +362,7 @@ EOF
|
||||
$cdrbin -v -dao $dev speed=12 gracetime=2 driveropts=burnfree -eject cuefile="$nev2.cue"
|
||||
fi
|
||||
#cleaning if needs
|
||||
if [ "$cleaning" == 1 ]; then
|
||||
if [ "$cleaning" = 1 ]; then
|
||||
rm -f "$nev2.cue" "$nev2.bin"
|
||||
fi
|
||||
done
|
@ -9,32 +9,32 @@
|
||||
#
|
||||
# Purpose: Convert anything MPlayer can play to AVI/VCD/SVCD/DVD MPEG
|
||||
#
|
||||
# encode2mpeglight is free software; you can redistribute it and/or modify
|
||||
# encode2mpeglight.sh is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License.
|
||||
|
||||
# encode2mpeglight is distributed in the hope that it will be useful,
|
||||
# encode2mpeglight.sh is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with encode2mpeglight; if not, write to the Free Software
|
||||
# along with encode2mpeglight.sh; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
###############################################################################
|
||||
# encode2mpeglight is a program that can create VCD/SVCD/DVD MPEGs
|
||||
# encode2mpeglight.sh is a program that can create VCD/SVCD/DVD MPEGs
|
||||
# and eventually extract VobSub subtitles from a DVD using only
|
||||
# MEncoder/MPlayer.
|
||||
#
|
||||
# encode2mpeglight is a stripped release of encode2mpeg and therefore the
|
||||
# encode2mpeglight.sh is a stripped release of encode2mpeg and therefore the
|
||||
# code is redundant in several places, with many variables defined and
|
||||
# used for no apparent reason. This cannot be avoided easily.
|
||||
# A command line like:
|
||||
# encode2mpeglight <encode2mpeglight options>
|
||||
# encode2mpeglight.sh <encode2mpeglight.sh options>
|
||||
# will produce almost the same results as:
|
||||
# encode2mpeg -mpeg -mpegonly <encode2mpeglight options>
|
||||
# encode2mpeg -mpeg -mpegonly <encode2mpeglight.sh options>
|
||||
#
|
||||
# If you need more features like:
|
||||
# - two or more audio streams, chapters, subtitles, menu
|
||||
@ -42,7 +42,7 @@
|
||||
# - creation of MPEG-4 avi and subtitles for a hardware player
|
||||
# and more, consider to use the full release (http://encode2mpeg.sf.net)
|
||||
#
|
||||
# encode2mpeglight is mainly tested with the stable release of MPlayer,
|
||||
# encode2mpeglight.sh is mainly tested with the stable release of MPlayer,
|
||||
# I try to make it work with SVN too, but due to the "unstable" nature of
|
||||
# SVN, bugs may suddenly appear. If you find any, please report them to me.
|
||||
###############################################################################
|
||||
@ -268,7 +268,7 @@ tmpgenc_inter=$tmpgenc_inter,23,25,26,27,28,21,22,23,24,26,27,28,30,22,23,24,26,
|
||||
TXTSUBDEF=( languageId nolang delay 0 font arial.ttf size 28 bottom-margin 30 characterset ISO8859-1 movie-height-reduction 0 fps default )
|
||||
AVISUBDEF=( format SubViewer name-extension null fileformat unix version-number off delay 0 fps default suffix default )
|
||||
|
||||
#### encode2mpeglight defauls
|
||||
#### encode2mpeglight.sh defauls
|
||||
mpeg=1
|
||||
encode=7:2:2
|
||||
|
||||
@ -465,7 +465,7 @@ while (($#)) ; do
|
||||
a=1
|
||||
echo "$2" | grep -q '^[1-4]$' && a=$2
|
||||
shift 2
|
||||
set -- " " -qmatrix kvcd -res $((3+(a+1)/2)) $([[ $a == [13] ]] && echo "-gop 24") "$@"
|
||||
set -- " " -qmatrix kvcd -res $((3+(a+1)/2)) $([[ $a = [13] ]] && echo "-gop 24") "$@"
|
||||
;;
|
||||
-vcd) #
|
||||
#-generate VCD compliant frames on output (default)
|
||||
@ -507,7 +507,7 @@ while (($#)) ; do
|
||||
-vcodec) #<mpeg1|mpeg2|mpeg4>
|
||||
#-force the selected video codec [VCD:mpeg1,SVCD-DVD:mpeg2,AVI:mpeg4]
|
||||
isarg $1 "$2" Avi
|
||||
[[ $2 == mpeg[124] ]] && vcodec=$2 && [[ ${vcodec:4:1} == [12] ]] && vcodec=${vcodec}video
|
||||
[[ $2 = mpeg[124] ]] && vcodec=$2 && [[ ${vcodec:4:1} = [12] ]] && vcodec=${vcodec}video
|
||||
shift
|
||||
;;
|
||||
-qmatrix) #<kvcd|tmpgenc|default|hi-res>
|
||||
@ -855,10 +855,10 @@ done
|
||||
#### output stream name check
|
||||
[[ ! $output ]] && echo "**ERROR: [$PROGNAME] name of the output stream missing (-o name)" && exit 1
|
||||
#### unspecified video norm
|
||||
[[ ! $videonorm && step -gt 1 && ! ( $mpeg && ${encode%,*} == ?:0:? && ! $menu ) && ${#TITLESET[*]} -eq 0 ]] && \
|
||||
[[ ! $videonorm && step -gt 1 && ! ( $mpeg && ${encode%,*} = ?:0:? && ! $menu ) && ${#TITLESET[*]} -eq 0 ]] && \
|
||||
echo "**ERROR: [$PROGNAME] you must specify a video norm (-n n|p|s)" && exit 1
|
||||
#### libfaac check
|
||||
if [[ ${encode%,*} == 8:?:? ]]; then
|
||||
if [[ ${encode%,*} = 8:?:? ]]; then
|
||||
! mencoder -oac help 2>/dev/null | grep -q faac && echo "**ERROR: [$PROGNAME] missing libfaac support in mencoder [-encode 8:m:i]" && exit 1
|
||||
fi
|
||||
#### mpeg4
|
||||
@ -867,18 +867,18 @@ if [[ $vcodec = mpeg4 ]]; then
|
||||
fi
|
||||
#### pictsrc
|
||||
if [[ $pictsrc ]]; then
|
||||
[[ $slideaudio != /dev/null && ${encode%,*} == 0:?:? && $mpeg ]] && \
|
||||
[[ $slideaudio != /dev/null && ${encode%,*} = 0:?:? && $mpeg ]] && \
|
||||
echo "**ERROR: [$PROGNAME] -encode 0:m:i is not compatible with mf:// in MPEG Mode" && exit 1
|
||||
[[ $audioonly ]] && echo "**ERROR: [$PROGNAME] -audioonly does not work with mf://" && exit 1
|
||||
fi
|
||||
#### -encode 1:m:i is not allowed
|
||||
[[ ${encode%,*} == 1:?:? ]] && echo "**ERROR: [$PROGNAME] do not use -encode 1:m:i" && exit 1
|
||||
[[ ${encode%,*} = 1:?:? ]] && echo "**ERROR: [$PROGNAME] do not use -encode 1:m:i" && exit 1
|
||||
|
||||
###############################################################################
|
||||
#### WARN if some options conflict is detected
|
||||
###############################################################################
|
||||
#### missing toolame support
|
||||
if [[ ${encode%,*} == 7:?:? ]]; then
|
||||
if [[ ${encode%,*} = 7:?:? ]]; then
|
||||
if ! mencoder -oac help 2>/dev/null | grep -q t[wo]olame ; then
|
||||
encode=4:${encode#?:}
|
||||
do_log "++ WARN: [$PROGNAME] missing toolame support in mencoder, setting -encode $encode"
|
||||
@ -947,13 +947,13 @@ case $audioformat in
|
||||
#### mplex fails with asr != 48000 for lpcm
|
||||
lpcm) : ${asr:=48000} ${abr:=$((asr*16*${mpegchannels:-2}/1024))} ;;
|
||||
esac
|
||||
if [[ ${encode%,*} == 0:?:? && ${!audioformat} = copy ]]; then
|
||||
if [[ ${encode%,*} = 0:?:? && ${!audioformat} = copy ]]; then
|
||||
abr=0
|
||||
if [[ ! $multiaudio ]]; then
|
||||
get_abr
|
||||
fi
|
||||
fi
|
||||
[[ $mpeg && ${encode%,*} == ?:0:? ]] && \
|
||||
[[ $mpeg && ${encode%,*} = ?:0:? ]] && \
|
||||
vbr=$(($(id_find ID_VIDEO_BITRATE "${MPLAYEROPT[@]}" ${dvddev:+-dvd-device "$dvddev"} "$@")/1000))
|
||||
case $frameformat in
|
||||
DVD) : ${asr:=48000} ;;
|
||||
@ -1032,7 +1032,7 @@ if [[ $pictsrc ]]; then
|
||||
mplayer "$slideaudio" $SRATE -vo null -vc dummy -ao "${PCMWAV[@]}" $afm ${mpegchannels:+-channels $mpegchannels -af channels=$mpegchannels}
|
||||
MPLAYEROPT=( "${MPLAYEROPT[@]}" -fps 1/$(id_find ID_LENGTH "$output".wav) -audiofile "$output".wav )
|
||||
else
|
||||
if [[ $slideaudio == /dev/null ]]; then
|
||||
if [[ $slideaudio = /dev/null ]]; then
|
||||
MPLAYEROPT=( "${MPLAYEROPT[@]}" -fps $slidefps )
|
||||
encode=0:${encode#?:}
|
||||
else
|
||||
@ -1144,7 +1144,7 @@ if [[ $encode ]]; then
|
||||
MUX="-mpegopts "
|
||||
if [[ $telecine ]]; then
|
||||
if [[ $vcodec = mpeg2video || ! $vcodec && $frameformat != VCD ]]; then
|
||||
if [[ $vfr == [12] ]]; then
|
||||
if [[ $vfr = [12] ]]; then
|
||||
[[ $videonorm = n ]] && MUX2=":telecine" || MUX2=":film2pal"
|
||||
else
|
||||
do_log "++ WARN: [$PROGNAME] telecine only works with 24000/1001 or 24 fps, disabling it"
|
||||
@ -1504,7 +1504,7 @@ is_film2pal () {
|
||||
#### libtoolame asr/abr
|
||||
#### libmp3lame asr
|
||||
#### no check is done on the other channel in case of multiaudio
|
||||
if [[ $encode == [2-8]:?:? ]]; then
|
||||
if [[ $encode = [2-8]:?:? ]]; then
|
||||
if [[ $srate ]]; then
|
||||
r=$srate
|
||||
else
|
||||
@ -1521,9 +1521,9 @@ if [[ $encode == [2-8]:?:? ]]; then
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if [[ $encode == [4-7]:?:? ]]; then
|
||||
if [[ $encode = [4-7]:?:? ]]; then
|
||||
check_mencoder_abr "$r" ${AUDIOPASS##*=}
|
||||
elif [[ $encode == 8:?:? ]]; then
|
||||
elif [[ $encode = 8:?:? ]]; then
|
||||
case $r in
|
||||
8000|11025|12000|16000|22050|24000|32000|44100|48000|64000|88200|96000) : ;;
|
||||
*) echo "**ERROR: [$PROGNAME] libfaac does not support $r Hz sample rate" ; exit 1 ;;
|
||||
@ -1536,12 +1536,12 @@ if [[ $encode == [2-8]:?:? ]]; then
|
||||
fi
|
||||
fi
|
||||
#### copy of non-MPEG audio in a VCD
|
||||
if [[ $step -gt 1 && $frameformat = VCD && $encode == 0:?:? && ( $mpeg || ${!audioformat} = copy ) && ! $testmca && ! $pictsrc ]]; then
|
||||
if [[ $step -gt 1 && $frameformat = VCD && $encode = 0:?:? && ( $mpeg || ${!audioformat} = copy ) && ! $testmca && ! $pictsrc ]]; then
|
||||
a=$(id_find ID_AUDIO_CODEC "${MPLAYERINFO[@]}")
|
||||
[[ $a != mp3 ]] && echo "**ERROR: [$PROGNAME] you cannot copy $a audio in a $frameformat" && exit 1
|
||||
fi
|
||||
#### mpegchannels > 2 only with ac3 and aac
|
||||
[[ $mpeg && ${mpegchannels:-2} -gt 2 && $encode == [2-57]:?:? ]] && CODEC=([2]=mp3 mp3 mp2 mp3 [7]=mp2) && \
|
||||
[[ $mpeg && ${mpegchannels:-2} -gt 2 && $encode = [2-57]:?:? ]] && CODEC=([2]=mp3 mp3 mp2 mp3 [7]=mp2) && \
|
||||
echo "**ERROR: [$PROGNAME] audio codec ${CODEC[${encode%%:*}]} selected with -encode $encode do not support more than 2 audio channels" && exit 1
|
||||
###############################################################################
|
||||
#### set cleanup
|
||||
@ -1584,7 +1584,7 @@ if [[ $WARN ]]; then
|
||||
fi
|
||||
#### volume and audio copy
|
||||
if [[ $volume ]]; then
|
||||
[[ $encode == 0:?:? && ( ${!audioformat} = copy || $step -eq 1 || $mpeg ) || ${!audioformat} = copy && ! $encode ]] && \
|
||||
[[ $encode = 0:?:? && ( ${!audioformat} = copy || $step -eq 1 || $mpeg ) || ${!audioformat} = copy && ! $encode ]] && \
|
||||
do_log "++ WARN: [$PROGNAME] you cannot modify the volume of the output audio stream if you are making a copy the input audio stream"
|
||||
fi
|
||||
#### cpu and bframes
|
||||
@ -1592,7 +1592,7 @@ if [[ $cpu && $bframes ]]; then
|
||||
((bframes)) && do_log "++ WARN: [$PROGNAME] with bframes>0 the encoding will be faster with cpu=1"
|
||||
fi
|
||||
#### -usespeed
|
||||
if [[ $usespeed && ( $encode == 0:?:? || $encode == ?:0:? ) ]]; then
|
||||
if [[ $usespeed && ( $encode = 0:?:? || $encode = ?:0:? ) ]]; then
|
||||
do_log "++ WARN: [$PROGNAME] -usespeed may not work if you do not encode both audio and video." && echo -n "Press return to proceed" && read
|
||||
fi
|
||||
#### total br
|
||||
@ -1651,7 +1651,7 @@ if [[ $pictsrc ]]; then
|
||||
h_res=${v_res%x*}
|
||||
v_res=${v_res#*x}
|
||||
fi
|
||||
[[ $mpeg && ${encode%,*} == ?:0:? ]] && H_RES=$h_res && V_RES=$v_res
|
||||
[[ $mpeg && ${encode%,*} = ?:0:? ]] && H_RES=$h_res && V_RES=$v_res
|
||||
|
||||
###############################################################################
|
||||
#### put the volume in DB
|
||||
@ -1666,7 +1666,7 @@ fi
|
||||
###############################################################################
|
||||
#### telecined (NTSC/PAL) MPEG copy/speed encoding change
|
||||
###############################################################################
|
||||
if [[ $mpeg && ( $encode == ?:0:? || $usespeed ) || $usespeed && ! $encode && $step -gt 1 ]]; then
|
||||
if [[ $mpeg && ( $encode = ?:0:? || $usespeed ) || $usespeed && ! $encode && $step -gt 1 ]]; then
|
||||
FPS=($(grep ID_VIDEO_FPS "$output".log | cut -f2 -d=) [1]=23.976 24.000 25.000 29.970 30.000 50.000 59.940 60.000)
|
||||
for ((i=1;i<9;i++)); do
|
||||
a=$(awk -v a=${FPS[0]} -v b=${FPS[i]} 'BEGIN{if (sqrt((a-b)*(a-b))<.02) print b}')
|
||||
@ -1726,7 +1726,7 @@ fi
|
||||
if [[ $mpegfixaspect && $step -gt 1 ]]; then
|
||||
a=$(get_aspect "${MPLAYERINFO[@]}")
|
||||
[[ ${a:0:9} = undefined ]] && a=$(awk -v a=$h_res -v b=$v_res 'BEGIN{printf("%f",a/b)}')
|
||||
[[ $mpegaspect == 1 ]] && b=$(awk -v a=$H_RES -v b=$V_RES 'BEGIN{printf("%f",a/b)}') || b=${ASPECT[${mpegaspect:-2}]}
|
||||
[[ $mpegaspect = 1 ]] && b=$(awk -v a=$H_RES -v b=$V_RES 'BEGIN{printf("%f",a/b)}') || b=${ASPECT[${mpegaspect:-2}]}
|
||||
vfilter=$(awk -v a=$a -v A=$b -v W=$H_RES -v H=$V_RES -v crop=$mpegfixaspect -v i=${interlaced:-0} -v r=$rotate -v o=$overscan -v logfile="$(echo "$output" | sed 's/\\/\\\\/g')".log 'BEGIN{
|
||||
ko=(1-o/100)
|
||||
if(a==1.78||a==1.74)a=16/9
|
||||
@ -1817,7 +1817,7 @@ IDACOD=$(grep "ID_AUDIO_CODEC" "$output".log | tail -1 | cut -f2 -d=)
|
||||
[[ $IDACOD = hwdts ]] && echo "**ERROR: [$PROGNAME] dts audio support missing in MPlayer" && \
|
||||
echo "**ERROR: add dts support (libdts-0.0.2.tar.gz) or select a non dts stream" && \
|
||||
echo "**ERROR: example: -aid 128 (ac3), -aid 160 (lpcm), -aid 0 (mpeg)" && exit 1
|
||||
[[ $mpeg && ! $pictsrc && ( $encode == 1:?:? || $multiaudio || $encode == 0:?:? && $IDACOD != mp3 && $IDACOD != a52 && $IDACOD != faad ) ]] && extra=1 || \
|
||||
[[ $mpeg && ! $pictsrc && ( $encode = 1:?:? || $multiaudio || $encode = 0:?:? && $IDACOD != mp3 && $IDACOD != a52 && $IDACOD != faad ) ]] && extra=1 || \
|
||||
extra=
|
||||
[[ $extra ]] && do_log "**ERROR: [$PROGNAME] output stream: unsupported audio codec $IDACOD" && exit 1
|
||||
|
||||
@ -1857,7 +1857,7 @@ if [[ $encode ]]; then
|
||||
PLOG=( -passlogfile "$output".avi2pass.log )
|
||||
MSG=( -msglevel open=6:demuxer=6:demux=6 )
|
||||
rm -f frameno.avi
|
||||
[[ $encode == 0:?:? && ! $extra ]] && F= || F=$af
|
||||
[[ $encode = 0:?:? && ! $extra ]] && F= || F=$af
|
||||
if [[ $usesbr && ! $extra ]]; then
|
||||
((DEBUG)) && debug_line $((LINENO+2)) "usesbr "
|
||||
me_bit_log
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# Version: 0.2.2
|
||||
#
|
||||
@ -92,7 +92,7 @@ VCDMODE=2
|
||||
SVCDMODE=5
|
||||
################################################################################
|
||||
|
||||
function usage() {
|
||||
usage() {
|
||||
echo "Usage: $HOWCALLED <basename> [$HOWCALLED options] [mplayer options]"
|
||||
echo
|
||||
echo " <basename> is used as basename of the resulting mpg/bin files."
|
@ -8,7 +8,7 @@
|
||||
# Licensed under GNU GPL.
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: midentify <file> [<file> ...]"
|
||||
echo "Usage: midentify.sh <file> [<file> ...]"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# example how to output video on multiple windows in sync.
|
||||
# might be even more useful in combination with vo ggi
|
||||
# to distribute the video arbitrarily
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Helper script to ease comparing the PSNR between two video files
|
||||
# Copyleft 2005 by Matthias Wieser
|
||||
# Copyleft 2005 by Ivo
|
||||
|
@ -43,7 +43,7 @@ RATIOY=3
|
||||
|
||||
OPTIONS="INPUTFILENAME TARGET ENCQ ABPS VBPS NORM SPLIT TOLERANCE OUTNAME"
|
||||
|
||||
function usage()
|
||||
usage()
|
||||
{
|
||||
echo ""
|
||||
echo "usage $MYNAME inputfile [options]"
|
||||
@ -65,7 +65,7 @@ echo "http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html"
|
||||
echo ""
|
||||
}
|
||||
|
||||
function test_needed()
|
||||
test_needed()
|
||||
{
|
||||
|
||||
for i in mencoder; do
|
||||
@ -77,7 +77,7 @@ done
|
||||
|
||||
}
|
||||
|
||||
function test_sugested()
|
||||
test_sugested()
|
||||
{
|
||||
|
||||
for i in vcdimager cdrecord; do
|
||||
@ -234,7 +234,7 @@ else
|
||||
SUBTITLESTRING="$SUBFILENAME"
|
||||
fi
|
||||
|
||||
if [ $SPLIT == "0" ]; then
|
||||
if [ $SPLIT = "0" ]; then
|
||||
CICLES=0
|
||||
TIMESTRING=""
|
||||
else
|
||||
|
1
configure
vendored
1
configure
vendored
@ -7538,6 +7538,7 @@ cat > $TMPC << EOF
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
if test "$cc_vendor" = "gnu" ; then
|
||||
cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
|
||||
cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
|
||||
cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
|
||||
fi
|
||||
|
@ -2912,6 +2912,13 @@ audiocodec ffape
|
||||
driver ffmpeg
|
||||
dll "ape"
|
||||
|
||||
audiocodec ffmlp
|
||||
info "FFmpeg MLP decoder"
|
||||
status working
|
||||
fourcc "MLP " ; internal MPlayer FourCC
|
||||
driver ffmpeg
|
||||
dll "mlp"
|
||||
|
||||
audiocodec ffnellymoser
|
||||
info "FFmpeg Nellymoser Audio decoder"
|
||||
status working
|
||||
|
@ -50,7 +50,7 @@
|
||||
|
||||
extern unsigned int GetTimerMS( void );
|
||||
|
||||
inline void TranslateFilename( int c,char * tmp,size_t tmplen )
|
||||
static inline void TranslateFilename( int c,char * tmp,size_t tmplen )
|
||||
{
|
||||
int i;
|
||||
char * p;
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "gui/bitmap.h"
|
||||
#include "gui/wm/ws.h"
|
||||
|
||||
extern inline void TranslateFilename( int c,char * tmp );
|
||||
extern char * Translate( char * str );
|
||||
extern void PutImage( txSample * bf,int x,int y,int max,int ofs );
|
||||
extern void SimplePotmeterPutImage( txSample * bf,int x,int y,float frac );
|
||||
|
@ -679,11 +679,11 @@ static void reset_render_context(void);
|
||||
* \param pwr multiplier for some tag effects (comes from \t tags)
|
||||
*/
|
||||
static char* parse_tag(char* p, double pwr) {
|
||||
#define skip_all(x) if (*p == (x)) ++p; else { \
|
||||
while ((*p != (x)) && (*p != '}') && (*p != 0)) {++p;} }
|
||||
#define skip_to(x) while ((*p != (x)) && (*p != '}') && (*p != 0)) { ++p;}
|
||||
#define skip(x) if (*p == (x)) ++p; else { return p; }
|
||||
|
||||
skip_all('\\');
|
||||
skip_to('\\');
|
||||
skip('\\');
|
||||
if ((*p == '}') || (*p == 0))
|
||||
return p;
|
||||
|
||||
@ -787,7 +787,7 @@ static char* parse_tag(char* p, double pwr) {
|
||||
} else if (mystrcmp(&p, "fn")) {
|
||||
char* start = p;
|
||||
char* family;
|
||||
skip_all('\\');
|
||||
skip_to('\\');
|
||||
if (p > start) {
|
||||
family = malloc(p - start + 1);
|
||||
strncpy(family, start, p - start);
|
||||
@ -928,7 +928,8 @@ static char* parse_tag(char* p, double pwr) {
|
||||
}
|
||||
while (*p == '\\')
|
||||
p = parse_tag(p, k); // maybe k*pwr ? no, specs forbid nested \t's
|
||||
skip_all(')'); // FIXME: better skip(')'), but much more tags support required
|
||||
skip_to(')'); // in case there is some unknown tag or a comment
|
||||
skip(')');
|
||||
} else if (mystrcmp(&p, "clip")) {
|
||||
int x0, y0, x1, y1;
|
||||
int res = 1;
|
||||
@ -1031,7 +1032,7 @@ static char* parse_tag(char* p, double pwr) {
|
||||
return p;
|
||||
|
||||
#undef skip
|
||||
#undef skip_all
|
||||
#undef skip_to
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -32,6 +32,7 @@ static const AVCodecTag mp_wav_tags[] = {
|
||||
{ CODEC_ID_COOK, MKTAG('c', 'o', 'o', 'k')},
|
||||
{ CODEC_ID_DSICINAUDIO, MKTAG('D', 'C', 'I', 'A')},
|
||||
{ CODEC_ID_INTERPLAY_DPCM, MKTAG('I', 'N', 'P', 'A')},
|
||||
{ CODEC_ID_MLP, MKTAG('M', 'L', 'P', ' ')},
|
||||
{ CODEC_ID_MUSEPACK7, MKTAG('M', 'P', 'C', ' ')},
|
||||
{ CODEC_ID_MUSEPACK8, MKTAG('M', 'P', 'C', '8')},
|
||||
{ CODEC_ID_NELLYMOSER, MKTAG('N', 'E', 'L', 'L')},
|
||||
|
@ -58,7 +58,7 @@ send_mpeg_pes_packet_ll(unsigned char *data, int len, int id, uint64_t pts,
|
||||
unsigned char pes_header[PES_MAX_SIZE];
|
||||
|
||||
mp_msg (MSGT_HEADER, MSGL_DBG2,
|
||||
"MPEG%d PES packet: 0x%x => %lu \n", type, id, pts);
|
||||
"MPEG%d PES packet: 0x%x => %"PRIu64" \n", type, id, pts);
|
||||
memset (pes_header, '\0', PES_MAX_SIZE);
|
||||
|
||||
/* startcode */
|
||||
|
@ -1,4 +1,21 @@
|
||||
/* nuppelvideo.h rh */
|
||||
/*
|
||||
nuppelvideo.h taken from NuppelVideo, by
|
||||
(c) Roman Hochleitner roman@mars.tuwien.ac.at
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef MPLAYER_NUPPELVIDEO_H
|
||||
#define MPLAYER_NUPPELVIDEO_H
|
||||
|
@ -88,12 +88,6 @@ untested special converters
|
||||
|
||||
#define RET 0xC3 //near return opcode for X86
|
||||
|
||||
#ifdef MP_DEBUG
|
||||
#define ASSERT(x) assert(x);
|
||||
#else
|
||||
#define ASSERT(x) ;
|
||||
#endif
|
||||
|
||||
#ifdef M_PI
|
||||
#define PI M_PI
|
||||
#else
|
||||
@ -1060,7 +1054,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
else if (flags&SWS_BILINEAR) sizeFactor= 2.0;
|
||||
else {
|
||||
sizeFactor= 0.0; //GCC warning killer
|
||||
ASSERT(0)
|
||||
assert(0);
|
||||
}
|
||||
|
||||
if (xInc1 <= 1.0) filterSizeInSrc= sizeFactor; // upscale
|
||||
@ -1145,7 +1139,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
}
|
||||
else {
|
||||
coeff= 0.0; //GCC warning killer
|
||||
ASSERT(0)
|
||||
assert(0);
|
||||
}
|
||||
|
||||
filter[i*filterSize + j]= coeff;
|
||||
@ -1158,11 +1152,11 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
/* apply src & dst Filter to filter -> filter2
|
||||
av_free(filter);
|
||||
*/
|
||||
ASSERT(filterSize>0)
|
||||
assert(filterSize>0);
|
||||
filter2Size= filterSize;
|
||||
if (srcFilter) filter2Size+= srcFilter->length - 1;
|
||||
if (dstFilter) filter2Size+= dstFilter->length - 1;
|
||||
ASSERT(filter2Size>0)
|
||||
assert(filter2Size>0);
|
||||
filter2= av_malloc(filter2Size*dstW*sizeof(double));
|
||||
|
||||
for (i=0; i<dstW; i++)
|
||||
@ -1177,7 +1171,7 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
if (srcFilter) outVec= sws_getConvVec(srcFilter, &scaleFilter);
|
||||
else outVec= &scaleFilter;
|
||||
|
||||
ASSERT(outVec->length == filter2Size)
|
||||
assert(outVec->length == filter2Size);
|
||||
//FIXME dstFilter
|
||||
|
||||
for (j=0; j<outVec->length; j++)
|
||||
@ -1252,9 +1246,9 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
filterAlign= 1;
|
||||
}
|
||||
|
||||
ASSERT(minFilterSize > 0)
|
||||
assert(minFilterSize > 0);
|
||||
filterSize= (minFilterSize +(filterAlign-1)) & (~(filterAlign-1));
|
||||
ASSERT(filterSize > 0)
|
||||
assert(filterSize > 0);
|
||||
filter= av_malloc(filterSize*dstW*sizeof(double));
|
||||
if (filterSize >= MAX_FILTER_SIZE)
|
||||
return -1;
|
||||
@ -1731,62 +1725,62 @@ static int yvu9toyv12Wrapper(SwsContext *c, uint8_t* src[], int srcStride[], int
|
||||
}
|
||||
|
||||
/* unscaled copy like stuff (assumes nearly identical formats) */
|
||||
static int simpleCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[]){
|
||||
|
||||
if (isPacked(c->srcFormat))
|
||||
static int packedCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[])
|
||||
{
|
||||
if (dstStride[0]==srcStride[0] && srcStride[0] > 0)
|
||||
memcpy(dst[0] + dstStride[0]*srcSliceY, src[0], srcSliceH*dstStride[0]);
|
||||
else
|
||||
{
|
||||
if (dstStride[0]==srcStride[0] && srcStride[0] > 0)
|
||||
memcpy(dst[0] + dstStride[0]*srcSliceY, src[0], srcSliceH*dstStride[0]);
|
||||
else
|
||||
int i;
|
||||
uint8_t *srcPtr= src[0];
|
||||
uint8_t *dstPtr= dst[0] + dstStride[0]*srcSliceY;
|
||||
int length=0;
|
||||
|
||||
/* universal length finder */
|
||||
while(length+c->srcW <= FFABS(dstStride[0])
|
||||
&& length+c->srcW <= FFABS(srcStride[0])) length+= c->srcW;
|
||||
assert(length!=0);
|
||||
|
||||
for (i=0; i<srcSliceH; i++)
|
||||
{
|
||||
int i;
|
||||
uint8_t *srcPtr= src[0];
|
||||
uint8_t *dstPtr= dst[0] + dstStride[0]*srcSliceY;
|
||||
int length=0;
|
||||
|
||||
/* universal length finder */
|
||||
while(length+c->srcW <= FFABS(dstStride[0])
|
||||
&& length+c->srcW <= FFABS(srcStride[0])) length+= c->srcW;
|
||||
ASSERT(length!=0);
|
||||
|
||||
for (i=0; i<srcSliceH; i++)
|
||||
{
|
||||
memcpy(dstPtr, srcPtr, length);
|
||||
srcPtr+= srcStride[0];
|
||||
dstPtr+= dstStride[0];
|
||||
}
|
||||
memcpy(dstPtr, srcPtr, length);
|
||||
srcPtr+= srcStride[0];
|
||||
dstPtr+= dstStride[0];
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /* Planar YUV or gray */
|
||||
int plane;
|
||||
for (plane=0; plane<3; plane++)
|
||||
{
|
||||
int length= plane==0 ? c->srcW : -((-c->srcW )>>c->chrDstHSubSample);
|
||||
int y= plane==0 ? srcSliceY: -((-srcSliceY)>>c->chrDstVSubSample);
|
||||
int height= plane==0 ? srcSliceH: -((-srcSliceH)>>c->chrDstVSubSample);
|
||||
return srcSliceH;
|
||||
}
|
||||
|
||||
if ((isGray(c->srcFormat) || isGray(c->dstFormat)) && plane>0)
|
||||
{
|
||||
if (!isGray(c->dstFormat))
|
||||
memset(dst[plane], 128, dstStride[plane]*height);
|
||||
}
|
||||
static int planarCopy(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[])
|
||||
{
|
||||
int plane;
|
||||
for (plane=0; plane<3; plane++)
|
||||
{
|
||||
int length= plane==0 ? c->srcW : -((-c->srcW )>>c->chrDstHSubSample);
|
||||
int y= plane==0 ? srcSliceY: -((-srcSliceY)>>c->chrDstVSubSample);
|
||||
int height= plane==0 ? srcSliceH: -((-srcSliceH)>>c->chrDstVSubSample);
|
||||
|
||||
if ((isGray(c->srcFormat) || isGray(c->dstFormat)) && plane>0)
|
||||
{
|
||||
if (!isGray(c->dstFormat))
|
||||
memset(dst[plane], 128, dstStride[plane]*height);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
|
||||
memcpy(dst[plane] + dstStride[plane]*y, src[plane], height*dstStride[plane]);
|
||||
else
|
||||
{
|
||||
if (dstStride[plane]==srcStride[plane] && srcStride[plane] > 0)
|
||||
memcpy(dst[plane] + dstStride[plane]*y, src[plane], height*dstStride[plane]);
|
||||
else
|
||||
int i;
|
||||
uint8_t *srcPtr= src[plane];
|
||||
uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
|
||||
for (i=0; i<height; i++)
|
||||
{
|
||||
int i;
|
||||
uint8_t *srcPtr= src[plane];
|
||||
uint8_t *dstPtr= dst[plane] + dstStride[plane]*y;
|
||||
for (i=0; i<height; i++)
|
||||
{
|
||||
memcpy(dstPtr, srcPtr, length);
|
||||
srcPtr+= srcStride[plane];
|
||||
dstPtr+= dstStride[plane];
|
||||
}
|
||||
memcpy(dstPtr, srcPtr, length);
|
||||
srcPtr+= srcStride[plane];
|
||||
dstPtr+= dstStride[plane];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2208,7 +2202,10 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
|
||||
|| (isPlanarYUV(srcFormat) && isGray(dstFormat))
|
||||
|| (isPlanarYUV(dstFormat) && isGray(srcFormat)))
|
||||
{
|
||||
c->swScale= simpleCopy;
|
||||
if (isPacked(c->srcFormat))
|
||||
c->swScale= packedCopy;
|
||||
else /* Planar YUV or gray */
|
||||
c->swScale= planarCopy;
|
||||
}
|
||||
|
||||
/* gray16{le,be} conversions */
|
||||
@ -2385,7 +2382,7 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
|
||||
|
||||
assert(2*VOFW == VOF);
|
||||
|
||||
ASSERT(c->chrDstH <= dstH)
|
||||
assert(c->chrDstH <= dstH);
|
||||
|
||||
if (flags&SWS_PRINT_INFO)
|
||||
{
|
||||
|
@ -3039,8 +3039,8 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
if (firstLumSrcY > lastInLumBuf) lastInLumBuf= firstLumSrcY-1;
|
||||
if (firstChrSrcY > lastInChrBuf) lastInChrBuf= firstChrSrcY-1;
|
||||
//printf("%d %d %d\n", firstChrSrcY, lastInChrBuf, vChrBufSize);
|
||||
ASSERT(firstLumSrcY >= lastInLumBuf - vLumBufSize + 1)
|
||||
ASSERT(firstChrSrcY >= lastInChrBuf - vChrBufSize + 1)
|
||||
assert(firstLumSrcY >= lastInLumBuf - vLumBufSize + 1);
|
||||
assert(firstChrSrcY >= lastInChrBuf - vChrBufSize + 1);
|
||||
|
||||
// Do we have enough lines in this slice to output the dstY line
|
||||
if (lastLumSrcY < srcSliceY + srcSliceH && lastChrSrcY < -((-srcSliceY - srcSliceH)>>c->chrSrcVSubSample))
|
||||
@ -3051,9 +3051,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
uint8_t *s= src[0]+(lastInLumBuf + 1 - srcSliceY)*srcStride[0];
|
||||
lumBufIndex++;
|
||||
//printf("%d %d %d %d\n", lumBufIndex, vLumBufSize, lastInLumBuf, lastLumSrcY);
|
||||
ASSERT(lumBufIndex < 2*vLumBufSize)
|
||||
ASSERT(lastInLumBuf + 1 - srcSliceY < srcSliceH)
|
||||
ASSERT(lastInLumBuf + 1 - srcSliceY >= 0)
|
||||
assert(lumBufIndex < 2*vLumBufSize);
|
||||
assert(lastInLumBuf + 1 - srcSliceY < srcSliceH);
|
||||
assert(lastInLumBuf + 1 - srcSliceY >= 0);
|
||||
//printf("%d %d\n", lumBufIndex, vLumBufSize);
|
||||
RENAME(hyscale)(lumPixBuf[ lumBufIndex ], dstW, s, srcW, lumXInc,
|
||||
flags, canMMX2BeUsed, hLumFilter, hLumFilterPos, hLumFilterSize,
|
||||
@ -3066,9 +3066,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
uint8_t *src1= src[1]+(lastInChrBuf + 1 - chrSrcSliceY)*srcStride[1];
|
||||
uint8_t *src2= src[2]+(lastInChrBuf + 1 - chrSrcSliceY)*srcStride[2];
|
||||
chrBufIndex++;
|
||||
ASSERT(chrBufIndex < 2*vChrBufSize)
|
||||
ASSERT(lastInChrBuf + 1 - chrSrcSliceY < (chrSrcSliceH))
|
||||
ASSERT(lastInChrBuf + 1 - chrSrcSliceY >= 0)
|
||||
assert(chrBufIndex < 2*vChrBufSize);
|
||||
assert(lastInChrBuf + 1 - chrSrcSliceY < (chrSrcSliceH));
|
||||
assert(lastInChrBuf + 1 - chrSrcSliceY >= 0);
|
||||
//FIXME replace parameters through context struct (some at least)
|
||||
|
||||
if (!(isGray(srcFormat) || isGray(dstFormat)))
|
||||
@ -3094,9 +3094,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
{
|
||||
uint8_t *s= src[0]+(lastInLumBuf + 1 - srcSliceY)*srcStride[0];
|
||||
lumBufIndex++;
|
||||
ASSERT(lumBufIndex < 2*vLumBufSize)
|
||||
ASSERT(lastInLumBuf + 1 - srcSliceY < srcSliceH)
|
||||
ASSERT(lastInLumBuf + 1 - srcSliceY >= 0)
|
||||
assert(lumBufIndex < 2*vLumBufSize);
|
||||
assert(lastInLumBuf + 1 - srcSliceY < srcSliceH);
|
||||
assert(lastInLumBuf + 1 - srcSliceY >= 0);
|
||||
RENAME(hyscale)(lumPixBuf[ lumBufIndex ], dstW, s, srcW, lumXInc,
|
||||
flags, canMMX2BeUsed, hLumFilter, hLumFilterPos, hLumFilterSize,
|
||||
funnyYCode, c->srcFormat, formatConvBuffer,
|
||||
@ -3108,9 +3108,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
uint8_t *src1= src[1]+(lastInChrBuf + 1 - chrSrcSliceY)*srcStride[1];
|
||||
uint8_t *src2= src[2]+(lastInChrBuf + 1 - chrSrcSliceY)*srcStride[2];
|
||||
chrBufIndex++;
|
||||
ASSERT(chrBufIndex < 2*vChrBufSize)
|
||||
ASSERT(lastInChrBuf + 1 - chrSrcSliceY < chrSrcSliceH)
|
||||
ASSERT(lastInChrBuf + 1 - chrSrcSliceY >= 0)
|
||||
assert(chrBufIndex < 2*vChrBufSize);
|
||||
assert(lastInChrBuf + 1 - chrSrcSliceY < chrSrcSliceH);
|
||||
assert(lastInChrBuf + 1 - chrSrcSliceY >= 0);
|
||||
|
||||
if (!(isGray(srcFormat) || isGray(dstFormat)))
|
||||
RENAME(hcscale)(chrPixBuf[ chrBufIndex ], chrDstW, src1, src2, chrSrcW, chrXInc,
|
||||
@ -3199,8 +3199,8 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT(lumSrcPtr + vLumFilterSize - 1 < lumPixBuf + vLumBufSize*2);
|
||||
ASSERT(chrSrcPtr + vChrFilterSize - 1 < chrPixBuf + vChrBufSize*2);
|
||||
assert(lumSrcPtr + vLumFilterSize - 1 < lumPixBuf + vLumBufSize*2);
|
||||
assert(chrSrcPtr + vChrFilterSize - 1 < chrPixBuf + vChrBufSize*2);
|
||||
if (vLumFilterSize == 1 && vChrFilterSize == 2) //unscaled RGB
|
||||
{
|
||||
int chrAlpha= vChrFilter[2*dstY+1];
|
||||
@ -3250,8 +3250,8 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT(lumSrcPtr + vLumFilterSize - 1 < lumPixBuf + vLumBufSize*2);
|
||||
ASSERT(chrSrcPtr + vChrFilterSize - 1 < chrPixBuf + vChrBufSize*2);
|
||||
assert(lumSrcPtr + vLumFilterSize - 1 < lumPixBuf + vLumBufSize*2);
|
||||
assert(chrSrcPtr + vChrFilterSize - 1 < chrPixBuf + vChrBufSize*2);
|
||||
yuv2packedXinC(c,
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
|
@ -688,14 +688,17 @@ static uint32_t get_image(mp_image_t *mpi) {
|
||||
return VO_FALSE;
|
||||
}
|
||||
if (mpi->flags & MP_IMGFLAG_READABLE) return VO_FALSE;
|
||||
if (!gl_buffer)
|
||||
GenBuffers(1, &gl_buffer);
|
||||
BindBuffer(GL_PIXEL_UNPACK_BUFFER, gl_buffer);
|
||||
if (ati_hack) {
|
||||
int s = 1;
|
||||
// for unexplainable reasons, with width < 512 chroma tends to be messed up
|
||||
// (after ca. 2/3 the previous line repeats all over)
|
||||
if (mpi->width < 512) return VO_FALSE;
|
||||
while (s < mpi->width) s *= 2;
|
||||
mpi->width = s;
|
||||
}
|
||||
if (!gl_buffer)
|
||||
GenBuffers(1, &gl_buffer);
|
||||
BindBuffer(GL_PIXEL_UNPACK_BUFFER, gl_buffer);
|
||||
mpi->stride[0] = mpi->width * mpi->bpp / 8;
|
||||
if (mpi->stride[0] * mpi->height > gl_buffersize) {
|
||||
BufferData(GL_PIXEL_UNPACK_BUFFER, mpi->stride[0] * mpi->height,
|
||||
|
@ -230,7 +230,7 @@ popd
|
||||
rm -rf $RPM_BUILD_ROOT doc
|
||||
|
||||
make install DESTDIR=$RPM_BUILD_ROOT STRIPBINARIES=no
|
||||
install -pm 755 TOOLS/midentify $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -pm 755 TOOLS/midentify.sh $RPM_BUILD_ROOT%{_bindir}/
|
||||
|
||||
# Clean up documentation
|
||||
mkdir doc
|
||||
@ -291,7 +291,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%config(noreplace) %{_sysconfdir}/mplayer/mplayer.conf
|
||||
%config(noreplace) %{_sysconfdir}/mplayer/input.conf
|
||||
%config(noreplace) %{_sysconfdir}/mplayer/menu.conf
|
||||
%{_bindir}/midentify
|
||||
%{_bindir}/midentify.sh
|
||||
%{_bindir}/mplayer
|
||||
%dir %{codecsdir}/
|
||||
%dir %{_datadir}/mplayer/
|
||||
|
@ -124,9 +124,18 @@ cd_info_debug(cd_info_t *cd_info) {
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, " genre=[%s]\n", cd_info->genre);
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, " nb_tracks=%d\n", cd_info->nb_tracks);
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, " length= %2d:%02d.%02d\n", cd_info->min, cd_info->sec, cd_info->msec);
|
||||
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_ARTIST=%s\n", cd_info->artist);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_ALBUM=%s\n", cd_info->album);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_GENRE=%s\n", cd_info->genre);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_LENGTH_MSF=%02d:%02d.%02d\n", cd_info->min, cd_info->sec, cd_info->msec);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_TRACKS=%d\n", cd_info->nb_tracks);
|
||||
|
||||
current_track = cd_info->first;
|
||||
while( current_track!=NULL ) {
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, " #%2d %2d:%02d.%02d @ %7ld\t[%s] \n", current_track->track_nb, current_track->min, current_track->sec, current_track->msec, current_track->frame_begin, current_track->name);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_TRACK_%d_NAME=%s\n", current_track->track_nb, current_track->name);
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_INFO_TRACK_%d_MSF=%02d:%02d.%02d\n", current_track->track_nb, current_track->min, current_track->sec, current_track->msec);
|
||||
current_track = current_track->next;
|
||||
}
|
||||
mp_msg(MSGT_DEMUX, MSGL_INFO, "================ CD INFO === end =========\n");
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <inttypes.h>
|
||||
#ifdef HAVE_WINSOCK2
|
||||
#include <winsock2.h>
|
||||
|
@ -379,8 +379,10 @@ void stream_reset(stream_t *s){
|
||||
|
||||
int stream_control(stream_t *s, int cmd, void *arg){
|
||||
if(!s->control) return STREAM_UNSUPPORTED;
|
||||
#ifdef USE_STREAM_CACHE
|
||||
if (s->cache_pid)
|
||||
return cache_do_control(s, cmd, arg);
|
||||
#endif
|
||||
return s->control(s, cmd, arg);
|
||||
}
|
||||
|
||||
|
@ -719,6 +719,8 @@ cddb_resolve(const char *dev, char **xmcd_file) {
|
||||
cddb_data.disc_id = cddb_discid(cddb_data.tracks);
|
||||
cddb_data.anonymous = 1; // Don't send user info by default
|
||||
|
||||
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDB_DISCID=%08lx\n", cddb_data.disc_id);
|
||||
|
||||
// Check if there is a CD in the drive
|
||||
// FIXME: That's not really a good way to check
|
||||
if( cddb_data.disc_id==0 ) {
|
||||
|
@ -790,7 +790,7 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
|
||||
else if(dvd_device)
|
||||
dvd_device_current = dvd_device;
|
||||
else
|
||||
dvd_device_current = strdup(DEFAULT_DVD_DEVICE);
|
||||
dvd_device_current = DEFAULT_DVD_DEVICE;
|
||||
dvd_set_speed(dvd_device_current, dvd_speed);
|
||||
#if defined(__APPLE__) || defined(__DARWIN__)
|
||||
/* Dynamic DVD drive selection on Darwin */
|
||||
|
Loading…
Reference in New Issue
Block a user