mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 20:03:10 +02:00
Merge svn changes up to r27025
Conflicts: command.c libvo/vosub_vidix.c libvo/vosub_vidix.h mplayer.c
This commit is contained in:
commit
af3fcdf2de
@ -7376,7 +7376,7 @@ You can specify codec specific encoding parameters using the following
|
|||||||
syntax:
|
syntax:
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-<codec>opts <option1[=value],option2,...>
|
.B \-<codec>opts <option1[=value1]:option2[=value2]:...>
|
||||||
.
|
.
|
||||||
.PP
|
.PP
|
||||||
Where <codec> may be: lavc, xvidenc, lame, toolame, twolame,
|
Where <codec> may be: lavc, xvidenc, lame, toolame, twolame,
|
||||||
@ -10693,6 +10693,12 @@ FIXME: Document this.
|
|||||||
.B VIDIX_CRT
|
.B VIDIX_CRT
|
||||||
FIXME: Document this.
|
FIXME: Document this.
|
||||||
.
|
.
|
||||||
|
.TP
|
||||||
|
.B VIDIXIVTVALPHA
|
||||||
|
Set this to 'disable' in order to stop the VIDIX driver from controlling
|
||||||
|
alphablending settings.
|
||||||
|
You can then manipulate it yourself with 'ivtvfbctl'.
|
||||||
|
.
|
||||||
.SS osdep:
|
.SS osdep:
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" synced with r26762
|
.\" synced with r26806
|
||||||
.\" Encoding: iso-8859-1
|
.\" Encoding: iso-8859-1
|
||||||
.\" MPlayer (C) 2000-2008 MPlayer Team
|
.\" MPlayer (C) 2000-2008 MPlayer Team
|
||||||
.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
|
.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
|
||||||
@ -171,7 +171,7 @@ MPlayer poss
|
|||||||
informations, de belles et grandes polices lissées et des effets
|
informations, de belles et grandes polices lissées et des effets
|
||||||
visuels pour confirmer les contrôles au clavier. Les polices
|
visuels pour confirmer les contrôles au clavier. Les polices
|
||||||
européennes/\:ISO8859\-1,2 (Hongroise, Anglaise, Tchèque, etc),
|
européennes/\:ISO8859\-1,2 (Hongroise, Anglaise, Tchèque, etc),
|
||||||
Cyrillique et Coréenne sont gérés ainsi que 11 formats de
|
Cyrillique et Coréenne sont gérées ainsi que 11 formats de
|
||||||
sous-titres (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT,
|
sous-titres (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT,
|
||||||
SSA, AQTitle, JACOsub, PJS et le nôtre: MPsub) et les sous-titres
|
SSA, AQTitle, JACOsub, PJS et le nôtre: MPsub) et les sous-titres
|
||||||
DVD (SPU streams, VobSub et Closed Captions).
|
DVD (SPU streams, VobSub et Closed Captions).
|
||||||
@ -181,7 +181,7 @@ DVD (SPU streams, VobSub et Closed Captions).
|
|||||||
des vidéos jouables par MPlayer (voir ci-dessus) dans d'autres formats jouables
|
des vidéos jouables par MPlayer (voir ci-dessus) dans d'autres formats jouables
|
||||||
par MPlayer (voir ci-dessous).
|
par MPlayer (voir ci-dessous).
|
||||||
Il encode en MPEG-4 (DivX/Xvid), un des codecs libavcodec, et en
|
Il encode en MPEG-4 (DivX/Xvid), un des codecs libavcodec, et en
|
||||||
PCM/\:MP3/\:VBRMP3 audio en 1, 2 ou 3 passes.
|
PCM/\:MP3/\:VBRMP3 audio en 1, 2 ou 3 passe(s).
|
||||||
Il permet également de copier des flux de données (stream), possède un
|
Il permet également de copier des flux de données (stream), possède un
|
||||||
puissant système de plugins (découpage, expansion, retournement, postprocess,
|
puissant système de plugins (découpage, expansion, retournement, postprocess,
|
||||||
rotation, redimensionnement, bruit, conversion RGB/\:YUV) et bien plus.
|
rotation, redimensionnement, bruit, conversion RGB/\:YUV) et bien plus.
|
||||||
@ -231,9 +231,9 @@ R
|
|||||||
.IPs "< et >"
|
.IPs "< et >"
|
||||||
Recule/\:avance dans la liste de lecture (playlist).
|
Recule/\:avance dans la liste de lecture (playlist).
|
||||||
.IPs "ENTER"
|
.IPs "ENTER"
|
||||||
avance dans la liste de lecture, même après la fin
|
Avance dans la liste de lecture, même après la fin
|
||||||
.IPs "ORIG et FIN"
|
.IPs "ORIG et FIN"
|
||||||
Va à au prochain/\:précédent arbre de lecture (playtree) dans la liste des
|
Va au prochain/\:précédent arbre de lecture (playtree) dans la liste des
|
||||||
pères.
|
pères.
|
||||||
.IPs "INSER et SUPPR (liste de lecture ASX uniquement)"
|
.IPs "INSER et SUPPR (liste de lecture ASX uniquement)"
|
||||||
Va à la prochaine/\:précédente source de rechange.
|
Va à la prochaine/\:précédente source de rechange.
|
||||||
@ -264,9 +264,8 @@ Alterne entre les pistes vid
|
|||||||
Alterne entre les pistes audio disponibles.
|
Alterne entre les pistes audio disponibles.
|
||||||
.IPs "TAB (MPEG-TS et libavformat uniquement)"
|
.IPs "TAB (MPEG-TS et libavformat uniquement)"
|
||||||
Alterne entre les différents programmes disponibles.
|
Alterne entre les différents programmes disponibles.
|
||||||
Cycle through the available programs.
|
|
||||||
.IPs "f\ \ \ \ "
|
.IPs "f\ \ \ \ "
|
||||||
Bascule en plein-écran.
|
Bascule en mode plein-écran.
|
||||||
.IPs "T\ \ \ \ "
|
.IPs "T\ \ \ \ "
|
||||||
Bascule en mode toujours visible.
|
Bascule en mode toujours visible.
|
||||||
.IPs "w et e"
|
.IPs "w et e"
|
||||||
@ -275,14 +274,14 @@ R
|
|||||||
Alterne entre les états OSD: aucun / déplacement /
|
Alterne entre les états OSD: aucun / déplacement /
|
||||||
déplacement + chrono / déplacement + chrono + durée totale
|
déplacement + chrono / déplacement + chrono + durée totale
|
||||||
.IPs "d\ \ \ \ "
|
.IPs "d\ \ \ \ "
|
||||||
alterne entre les modes de sauts de trame: aucun / saut d'affichage / saut de
|
Alterne entre les modes de sauts de trame: aucun / saut d'affichage / saut de
|
||||||
décodage (voir \-framedrop et \-hardframedrop)
|
décodage (voir \-framedrop et \-hardframedrop)
|
||||||
.IPs "v\ \ \ \ "
|
.IPs "v\ \ \ \ "
|
||||||
Bascule l'affichage des sous-titres.
|
Bascule l'affichage des sous-titres.
|
||||||
.IPs "j\ \ \ \ "
|
.IPs "j\ \ \ \ "
|
||||||
Alterne entre les différents sous-titres disponibles.
|
Alterne entre les différents sous-titres disponibles.
|
||||||
.IPs "y et g"
|
.IPs "y et g"
|
||||||
Choisit le sous-titre après/avant dans la liste des sous-titres.
|
Choisit le sous-titre suivant/précédent dans la liste des sous-titres.
|
||||||
.IPs "F\ \ \ \ "
|
.IPs "F\ \ \ \ "
|
||||||
Bascule l'affichage des "sous-titres forcés".
|
Bascule l'affichage des "sous-titres forcés".
|
||||||
.IPs "a\ \ \ \ "
|
.IPs "a\ \ \ \ "
|
||||||
@ -292,7 +291,7 @@ Ajuste le d
|
|||||||
.IPs "r et t"
|
.IPs "r et t"
|
||||||
Translate les sous-titres vers le haut/bas.
|
Translate les sous-titres vers le haut/bas.
|
||||||
.IPs i (mode \-edlout uniquement)
|
.IPs i (mode \-edlout uniquement)
|
||||||
Créé une marque EDL.
|
Crée une marque EDL.
|
||||||
.IPs "s (\-vf screenshot uniquement)"
|
.IPs "s (\-vf screenshot uniquement)"
|
||||||
Réalise une capture d'écran.
|
Réalise une capture d'écran.
|
||||||
.IPs "S (\-vf screenshot uniquement)"
|
.IPs "S (\-vf screenshot uniquement)"
|
||||||
@ -300,11 +299,11 @@ Amorce/arr
|
|||||||
.IPs "I\ \ \ \ "
|
.IPs "I\ \ \ \ "
|
||||||
Affiche le nom de fichier dans l'OSD.
|
Affiche le nom de fichier dans l'OSD.
|
||||||
.IPs "! and @"
|
.IPs "! and @"
|
||||||
Saute au début du chapitre précédant/suivant.
|
Saute au début du chapitre précédent/suivant.
|
||||||
.IPs "D (\-vo xvmc, \-vf yadif et \-vf kerndeint uniquement)"
|
.IPs "D (\-vo xvmc, \-vf yadif et \-vf kerndeint uniquement)"
|
||||||
Active/désactive le désentrelacement.
|
Active/désactive le désentrelacement.
|
||||||
.IPs "A"
|
.IPs "A"
|
||||||
Bascule entre les angles du DVD disponibles.
|
Bascule entre les angles disponibles du DVD.
|
||||||
.RE
|
.RE
|
||||||
.PD 1
|
.PD 1
|
||||||
.PP
|
.PP
|
||||||
@ -321,7 +320,7 @@ Ajuste le contraste.
|
|||||||
.IPs "3 et 4"
|
.IPs "3 et 4"
|
||||||
Ajuste la luminosité.
|
Ajuste la luminosité.
|
||||||
.IPs "5 et 6"
|
.IPs "5 et 6"
|
||||||
Ajuste la couleur.
|
Ajuste la teinte.
|
||||||
.IPs "7 et 8"
|
.IPs "7 et 8"
|
||||||
Ajuste la saturation.
|
Ajuste la saturation.
|
||||||
.RE
|
.RE
|
||||||
@ -378,8 +377,8 @@ Navigue en arri
|
|||||||
.
|
.
|
||||||
.PP
|
.PP
|
||||||
.RS
|
.RS
|
||||||
(Les touches suivantes ne sont valides uniquement si MPlayer a été
|
(Les touches suivantes sont valides uniquement si MPlayer a été
|
||||||
compilé avec le support de la GUI et ont une priorité supérieure à celles
|
compilé avec le support de la GUI et si elles ont une priorité supérieure à celles
|
||||||
définies plus haut dans ce document.)
|
définies plus haut dans ce document.)
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
@ -405,14 +404,14 @@ Ouvre la fen
|
|||||||
.PP
|
.PP
|
||||||
.RS
|
.RS
|
||||||
(Les touches suivantes ne sont valides que si MPlayer a été
|
(Les touches suivantes ne sont valides que si MPlayer a été
|
||||||
compilé avec le support de l'entrée TV ou DVB et ont une priorité
|
compilé avec le support de l'entrée TV ou DVB et si elles ont une priorité
|
||||||
supérieure à celles définies plus haut dans ce document.)
|
supérieure à celles définies plus haut dans ce document.)
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.PD 0
|
.PD 0
|
||||||
.RS
|
.RS
|
||||||
.IPs "h et k"
|
.IPs "h et k"
|
||||||
Sélectionne le canal précédent/\:prochain.
|
Sélectionne le canal précédent/\:suivant.
|
||||||
.IPs n
|
.IPs n
|
||||||
Change de norme.
|
Change de norme.
|
||||||
.IPs u
|
.IPs u
|
||||||
@ -431,7 +430,7 @@ navigation dans les menus).
|
|||||||
.IPs "touche 8"
|
.IPs "touche 8"
|
||||||
Bouton haut.
|
Bouton haut.
|
||||||
.IPs "touche 2"
|
.IPs "touche 2"
|
||||||
Bouton du bas.
|
Bouton bas.
|
||||||
.IPs "touche 4"
|
.IPs "touche 4"
|
||||||
Bouton gauche.
|
Bouton gauche.
|
||||||
.IPs "touche 6"
|
.IPs "touche 6"
|
||||||
@ -439,7 +438,7 @@ Bouton droit.
|
|||||||
.IPs "touche 5"
|
.IPs "touche 5"
|
||||||
Retourne au menu principal.
|
Retourne au menu principal.
|
||||||
.IPs "touche 7"
|
.IPs "touche 7"
|
||||||
Retourne au menu le plus près (dans l'ordre: chapitre->titre->racine).
|
Retourne au menu le plus proche (dans l'ordre: chapitre->titre->racine).
|
||||||
.IPs "touche ENTRÉE"
|
.IPs "touche ENTRÉE"
|
||||||
Confirme le choix.
|
Confirme le choix.
|
||||||
.RE
|
.RE
|
||||||
@ -456,9 +455,9 @@ le t
|
|||||||
.PD 0
|
.PD 0
|
||||||
.RS
|
.RS
|
||||||
.IPs "X\ \ \ \ "
|
.IPs "X\ \ \ \ "
|
||||||
Bascule entre le télétexte activé ou désactivé.
|
Active/\:désactive le télétexte.
|
||||||
.IPs "Q at W"
|
.IPs "Q at W"
|
||||||
Aller à la page télétexte suivante/précédente.
|
Va à la page télétexte suivante/précédente.
|
||||||
.RE
|
.RE
|
||||||
.PD 1
|
.PD 1
|
||||||
.PP
|
.PP
|
||||||
@ -485,7 +484,7 @@ Navigue en arri
|
|||||||
.IPs "haut et bas"
|
.IPs "haut et bas"
|
||||||
Navigue en avant/\:arrière d'une minute.
|
Navigue en avant/\:arrière d'une minute.
|
||||||
.IPs "bouton 1"
|
.IPs "bouton 1"
|
||||||
pause
|
Met en pause.
|
||||||
.IPs "bouton 2"
|
.IPs "bouton 2"
|
||||||
Alterne entre les états de l'OSD\ : rien / navigation / navigation + temps
|
Alterne entre les états de l'OSD\ : rien / navigation / navigation + temps
|
||||||
écoulé / navigation + temps écoulé + temps total.
|
écoulé / navigation + temps écoulé + temps total.
|
||||||
@ -505,7 +504,7 @@ Chaque option a son oppos
|
|||||||
\-fs est \-nofs.
|
\-fs est \-nofs.
|
||||||
.PP
|
.PP
|
||||||
Si une option est documentée comme (XXX uniquement), cela veut dire
|
Si une option est documentée comme (XXX uniquement), cela veut dire
|
||||||
qu'elle ne fonctionnera uniquement si vous activez l'option XXX ou
|
qu'elle fonctionnera uniquement si vous activez l'option XXX ou
|
||||||
que XXX a été compilé dans MPlayer.
|
que XXX a été compilé dans MPlayer.
|
||||||
.PP
|
.PP
|
||||||
.I NOTE\ :
|
.I NOTE\ :
|
||||||
@ -542,7 +541,7 @@ Les options du fichier utilisateur ont priorit
|
|||||||
global, et les options données sur la ligne de commande ont priorité sur tous
|
global, et les options données sur la ligne de commande ont priorité sur tous
|
||||||
les fichiers.
|
les fichiers.
|
||||||
La syntaxe des fichiers de configuration est 'option=<valeur>', tout ce qui
|
La syntaxe des fichiers de configuration est 'option=<valeur>', tout ce qui
|
||||||
suit un '#' est considéré comme commentaire.
|
suit un '#' est considéré comme un commentaire.
|
||||||
Les options qui nécessitent des valeurs peuvent être activées en les
|
Les options qui nécessitent des valeurs peuvent être activées en les
|
||||||
initialisant à 'yes' ou '1' ou désactivées en les initialisant à 'no'
|
initialisant à 'yes' ou '1' ou désactivées en les initialisant à 'no'
|
||||||
ou '0'.
|
ou '0'.
|
||||||
@ -575,7 +574,7 @@ vf=eq2=1.0:\-0.8
|
|||||||
.I "EXEMPLE DE FICHIER DE CONFIGURATION MENCODER :"
|
.I "EXEMPLE DE FICHIER DE CONFIGURATION MENCODER :"
|
||||||
.sp 1
|
.sp 1
|
||||||
.nf
|
.nf
|
||||||
# Fait MEncoder écrire dans un certain fichier par défaut.
|
# Fait écrire MEncoder dans un certain fichier par défaut.
|
||||||
o=encoded.avi
|
o=encoded.avi
|
||||||
# Les 4 lignes suivantes permettant à mencoder tv:// de capturer immédiatement.
|
# Les 4 lignes suivantes permettant à mencoder tv:// de capturer immédiatement.
|
||||||
oac=pcm=yes
|
oac=pcm=yes
|
||||||
@ -661,7 +660,7 @@ lavcopts=mbd=2:trell=yes:v4mv=yes
|
|||||||
.TP
|
.TP
|
||||||
.B \-codecs\-file <nomfichier> (voir aussi \-afm, \-ac, \-vfm et \-vc)
|
.B \-codecs\-file <nomfichier> (voir aussi \-afm, \-ac, \-vfm et \-vc)
|
||||||
Change le chemin de recherche standard et utilise le fichier donné en
|
Change le chemin de recherche standard et utilise le fichier donné en
|
||||||
paramètre au lieu du fichier codecs.conf inclus dans MPlayer
|
paramètre au lieu du fichier codecs.conf inclus dans MPlayer.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-include <fichier de configuration>
|
.B \-include <fichier de configuration>
|
||||||
@ -673,7 +672,7 @@ Affiche toutes les options disponibles.
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-msgcharset <charset>
|
.B \-msgcharset <charset>
|
||||||
Convertit les messages consoles à la l'ensemble de caractères spécifié
|
Convertit les messages consoles à l'ensemble de caractères spécifié
|
||||||
(par défaut\ : auto-détection).
|
(par défaut\ : auto-détection).
|
||||||
Le texte sera alors dans l'encodage défini par l'option du script configure
|
Le texte sera alors dans l'encodage défini par l'option du script configure
|
||||||
\-\-charset.
|
\-\-charset.
|
||||||
@ -681,8 +680,8 @@ La valeur "noconv" permet de d
|
|||||||
cas de problèmes avec iconv)\ ;
|
cas de problèmes avec iconv)\ ;
|
||||||
.br
|
.br
|
||||||
.I NOTE\ :
|
.I NOTE\ :
|
||||||
Ceci n'aura d'effet qu'après la ligne de commande aura été analysée,
|
Ceci n'aura d'effet qu'après que la ligne de commande aura été analysée,
|
||||||
La variable d'environnment MPLAYER_CHARSET vous permettra de ne plus subir
|
la variable d'environnment MPLAYER_CHARSET vous permettra de ne plus subir
|
||||||
la troncature des premières lignes affichées.
|
la troncature des premières lignes affichées.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
@ -697,7 +696,7 @@ Le module 'all' change le niveau de verbosit
|
|||||||
Tapez '\-msglevel help' pour avoir la liste de tous les modules.
|
Tapez '\-msglevel help' pour avoir la liste de tous les modules.
|
||||||
.br
|
.br
|
||||||
NOTE\ :
|
NOTE\ :
|
||||||
Certains messages sont affichés avant que la ligne de commande est
|
Certains messages sont affichés avant que la ligne de commande ne soit
|
||||||
analysée et ne sont par conséquent pas affectés par \-msglevel.
|
analysée et ne sont par conséquent pas affectés par \-msglevel.
|
||||||
Pour contrôler ces messages, vous devez utiliser la variable d'environnement
|
Pour contrôler ces messages, vous devez utiliser la variable d'environnement
|
||||||
MPLAYER_VERBOSE, voir sa description plus bas pour plus de détails.
|
MPLAYER_VERBOSE, voir sa description plus bas pour plus de détails.
|
||||||
@ -711,15 +710,14 @@ compl
|
|||||||
messages fatals
|
messages fatals
|
||||||
.IPs " 1"
|
.IPs " 1"
|
||||||
messages d'erreurs
|
messages d'erreurs
|
||||||
error messages
|
|
||||||
.IPs " 2"
|
.IPs " 2"
|
||||||
messages d'avertissement
|
messages d'avertissement
|
||||||
.IPs " 3"
|
.IPs " 3"
|
||||||
quelques conseils
|
messages de conseil
|
||||||
.IPs " 4"
|
.IPs " 4"
|
||||||
messages informatifs
|
messages informatifs
|
||||||
.IPs " 5"
|
.IPs " 5"
|
||||||
messages de status (par défaut)
|
messages de statut (par défaut)
|
||||||
.IPs " 6"
|
.IPs " 6"
|
||||||
messages verbeux
|
messages verbeux
|
||||||
.IPs " 7"
|
.IPs " 7"
|
||||||
@ -733,14 +731,14 @@ niveau de debug 4
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-msgmodule
|
.B \-msgmodule
|
||||||
Préfixe les messages console du nom du module concerné.
|
Préfixe les messages console avec le nom du module concerné.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-noconfig <options>
|
.B \-noconfig <options>
|
||||||
Ne tient pas compte des fichiers de configuration donnés.
|
Ne tient pas compte des fichiers de configuration donnés.
|
||||||
.br
|
.br
|
||||||
.I NOTE\ :
|
.I NOTE\ :
|
||||||
Si les options \-include ou \-use\-filedir\-conf sont donnés en ligne de commande,
|
Si les options \-include ou \-use\-filedir\-conf sont données en ligne de commande,
|
||||||
elles seront honorées.
|
elles seront honorées.
|
||||||
.sp 1
|
.sp 1
|
||||||
Les options disponibles sont\ :
|
Les options disponibles sont\ :
|
||||||
@ -759,15 +757,15 @@ la configuration de l'utilisateur
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B "\-quiet\ "
|
.B "\-quiet\ "
|
||||||
Avec cette option, la ligne d'état (c-a-d A: 0.7 V: 0.6 A-V: 0.068 ...) ne
|
Avec cette option, la ligne d'état (c-à-d A: 0.7 V: 0.6 A-V: 0.068 ...) ne
|
||||||
sera pas affichée.
|
sera pas affichée.
|
||||||
Cela est particulièrement utile sur les terminaux lents ou endommagés qui ne
|
Cela est particulièrement utile sur les terminaux lents ou endommagés qui ne
|
||||||
gèrent pas les retours chariot (c-a-d \\r).
|
gèrent pas les retours chariot (c-à-d \\r).
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-priority <prio> (Windows uniquement)
|
.B \-priority <prio> (Windows uniquement)
|
||||||
Définit le niveau de priorité de MPlayer suivant les priorités prédéfinies
|
Définit le niveau de priorité de MPlayer suivant les priorités prédéfinies
|
||||||
de disponibles sous Windows.
|
disponibles sous Windows.
|
||||||
Valeurs possibles de <prio>\ :
|
Valeurs possibles de <prio>\ :
|
||||||
.RSs
|
.RSs
|
||||||
idle|belownormal|normal|abovenormal|high|realtime
|
idle|belownormal|normal|abovenormal|high|realtime
|
||||||
@ -788,14 +786,14 @@ Affiche encore moins de messages d'
|
|||||||
Supprime aussi les boîtes de dialogue d'erreur de l'interface graphique.
|
Supprime aussi les boîtes de dialogue d'erreur de l'interface graphique.
|
||||||
.
|
.
|
||||||
.B \-show\-profile <profile>
|
.B \-show\-profile <profile>
|
||||||
Affiche la description et le contenu du profil donné..
|
Affiche la description et le contenu du profil donné.
|
||||||
.
|
.
|
||||||
.B \-use\-filedir\-conf
|
.B \-use\-filedir\-conf
|
||||||
Recherche un fichier de configuration spécifique au fichier joué
|
Recherche un fichier de configuration spécifique au fichier joué
|
||||||
dans le même répertoire que ce dernier.
|
dans le même répertoire que ce dernier.
|
||||||
.br
|
.br
|
||||||
.I ATTENTION\ :
|
.I ATTENTION\ :
|
||||||
Peut être dagereux si joué deuis des méias dans lequel vous ne
|
Peut être dangereux si joué depuis des média en lesquels vous ne
|
||||||
pouvez avoir confiance.
|
pouvez avoir confiance.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
@ -827,12 +825,12 @@ On peut souvent am
|
|||||||
vidéo irrégulier, mais qui peut-être lue avec \-nosound, en initialisant
|
vidéo irrégulier, mais qui peut-être lue avec \-nosound, en initialisant
|
||||||
cette option à une valeur entière supérieure à 1.
|
cette option à une valeur entière supérieure à 1.
|
||||||
Plus cette valeur sera élevée, plus le débit sera proche de \-nosound.
|
Plus cette valeur sera élevée, plus le débit sera proche de \-nosound.
|
||||||
Essayez \-autosync 30 pour faire disparaître les problèmes avec les drivers
|
Essayez \-autosync 30 pour faire disparaître les problèmes avec les pilotes
|
||||||
audio qui ne possèdent pas une mesure de décalage audio parfaite.
|
audio qui ne possèdent pas une mesure de décalage audio parfaite.
|
||||||
Avec cette valeur, si de larges écarts de synchro A/V se produisent, il ne
|
Avec cette valeur, si de larges écarts de synchro A/V se produisent, il ne
|
||||||
mettront qu'une seconde ou deux pour disparaître.
|
mettront qu'une seconde ou deux pour disparaître.
|
||||||
Ce temps de réaction devrait être le seul effet de bord si cette option est
|
Ce temps de réaction devrait être le seul effet de bord si cette option est
|
||||||
activée, pour tous les drivers audio.
|
activée, pour tous les pilotes audio.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-benchmark
|
.B \-benchmark
|
||||||
@ -865,7 +863,7 @@ uniquement.
|
|||||||
Bascule MPlayer dans un mode expérimental où les timestamps des trames vidéos
|
Bascule MPlayer dans un mode expérimental où les timestamps des trames vidéos
|
||||||
sont calculées différemment, et où les filtres qui ajoutent des trames ou modifient
|
sont calculées différemment, et où les filtres qui ajoutent des trames ou modifient
|
||||||
les timestamps sont supportés.
|
les timestamps sont supportés.
|
||||||
Les timestamps plus précises se ressentent par exemple lorsque vous regardez avec
|
Les timestamps plus précis se ressentent par exemple lorsque vous regardez avec
|
||||||
l'option \-ass une vidéo dont les sous-titres sont synchronisés avec un changement
|
l'option \-ass une vidéo dont les sous-titres sont synchronisés avec un changement
|
||||||
de scène.
|
de scène.
|
||||||
Sans l'option \-correct\-pts le timing des sous-titres est typiquement décalé de
|
Sans l'option \-correct\-pts le timing des sous-titres est typiquement décalé de
|
||||||
@ -891,7 +889,7 @@ MOUSE_BTN0\-MOUSE_BTN0_DBL.
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-edlout <nomfichier>
|
.B \-edlout <nomfichier>
|
||||||
Créé un nouveau fichier et y écrit les commandes d'édition de la liste
|
Crée un nouveau fichier et y écrit les commandes d'édition de la liste
|
||||||
de décision (EDL).
|
de décision (EDL).
|
||||||
Durant la lecture, la touche 'i' permet de marquer le début ou la fin d'un
|
Durant la lecture, la touche 'i' permet de marquer le début ou la fin d'un
|
||||||
bloc à sauter.
|
bloc à sauter.
|
||||||
@ -906,8 +904,8 @@ lieu de les jouer imm
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-fixed\-vo
|
.B \-fixed\-vo
|
||||||
Force l'initialistation d'une seule fenêtre vidéo pour la lecture d'une
|
Force l'initialisation d'une seule fenêtre vidéo pour la lecture d'une
|
||||||
série de de fichiers.
|
série de fichiers.
|
||||||
Actuellement les pilotes suivants fonctionnent avec fixed-vo: gl, gl2, mga,
|
Actuellement les pilotes suivants fonctionnent avec fixed-vo: gl, gl2, mga,
|
||||||
svga, x11, xmga, xv, xvidix et dfbmga.
|
svga, x11, xmga, xv, xvidix et dfbmga.
|
||||||
.
|
.
|
||||||
@ -916,9 +914,9 @@ svga, x11, xmga, xv, xvidix et dfbmga.
|
|||||||
Saute l'affichage de certaines trames pour maintenir la synchro A/V sur
|
Saute l'affichage de certaines trames pour maintenir la synchro A/V sur
|
||||||
les machines lentes.
|
les machines lentes.
|
||||||
Les filtres vidéo ne sont pas appliqués sur de telles trames.
|
Les filtres vidéo ne sont pas appliqués sur de telles trames.
|
||||||
Pour les trames-B même leur décodage est complètement désactivé.
|
Pour les trames-B, leur décodage est même complètement désactivé.
|
||||||
Notez que le décodeur libmpeg2 est particulièrement sujet à plantage
|
Notez que le décodeur libmpeg2 est particulièrement sujet à plantage
|
||||||
lorsque cette option est utilisée, ainsi vous devriez peut-être utiliser à
|
lorsque cette option est utilisée, ainsi devriez-vous peut-être utiliser à
|
||||||
la place "\-vc ffmpeg12,".
|
la place "\-vc ffmpeg12,".
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
@ -939,24 +937,24 @@ M
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-heartbeat\-cmd
|
.B \-heartbeat\-cmd
|
||||||
Commande exécutée via system() - càd via le shell - toutes les 30 secondes
|
Commande exécutée via system() - c-à-d via le shell - toutes les 30 secondes
|
||||||
lors de la lecture.
|
lors de la lecture.
|
||||||
.sp 1
|
.sp 1
|
||||||
.I NOTE\ :
|
.I NOTE\ :
|
||||||
MPlayer utilise cette commande sans aucune sorte de vérification, il est
|
MPlayer utilise cette commande sans aucune sorte de vérification, il est
|
||||||
donc de votre responsablité qu'elle ne pose pas de problème de sécurité
|
donc de votre responsablité qu'elle ne pose pas de problème de sécurité
|
||||||
(càd que vous devriez spécifier le chemin absolu, surtout si "." est dans
|
(c-à-d que vous devriez spécifier le chemin absolu, surtout si "." est dans
|
||||||
le chemin de recherche $PATH, comme c'est le cas sous Windows).
|
le chemin de recherche $PATH, comme c'est le cas sous Windows).
|
||||||
.sp 1
|
.sp 1
|
||||||
Ceci peut être "détourné" pour désactiver un reposeur d'écran ne gérant par
|
Ceci peut être "détourné" pour désactiver un économiseur d'écran ne gérant par
|
||||||
l'API de X prévu à cet effet.
|
l'API de X prévu à cet effet.
|
||||||
Si cela vous semble un peu trop compliqué, demandez à l'auteur du programme
|
Si cela vous semble un peu trop compliqué, demandez à l'auteur du programme
|
||||||
de reposeur d'écran de gérer l'API de X dédiée.
|
d'économiseur d'écran de gérer l'API de X dédiée.
|
||||||
.sp 1
|
.sp 1
|
||||||
.I EXEMPLE pour xscreensaver:
|
.I EXEMPLE pour xscreensaver:
|
||||||
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
|
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
|
||||||
.sp 1
|
.sp 1
|
||||||
.I EXEMPLE pour le reposeur d'écran de gnome:
|
.I EXEMPLE pour l'économiseur d'écran de gnome:
|
||||||
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
||||||
.RE
|
.RE
|
||||||
.PD 1
|
.PD 1
|
||||||
@ -989,39 +987,39 @@ syst
|
|||||||
Les chemins sont relatifs à ~/.mplayer/.
|
Les chemins sont relatifs à ~/.mplayer/.
|
||||||
.br
|
.br
|
||||||
.I NOTE:
|
.I NOTE:
|
||||||
La répétition automatique n'est pour l'instant géré que par les joysticks.
|
La répétition automatique n'est pour l'instant gérée que par les joysticks.
|
||||||
.sp 1
|
.sp 1
|
||||||
Les commandes disponibles sont:
|
Les commandes disponibles sont:
|
||||||
.sp 1
|
.sp 1
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
.IPs conf=<nom_fichier>
|
.IPs conf=<nom_fichier>
|
||||||
Défini le fichier de configuration pour les évènements d'entrée (input) au
|
Définit le fichier de configuration pour les évènements d'entrée (input) au
|
||||||
lieu de ~/\:.mplayer/\:input.conf par défaut.
|
lieu de ~/\:.mplayer/\:input.conf par défaut.
|
||||||
Si vous ne donnez pas le chemin absolu, il sera cherché à
|
Si vous ne donnez pas de chemin absolu, il sera cherché à
|
||||||
~/\:.mplayer/\:<nom_fichier>.
|
~/\:.mplayer/\:<nom_fichier>.
|
||||||
.IPs ar-dev=<peripherique>
|
.IPs ar-dev=<peripherique>
|
||||||
Périphérique à utiliser pour contrôler la télécommande Apple IR
|
Périphérique à utiliser pour contrôler la télécommande Apple IR
|
||||||
(auto-détecté par défaut, Linux uniquement).
|
(auto-détecté par défaut, Linux uniquement).
|
||||||
.IPs ar-delay
|
.IPs ar-delay
|
||||||
Temps en milli-secondes avant de démarrer la répétition automatique
|
Temps en millisecondes avant de démarrer la répétition automatique
|
||||||
d'une touche
|
d'une touche
|
||||||
(0 pour désactiver).
|
(0 pour désactiver).
|
||||||
.IPs ar-rate
|
.IPs ar-rate
|
||||||
Combien de frappes par seconde pendant la répétition automatique.
|
Combien de frappes par seconde pendant la répétition automatique.
|
||||||
.IPs keylist
|
.IPs keylist
|
||||||
Afficher toutes les touches pouvant être attachées.
|
Affiche toutes les touches pouvant être attachées.
|
||||||
.IPs cmdlist
|
.IPs cmdlist
|
||||||
Afficher toutes les commandes pouvant être attachées.
|
Affiche toutes les commandes pouvant être attachées.
|
||||||
.IPs js-dev
|
.IPs js-dev
|
||||||
Spécifier le périphérique joystick à utiliser (par défaut\ :
|
Spécifie le périphérique joystick à utiliser (par défaut\ :
|
||||||
/dev/\:input/\:js0).
|
/dev/\:input/\:js0).
|
||||||
.IPs file=<nom_fichier>
|
.IPs file=<nom_fichier>
|
||||||
Lit les commandes depuis un fichier donné.
|
Lit les commandes depuis un fichier donné.
|
||||||
Utile surtout avec une FIFO.
|
Utile surtout avec une FIFO.
|
||||||
.br
|
.br
|
||||||
.I NOTE:
|
.I NOTE:
|
||||||
Quand le fichier indiqué est un FIFO MPlayer ouvre chaque extrémité
|
Quand le fichier indiqué est une FIFO, MPlayer ouvre chaque extrémité
|
||||||
donc vous pouvez avoir plusieurs \'echo "seek 10" > mp_pipe\' et le pipe
|
donc vous pouvez avoir plusieurs \'echo "seek 10" > mp_pipe\' et le pipe
|
||||||
restera valide.
|
restera valide.
|
||||||
.RE
|
.RE
|
||||||
@ -10697,6 +10695,28 @@ fichier de CQM au format JM, et de le charger comme pr
|
|||||||
.RE
|
.RE
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
.B aq_mode=<0\-2>
|
||||||
|
Ajuste comment la quantification adaptative (AQ) distribue les bits:
|
||||||
|
.PD 0
|
||||||
|
.RSs
|
||||||
|
.IPs 0
|
||||||
|
désactivé
|
||||||
|
.IPs 1
|
||||||
|
Évite de déplacer des bits entre les trames.
|
||||||
|
.IPs 2
|
||||||
|
Déplace des bits entre les trames (par défaut).
|
||||||
|
.RE
|
||||||
|
.PD 1
|
||||||
|
.
|
||||||
|
.TP
|
||||||
|
.B aq_strength=<valeur flottante positive>
|
||||||
|
Contrôle à quel point la quantification adaptative (AQ) peut réduire les
|
||||||
|
effets de "blocking" et de flou dans les zones uniformes ou texturées (par
|
||||||
|
défaut\ : 1.0).
|
||||||
|
Une valeur de 0.5 conduira à une faible AQ, et moins de détails, tandis
|
||||||
|
qu'une valeur de 1.5 conduira à une forte AQ, et plus de détails.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
.B cqm=<flat|jvt|<nom_fichier>>
|
.B cqm=<flat|jvt|<nom_fichier>>
|
||||||
Utilise soit une matrice de quantification personnalisée (CQM) prédéfinie
|
Utilise soit une matrice de quantification personnalisée (CQM) prédéfinie
|
||||||
ou en charge une au format JM depuis un fichier.
|
ou en charge une au format JM depuis un fichier.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" sync with en/mplayer.1 r26460
|
.\" sync with en/mplayer.1 r26909
|
||||||
.\" Encoding: UTF-8
|
.\" Encoding: UTF-8
|
||||||
.\" Reminder of hard terms which need better/final solution later:
|
.\" Reminder of hard terms which need better/final solution later:
|
||||||
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
|
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
|
||||||
@ -162,7 +162,7 @@ tivo://主机/[list|llist|fsid]
|
|||||||
通过许多原生的和可执行的编解码器的支持, 它能播放绝大部分的 MPEG/\:VOB, AVI,
|
通过许多原生的和可执行的编解码器的支持, 它能播放绝大部分的 MPEG/\:VOB, AVI,
|
||||||
ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo,
|
ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo,
|
||||||
yuv4mpeg, FILM 和 RoQ 文件。
|
yuv4mpeg, FILM 和 RoQ 文件。
|
||||||
你还能观看 VCD, SVCD, DVD, 3ivx, DivX 3/4/5, 甚至 WMV 电影。
|
你还能观看 VCD、SVCD、DVD、3ivx、DivX 3/4/5、WMV 甚至 H.264 格式的电影。
|
||||||
.PP
|
.PP
|
||||||
MPlayer 广泛地支持音视频输出驱动。
|
MPlayer 广泛地支持音视频输出驱动。
|
||||||
它不仅可以使用 X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
|
它不仅可以使用 X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
|
||||||
@ -235,6 +235,8 @@ MPlayer 有个完全可配置的, 命令驱动的控制层,
|
|||||||
按一下暂停回放, 每按一下就播放一帧(直到按其它键取消步进)。
|
按一下暂停回放, 每按一下就播放一帧(直到按其它键取消步进)。
|
||||||
.IPs "q / ESC"
|
.IPs "q / ESC"
|
||||||
停止播放和退出。
|
停止播放和退出。
|
||||||
|
.IPs "U\ \ \ \ "
|
||||||
|
暂停播放(并且当未使用 \-idle 时退出)。
|
||||||
.IPs "+ 和 \-"
|
.IPs "+ 和 \-"
|
||||||
调整音频延迟增加/减少 0.1 秒。
|
调整音频延迟增加/减少 0.1 秒。
|
||||||
.IPs "/ 和 *"
|
.IPs "/ 和 *"
|
||||||
@ -900,6 +902,8 @@ mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
|||||||
.IPs conf=<文件名>
|
.IPs conf=<文件名>
|
||||||
指定输入配置文件而不是默认的 ~/\:.mplayer/\:input.conf。
|
指定输入配置文件而不是默认的 ~/\:.mplayer/\:input.conf。
|
||||||
如果没有给出完全路径名, 将假设是 ~/\:.mplayer/\:<文件名>。
|
如果没有给出完全路径名, 将假设是 ~/\:.mplayer/\:<文件名>。
|
||||||
|
.IPs ar-dev=<设备>
|
||||||
|
用作为苹果 IR 遥控器的设置(默认值是自动侦测,仅用于 Linux)。
|
||||||
.IPs ar-delay
|
.IPs ar-delay
|
||||||
在开始自动重复一个键之前等待多少毫秒 (0 代表停用)。
|
在开始自动重复一个键之前等待多少毫秒 (0 代表停用)。
|
||||||
.IPs ar-rate
|
.IPs ar-rate
|
||||||
@ -998,6 +1002,10 @@ n 大小的 FIFO 能容纳 (n\-1) 缓冲事件。
|
|||||||
关闭支持 LIRC。
|
关闭支持 LIRC。
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-noar
|
||||||
|
关闭对于苹果 IR 遥控器的支持。
|
||||||
|
.
|
||||||
|
.TP
|
||||||
.B \-nomouseinput
|
.B \-nomouseinput
|
||||||
停用鼠标键 按/\:放 输入 (mozplayerxp 的上下文菜单依赖此选项)。
|
停用鼠标键 按/\:放 输入 (mozplayerxp 的上下文菜单依赖此选项)。
|
||||||
.
|
.
|
||||||
@ -1463,9 +1471,9 @@ IPv4 自动地作为备用。
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-psprobe <字节所在位置>
|
.B \-psprobe <字节所在位置>
|
||||||
当播放MPEG-PS流时,此选项让你设定你希望MPlayer查看多少字节以确认所要
|
当播放 MPEG-PS 或 MPEG-PES 流时,此选项让你设定你希望 MPlayer 查看多少字节以确认
|
||||||
使用的视频编/解码器。
|
所要使用的视频编/解码器。
|
||||||
在播放含有H.264流的EVO文件时需要此选项。
|
在播放含有 H.264 流的 EVO 或 VDR 文件时需要此选项。
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-pvr <选项1:选项2:...> (仅适用于 PVR)
|
.B \-pvr <选项1:选项2:...> (仅适用于 PVR)
|
||||||
@ -3125,6 +3133,8 @@ ggi 和 gl2 的都支持此功能。
|
|||||||
的 \-v 选项并注意开头有标签 [xv common] 的行。
|
的 \-v 选项并注意开头有标签 [xv common] 的行。
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
|
.IPs adaptor=<数值>
|
||||||
|
选择一个特定的 XVideo 适配器(请检查 xvinfo 的结果)。
|
||||||
.IPs port=<数值>
|
.IPs port=<数值>
|
||||||
选择指定的 XVideo 端口。
|
选择指定的 XVideo 端口。
|
||||||
.IPs ck=<cur|use|set>
|
.IPs ck=<cur|use|set>
|
||||||
@ -3358,14 +3368,23 @@ OpenGL 视频输出驱动, 简版。
|
|||||||
视频尺寸一定小于 OpenGL 实现的最大纹理尺寸。
|
视频尺寸一定小于 OpenGL 实现的最大纹理尺寸。
|
||||||
瞄准能与甚至最基本的 OpenGL 实现一起工作,
|
瞄准能与甚至最基本的 OpenGL 实现一起工作,
|
||||||
但也利用较新的扩展, 允许支持更多的色彩空间和直接渲染。
|
但也利用较新的扩展, 允许支持更多的色彩空间和直接渲染。
|
||||||
既然能对高清晰度提供
|
要获取最佳的速度,请尝试类似于
|
||||||
.B 大
|
.br
|
||||||
的提速, 请使用 \-dr 如果你的 OpenGL 实现能一同工作。
|
\-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
|
||||||
|
.br
|
||||||
|
的选项。
|
||||||
此代码执行极少的检测, 所以如果某个特性不工作,
|
此代码执行极少的检测, 所以如果某个特性不工作,
|
||||||
可能是因为你的卡或 OpenGL 实现不支持, 尽管连任何错误消息都没给你。
|
可能是因为你的卡或 OpenGL 实现不支持, 尽管连任何错误消息都没给你。
|
||||||
使用 glxinfo 或类似的工具以显示支持的 OpenGL 扩展。
|
使用 glxinfo 或类似的工具以显示支持的 OpenGL 扩展。
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
|
.IPs (no)ati\-hack
|
||||||
|
当使用了 PBO 时(当使用了 \-dr 或强制使用 \-pbo 时),AIT 驱动可能输出损坏的图像。
|
||||||
|
该选项修正这一问题,代价是多使用了一点内存。
|
||||||
|
.IPs (no)force\-pbo
|
||||||
|
总是使用 PBO 传输纹理,即使这需要额外的复制操作。
|
||||||
|
当前该选项对于 NVidia 驱动能提升一点速度,而对于 ATI 驱动则是大大提升。
|
||||||
|
可能需要 \-noslices 和 ati\-hack 子选项以使其正常工作。
|
||||||
.IPs (no)scaled-osd
|
.IPs (no)scaled-osd
|
||||||
当窗口大小改变时, 改变 OSD 的行为方式 (默认是: 停用)。
|
当窗口大小改变时, 改变 OSD 的行为方式 (默认是: 停用)。
|
||||||
启用时, 行为就像其他的视频输出驱动, 对固定大小的字体更好。
|
启用时, 行为就像其他的视频输出驱动, 对固定大小的字体更好。
|
||||||
@ -3499,8 +3518,9 @@ GL_ARB_fragment_shader!)。至少需要三个纹理单位。提供饱和度
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B "gl2\ \ \ \ "
|
.B "gl2\ \ \ \ "
|
||||||
OpenGL 视频输出驱动, 第二代。
|
OpenGL 视频输出驱动的修改版。
|
||||||
支持 OSD 和大于最大纹理尺寸的视频。
|
支持大于最大纹理尺寸的视频,但是缺少许多 GL 驱动的高级功能和优化选项,并且以后也
|
||||||
|
不大可能扩展功能。
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
.IPs (no)glfinish
|
.IPs (no)glfinish
|
||||||
@ -4164,6 +4184,8 @@ mplayer video.nut \-vf format=bgr15 \-vo tga
|
|||||||
如果 <宽度> 指定了, 就使用了低分辨率解码,
|
如果 <宽度> 指定了, 就使用了低分辨率解码,
|
||||||
只要视频的宽度宽过(is major than)或等于 <宽度>。
|
只要视频的宽度宽过(is major than)或等于 <宽度>。
|
||||||
.RE
|
.RE
|
||||||
|
.IPs "o\ \ \ \ "
|
||||||
|
FIXME:没有说明文档
|
||||||
.IPs "sb=<数值> (仅用于 MPEG-2)"
|
.IPs "sb=<数值> (仅用于 MPEG-2)"
|
||||||
跳过宏块底部的制定行数。
|
跳过宏块底部的制定行数。
|
||||||
.IPs "st=<数值> (仅用于 MPEG-2)"
|
.IPs "st=<数值> (仅用于 MPEG-2)"
|
||||||
@ -7236,7 +7258,7 @@ Windows Media Video, version 2(也就是WMV8)
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vqmin=<1\-31>
|
.B vqmin=<1\-31>
|
||||||
最低量化参数(第1/2阶段编码)
|
最低量化参数
|
||||||
.RSs
|
.RSs
|
||||||
.IPs 1
|
.IPs 1
|
||||||
不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263的质量会很差,
|
不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263的质量会很差,
|
||||||
@ -7286,7 +7308,7 @@ Lavc很少会使用低于vqmin值的量化参数。
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vqmax=<1\-31>
|
.B vqmax=<1\-31>
|
||||||
最大量化参数(第1/2阶段编码),10\-31应该是一个合理的范围(默认值:31)。
|
最大量化参数,10\-31应该是一个合理的范围(默认值:31)。
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B mbqmin=<1\-31>
|
.B mbqmin=<1\-31>
|
||||||
@ -7298,7 +7320,7 @@ Lavc很少会使用低于vqmin值的量化参数。
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vqdiff=<1\-31>
|
.B vqdiff=<1\-31>
|
||||||
连续的I或P帧之间最大的量化参数差别(第1/2阶段编码)(默认值:3)
|
连续的I或P帧之间最大的量化参数差别(默认值:3)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vmax_b_frames=<0\-4>
|
.B vmax_b_frames=<0\-4>
|
||||||
@ -7541,7 +7563,7 @@ huffyuv:
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vbitrate=<value>
|
.B vbitrate=<value>
|
||||||
指定比特率(第1/2阶段编码)(默认值:800)。
|
指定比特率(默认值:800)。
|
||||||
.br
|
.br
|
||||||
.I 警告:
|
.I 警告:
|
||||||
1kbit = 1000 bits
|
1kbit = 1000 bits
|
||||||
@ -7567,17 +7589,17 @@ vratetol在第二阶段编码中不应设得太大,否则当设置了vrc_(min|
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vrc_maxrate=<value>
|
.B vrc_maxrate=<value>
|
||||||
最大比特率,单位为kbit/\:sec(第1/2阶段编码)
|
最大比特率,单位为kbit/\:sec
|
||||||
(默认值:0,无限制)
|
(默认值:0,无限制)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vrc_minrate=<value>
|
.B vrc_minrate=<value>
|
||||||
最小比特率,单位为kbit/\:sec(第1/2阶段编码)
|
最小比特率,单位为kbit/\:sec
|
||||||
(默认值:0,无限制)
|
(默认值:0,无限制)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vrc_buf_size=<value>
|
.B vrc_buf_size=<value>
|
||||||
缓冲大小,单位为kbit(第1/2阶段编码)。
|
缓冲大小,单位为kbit。
|
||||||
在MPEG-1/2中该选项同时设置了vbv缓冲的大小,对于VCD请使用327,对于SVCD使用917,而
|
在MPEG-1/2中该选项同时设置了vbv缓冲的大小,对于VCD请使用327,对于SVCD使用917,而
|
||||||
DVD使用1835。
|
DVD使用1835。
|
||||||
.
|
.
|
||||||
@ -7601,19 +7623,19 @@ DVD使用1835。
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vb_qfactor=<\-31.0\-31.0>
|
.B vb_qfactor=<\-31.0\-31.0>
|
||||||
B帧和非B帧间的量化参数因数(第1/2阶段编码)(默认值1.25)
|
B帧和非B帧间的量化参数因数(默认值1.25)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vi_qfactor=<\-31.0\-31.0>
|
.B vi_qfactor=<\-31.0\-31.0>
|
||||||
I帧和非I帧间的量化参数因数(第1/2阶段编码)(默认值0.8)
|
I帧和非I帧间的量化参数因数(默认值0.8)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vb_qoffset=<\-31.0\-31.0>
|
.B vb_qoffset=<\-31.0\-31.0>
|
||||||
B帧和非B帧间的量化参数偏移量(第1/2阶段编码)(默认值1.25)
|
B帧和非B帧间的量化参数偏移量(默认值1.25)
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vi_qoffset=<\-31.0\-31.0>
|
.B vi_qoffset=<\-31.0\-31.0>
|
||||||
(第1/2阶段编码)(默认值0.0)
|
(默认值0.0)
|
||||||
.br
|
.br
|
||||||
如果v{b|i}_qfactor > 0
|
如果v{b|i}_qfactor > 0
|
||||||
.br
|
.br
|
||||||
@ -7648,7 +7670,7 @@ lmin= <I/P帧量化参数>:lmax= <I/P帧量化参数>:vb_qfactor= <B帧量化参
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vqcomp=<0.0\-1.0>
|
.B vqcomp=<0.0\-1.0>
|
||||||
量化参数压缩,vrc_eq选项依赖于该选项(第1/2阶段编码)(默认值:0.5)。
|
量化参数压缩,vrc_eq选项依赖于该选项(默认值:0.5)。
|
||||||
例如,假设使用了默认的码率控制方程式,如果vqcomp=1.0,那么码率控制过程中将分配给
|
例如,假设使用了默认的码率控制方程式,如果vqcomp=1.0,那么码率控制过程中将分配给
|
||||||
每个帧足够的比特数,以使它们在同一个量化参数下编码。
|
每个帧足够的比特数,以使它们在同一个量化参数下编码。
|
||||||
如果vqcomp=0.0,那么码率控制中将分配给每个帧相同的比特数,也就是严格的CBR模式。
|
如果vqcomp=0.0,那么码率控制中将分配给每个帧相同的比特数,也就是严格的CBR模式。
|
||||||
@ -7658,7 +7680,7 @@ lmin= <I/P帧量化参数>:lmax= <I/P帧量化参数>:vb_qfactor= <B帧量化参
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vrc_eq=<equation>
|
.B vrc_eq=<equation>
|
||||||
主码率控制方程式(第1/2阶段编码)
|
主码率控制方程式
|
||||||
.RE
|
.RE
|
||||||
.RSs
|
.RSs
|
||||||
.IPs "1\ \ \ \ "
|
.IPs "1\ \ \ \ "
|
||||||
@ -7731,7 +7753,7 @@ B帧中的平均非内部纹理复杂度
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vrc_override=<options>
|
.B vrc_override=<options>
|
||||||
用户指定的针于影片特定部分(尾声、演职员表……)的质量值(第1/2阶段编码)。
|
用户指定的针于影片特定部分(尾声、演职员表……)的质量值。
|
||||||
选项有<start-frame>、<end-frame>、<quality>[/<start-frame>,
|
选项有<start-frame>、<end-frame>、<quality>[/<start-frame>,
|
||||||
<end-frame>, <quality>[/...]]:
|
<end-frame>, <quality>[/...]]:
|
||||||
.PD 0
|
.PD 0
|
||||||
@ -7753,7 +7775,7 @@ B帧中的平均非内部纹理复杂度
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vqsquish=<0|1>
|
.B vqsquish=<0|1>
|
||||||
指定如何使量化参数保持在qmin和qmax之间(第1/2阶段编码)。
|
指定如何使量化参数保持在qmin和qmax之间。
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
.IPs 0
|
.IPs 0
|
||||||
@ -8481,6 +8503,10 @@ FIXME:为这个选项写说明文档。
|
|||||||
.B skip_threshold=<0\-1000000>
|
.B skip_threshold=<0\-1000000>
|
||||||
FIXME:为这个选项写说明文档。
|
FIXME:为这个选项写说明文档。
|
||||||
.
|
.
|
||||||
|
.TP
|
||||||
|
.B "o\ \ \ \ \ \ "
|
||||||
|
FIXME:没有说明文档
|
||||||
|
.
|
||||||
.
|
.
|
||||||
.SS nuv(\-nuvopts)
|
.SS nuv(\-nuvopts)
|
||||||
.
|
.
|
||||||
@ -9440,6 +9466,25 @@ denoise3d或hqdn3d之类的视频滤镜来滤除噪声。
|
|||||||
有用值的范围是<\-2\-2>(默认值:0)。
|
有用值的范围是<\-2\-2>(默认值:0)。
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
.B aq_mode=<0\-2>
|
||||||
|
定议自适应量化模式(AQ)如何分配比特:
|
||||||
|
.PD 0
|
||||||
|
.RSs
|
||||||
|
.IPs 0
|
||||||
|
禁用
|
||||||
|
.IPs 1
|
||||||
|
避免在帧间转移比特。
|
||||||
|
.IPs 2
|
||||||
|
在帧间转移比特(依据默认方式)。
|
||||||
|
.RE
|
||||||
|
.PD 1
|
||||||
|
.
|
||||||
|
.TP
|
||||||
|
.B aq_strength=<positive float value>
|
||||||
|
控制自适应量化模式(AQ)在平坦和有纹理的区域能减少多少块效应和模糊(默认值:1.0)。
|
||||||
|
值为 0.5 将导致较弱的 AQ 和较少的细节,而值为 1.5 则能产生较强的 AQ 和更多的细节。
|
||||||
|
.
|
||||||
|
.TP
|
||||||
.B cqm=<flat|jvt|<filename>>
|
.B cqm=<flat|jvt|<filename>>
|
||||||
要么使用一个预先定义好的自定义量化矩阵,要么加一个JM格式的矩阵文件。
|
要么使用一个预先定义好的自定义量化矩阵,要么加一个JM格式的矩阵文件。
|
||||||
.PD 0
|
.PD 0
|
||||||
@ -9714,6 +9759,10 @@ PAL至NTSC的电视图像化处理
|
|||||||
强制使用一个特定的 libav 格式库的分离器。
|
强制使用一个特定的 libav 格式库的分离器。
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
.B "o\ \ \ \ \ \ "
|
||||||
|
FIXME:没有说明文档
|
||||||
|
.
|
||||||
|
.TP
|
||||||
.B probesize=<value>
|
.B probesize=<value>
|
||||||
在侦测阶段所探测的最大数据量。
|
在侦测阶段所探测的最大数据量。
|
||||||
在MPEG-TS的情况下,这个值指定了所扫描TS包的最大个数。
|
在MPEG-TS的情况下,这个值指定了所扫描TS包的最大个数。
|
||||||
@ -9785,6 +9834,10 @@ Sony 数字视频容器格式
|
|||||||
当前只对MPEG[12]有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解
|
当前只对MPEG[12]有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解
|
||||||
码时间戳(DTS)间的初始差距(流分离至解码间的延迟)。
|
码时间戳(DTS)间的初始差距(流分离至解码间的延迟)。
|
||||||
.
|
.
|
||||||
|
.TP
|
||||||
|
.B "o\ \ \ \ \ \ "
|
||||||
|
FIXME:没有说明文档
|
||||||
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.\" --------------------------------------------------------------------------
|
.\" --------------------------------------------------------------------------
|
||||||
|
@ -306,7 +306,6 @@ II. POLICY / RULES:
|
|||||||
- changes to "historical" parts of docs and web pages
|
- changes to "historical" parts of docs and web pages
|
||||||
- use of internal or external libraries
|
- use of internal or external libraries
|
||||||
- reverting commits from other developers
|
- reverting commits from other developers
|
||||||
- mixing functional and cosmetic changes
|
|
||||||
- making the spelling of words consistent without actually correcting
|
- making the spelling of words consistent without actually correcting
|
||||||
any spelling errors.
|
any spelling errors.
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ efficient as <application>MPlayer</application>'s.
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Using <application>MPlayer</application> with a properly written audio
|
Using <application>MPlayer</application> with a properly written audio
|
||||||
driver will never result in A/V desyncs related to the audio, except
|
driver will never result in A/V desynchronisation related to the audio, except
|
||||||
only with very badly created files (check the man page for workarounds).
|
only with very badly created files (check the man page for workarounds).
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ we request and follow the instructions in this document closely.
|
|||||||
|
|
||||||
|
|
||||||
<sect1 id="bugreports_security">
|
<sect1 id="bugreports_security">
|
||||||
<title>Report security releated bugs</title>
|
<title>Report security related bugs</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In case you have found an exploitable bug and you would like to do the
|
In case you have found an exploitable bug and you would like to do the
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
<!-- ********** -->
|
<!-- ********** -->
|
||||||
|
|
||||||
<sect2 id="bugs-delay-specific">
|
<sect2 id="bugs-delay-specific">
|
||||||
<title>Audio delay/de-sync specific to one or a few files</title>
|
<title>Audio delay/desync specific to one or a few files</title>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -222,11 +222,11 @@ form 1 and 2 tracks:
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
The first track is in mode 2 form 2 format which means it uses L2
|
The first track is in mode 2 form 2 format which means it uses L2
|
||||||
error correction. The track contains an ISO-9660 filesystem with 2048
|
error correction. The track contains an ISO-9660 file system with 2048
|
||||||
bytes/sector. This filesystem contains VCD metadata information, as
|
bytes/sector. This file system contains VCD metadata information, as
|
||||||
well as still frames often used in menus. MPEG segments for menus can
|
well as still frames often used in menus. MPEG segments for menus can
|
||||||
also be stored in this first track, but the MPEGs have to be broken up
|
also be stored in this first track, but the MPEGs have to be broken up
|
||||||
into a series of 150-sector chunks. The ISO-9660 filesystem may
|
into a series of 150-sector chunks. The ISO-9660 file system may
|
||||||
contain other files or programs that are not essential for VCD
|
contain other files or programs that are not essential for VCD
|
||||||
operation.
|
operation.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
@ -238,7 +238,7 @@ form 1 and 2 tracks:
|
|||||||
sector at the loss of some error correction. It is also legal to have
|
sector at the loss of some error correction. It is also legal to have
|
||||||
CD-DA tracks in a VCD after the first track as well.
|
CD-DA tracks in a VCD after the first track as well.
|
||||||
On some operating systems there is some trickery that goes on to make
|
On some operating systems there is some trickery that goes on to make
|
||||||
these non-ISO-9660 tracks appear in a filesystem. On other operating
|
these non-ISO-9660 tracks appear in a file system. On other operating
|
||||||
systems like GNU/Linux this is not the case (yet). Here the MPEG data
|
systems like GNU/Linux this is not the case (yet). Here the MPEG data
|
||||||
<emphasis role="bold">cannot be mounted</emphasis>. As most movies are
|
<emphasis role="bold">cannot be mounted</emphasis>. As most movies are
|
||||||
inside this kind of track, you should try <option>vcd://2</option>
|
inside this kind of track, you should try <option>vcd://2</option>
|
||||||
@ -246,7 +246,7 @@ form 1 and 2 tracks:
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
There exist VCD disks without the first track (single track and no filesystem
|
There exist VCD disks without the first track (single track and no file system
|
||||||
at all). They are still playable, but cannot be mounted.
|
at all). They are still playable, but cannot be mounted.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
|
||||||
@ -270,7 +270,7 @@ tracks (Windows does not allow raw device access to applications at all).
|
|||||||
Under Linux you cannot copy or play such files (they contain garbage). Under
|
Under Linux you cannot copy or play such files (they contain garbage). Under
|
||||||
Windows it is possible as its iso9660 driver emulates the raw reading of
|
Windows it is possible as its iso9660 driver emulates the raw reading of
|
||||||
tracks in this file. To play a .DAT file you need the kernel driver which can
|
tracks in this file. To play a .DAT file you need the kernel driver which can
|
||||||
be found in the Linux version of PowerDVD. It has a modified iso9660 filesystem
|
be found in the Linux version of PowerDVD. It has a modified iso9660 file system
|
||||||
(<filename>vcdfs/isofs-2.4.X.o</filename>) driver, which is able to emulate the
|
(<filename>vcdfs/isofs-2.4.X.o</filename>) driver, which is able to emulate the
|
||||||
raw tracks through this shadow .DAT file. If you mount the disc using their
|
raw tracks through this shadow .DAT file. If you mount the disc using their
|
||||||
driver, you can copy and even play .DAT files with
|
driver, you can copy and even play .DAT files with
|
||||||
|
@ -174,9 +174,7 @@ default as it offers better speed.
|
|||||||
<filename class="directory">/usr/local/include/</filename>.
|
<filename class="directory">/usr/local/include/</filename>.
|
||||||
</para></step>
|
</para></step>
|
||||||
<step><para>
|
<step><para>
|
||||||
Recompile <application>MPlayer</application> with
|
Recompile <application>MPlayer</application>.
|
||||||
<option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option>
|
|
||||||
<option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option>.
|
|
||||||
</para></step>
|
</para></step>
|
||||||
</procedure>
|
</procedure>
|
||||||
</sect2>
|
</sect2>
|
||||||
@ -283,7 +281,7 @@ but if you are interested in a brief overview, you may want to read
|
|||||||
<systemitem class="library">libavcodec</systemitem> has had at
|
<systemitem class="library">libavcodec</systemitem> has had at
|
||||||
least minimally usable H.264 decoding since around July 2004,
|
least minimally usable H.264 decoding since around July 2004,
|
||||||
however major changes and improvements have been implemented since
|
however major changes and improvements have been implemented since
|
||||||
that time, both in terms of more functionalities supported and in
|
that time, both in terms of more functionality supported and in
|
||||||
terms of improved CPU usage.
|
terms of improved CPU usage.
|
||||||
Just to be certain, it is always a good idea to use a recent Subversion
|
Just to be certain, it is always a good idea to use a recent Subversion
|
||||||
checkout.
|
checkout.
|
||||||
@ -384,7 +382,7 @@ satisfied the requirements for <systemitem class="library">x264</systemitem>.
|
|||||||
Voxware audio (using DirectShow DLL)
|
Voxware audio (using DirectShow DLL)
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
alaw and ulaw, various gsm, adpcm and pcm formats and other simple old
|
alaw and ulaw, various GSM, ADPCM and PCM formats and other simple old
|
||||||
audio codecs
|
audio codecs
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
|
@ -83,7 +83,7 @@ functional.
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
One important feature of MPGs is that they have a field to describe the
|
One important feature of MPEG files is that they have a field to describe the
|
||||||
aspect ratio of the video stream within. For example SVCDs have 480x480
|
aspect ratio of the video stream within. For example SVCDs have 480x480
|
||||||
resolution video, and in the header that field is set to 4:3, so that it is
|
resolution video, and in the header that field is set to 4:3, so that it is
|
||||||
played at 640x480. AVI files often lack this field, so they have to be
|
played at 640x480. AVI files often lack this field, so they have to be
|
||||||
@ -319,8 +319,8 @@ Return to Castle Wolfenstein.
|
|||||||
<title>OGG/OGM files</title>
|
<title>OGG/OGM files</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This is a new fileformat from
|
This is a new file format from the
|
||||||
<ulink url="http://www.xiph.org">Xiphophorus</ulink>.
|
<ulink url="http://www.xiph.org">Xiph.Org Foundation</ulink>.
|
||||||
It can contain any video or audio codec, CBR or VBR. You'll need
|
It can contain any video or audio codec, CBR or VBR. You'll need
|
||||||
<systemitem class="library">libogg</systemitem> and
|
<systemitem class="library">libogg</systemitem> and
|
||||||
<systemitem class="library">libvorbis</systemitem> installed before
|
<systemitem class="library">libvorbis</systemitem> installed before
|
||||||
@ -503,7 +503,7 @@ options to <application>cdparanoia</application>.
|
|||||||
<para>
|
<para>
|
||||||
<application>MPlayer</application> can use <application>XMMS</application> input
|
<application>MPlayer</application> can use <application>XMMS</application> input
|
||||||
plugins to play many file formats. There are plugins for SNES game tunes, SID
|
plugins to play many file formats. There are plugins for SNES game tunes, SID
|
||||||
tunes (from Commodore 64), many Amiga formats, .xm, .it, VQF, musepack, Bonk,
|
tunes (from Commodore 64), many Amiga formats, .xm, .it, VQF, Musepack, Bonk,
|
||||||
shorten and many others. You can find them at the
|
shorten and many others. You can find them at the
|
||||||
<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS input plugin page</ulink>.
|
<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS input plugin page</ulink>.
|
||||||
</para>
|
</para>
|
||||||
@ -512,10 +512,6 @@ shorten and many others. You can find them at the
|
|||||||
For this feature you need to have <application>XMMS</application> and compile
|
For this feature you need to have <application>XMMS</application> and compile
|
||||||
<application>MPlayer</application> with
|
<application>MPlayer</application> with
|
||||||
<filename>./configure --enable-xmms</filename>.
|
<filename>./configure --enable-xmms</filename>.
|
||||||
If that does not work, you might need to set the <application>XMMS</application>
|
|
||||||
plugin and library path explicitly by way of the
|
|
||||||
<option>--with-xmmsplugindir</option> and <option>--with-xmmslibdir</option>
|
|
||||||
options.
|
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -61,24 +61,22 @@ is a lot of valuable information to be found there.
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>MPlayer</application> is a movie player for Linux (runs on
|
<application>MPlayer</application> is a movie player for Linux (runs on
|
||||||
many other Unices, and <emphasis role="bold">non-x86</emphasis> CPUs, see
|
many other Unices, and non-x86 CPUs, see <xref linkend="ports"/>).
|
||||||
<xref linkend="ports"/>).
|
It plays most MPEG, VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM,
|
||||||
It plays most MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM,
|
|
||||||
NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska files, supported by
|
NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska files, supported by
|
||||||
many native, XAnim, RealPlayer, and Win32 DLL codecs. You can watch
|
many native, XAnim, RealPlayer, and Win32 DLL codecs. You can watch
|
||||||
<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</emphasis>,
|
Video CD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora,
|
||||||
and <emphasis role="bold">MPEG-4 (DivX)</emphasis> movies too. Another big
|
and MPEG-4 (DivX) movies, too. Another big
|
||||||
feature of <application>MPlayer</application> is the wide range of
|
feature of <application>MPlayer</application> is the wide range of
|
||||||
supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib,
|
supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib,
|
||||||
fbdev, AAlib, libcaca, DirectFB, but you can use GGI and SDL (and this way all
|
fbdev, AAlib, libcaca, DirectFB, but you can use GGI and SDL (and this way all
|
||||||
their drivers) and some lowlevel card-specific drivers (for Matrox, 3Dfx and
|
their drivers) and some low level card-specific drivers (for Matrox, 3Dfx and
|
||||||
Radeon, Mach64, Permedia3) too! Most of them support software or hardware
|
Radeon, Mach64, Permedia3) too! Most of them support software or hardware
|
||||||
scaling, so you can enjoy movies in fullscreen.
|
scaling, so you can enjoy movies in fullscreen.
|
||||||
<application>MPlayer</application> supports displaying through some
|
<application>MPlayer</application> supports displaying through some
|
||||||
hardware MPEG decoder boards, such as the <link linkend="dvb">DVB</link> and
|
hardware MPEG decoder boards, such as the <link linkend="dvb">DVB</link> and
|
||||||
<link linkend="dxr3">DXR3/Hollywood+</link>. And what about the nice big
|
<link linkend="dxr3">DXR3/Hollywood+</link>. And what about the nice big
|
||||||
antialiased shaded subtitles
|
antialiased shaded subtitles (14 supported types)
|
||||||
(<emphasis role="bold">14 supported types</emphasis>)
|
|
||||||
with European/ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic, Korean
|
with European/ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic, Korean
|
||||||
fonts, and the onscreen display (OSD)?
|
fonts, and the onscreen display (OSD)?
|
||||||
</para>
|
</para>
|
||||||
@ -98,19 +96,17 @@ video and audio manipulation.
|
|||||||
<application>MEncoder</application> (<application>MPlayer</application>'s Movie
|
<application>MEncoder</application> (<application>MPlayer</application>'s Movie
|
||||||
Encoder) is a simple movie encoder, designed to encode
|
Encoder) is a simple movie encoder, designed to encode
|
||||||
<application>MPlayer</application>-playable movies
|
<application>MPlayer</application>-playable movies
|
||||||
(<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
|
||||||
to other <application>MPlayer</application>-playable formats (see below).
|
to other <application>MPlayer</application>-playable formats (see below).
|
||||||
It can encode with various codecs, like
|
It can encode with various codecs, like MPEG-4 (DivX4)
|
||||||
<emphasis role="bold">MPEG-4 (DivX4)</emphasis>
|
|
||||||
(one or two passes), <systemitem class="library">libavcodec</systemitem>,
|
(one or two passes), <systemitem class="library">libavcodec</systemitem>,
|
||||||
<emphasis role="bold">PCM/MP3/VBR MP3</emphasis>
|
PCM/MP3/VBR MP3 audio.
|
||||||
audio.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<title><application>MEncoder</application> features</title>
|
<title><application>MEncoder</application> features</title>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Encoding from the wide range of fileformats and decoders of
|
Encoding from the wide range of file formats and decoders of
|
||||||
<application>MPlayer</application>
|
<application>MPlayer</application>
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
@ -118,7 +114,7 @@ audio.
|
|||||||
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Video encoding from <emphasis role="bold">V4L compatible TV tuners</emphasis>
|
Video encoding from V4L compatible TV tuners
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Encoding/multiplexing to interleaved AVI files with proper index
|
Encoding/multiplexing to interleaved AVI files with proper index
|
||||||
@ -130,10 +126,7 @@ audio.
|
|||||||
1, 2 or 3 pass encoding
|
1, 2 or 3 pass encoding
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
<emphasis role="bold">VBR</emphasis> MP3 audio
|
VBR MP3 audio
|
||||||
<important><para>
|
|
||||||
VBR MP3 audio doesn't always play nicely on windows players!
|
|
||||||
</para></important>
|
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
PCM audio
|
PCM audio
|
||||||
@ -142,7 +135,7 @@ audio.
|
|||||||
Stream copying
|
Stream copying
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Input A/V synchronizing (PTS-based, can be disabled with
|
Input A/V synchronizing (pts-based, can be disabled with
|
||||||
<option>-mc 0</option> option)
|
<option>-mc 0</option> option)
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
@ -151,10 +144,10 @@ audio.
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Using our very powerful filter system (crop, expand, flip, postprocess,
|
Using our very powerful filter system (crop, expand, flip, postprocess,
|
||||||
rotate, scale, rgb/yuv conversion)
|
rotate, scale, RGB/YUV conversion)
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Can encode DVD/VOBsub <emphasis role="bold">AND</emphasis> text subtitles
|
Can encode DVD/VOBsub and text subtitles
|
||||||
into the output file
|
into the output file
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
|
@ -457,7 +457,7 @@ the other for the blue-yellow axis).
|
|||||||
Even if your movie width and height are not multiples of 16, the
|
Even if your movie width and height are not multiples of 16, the
|
||||||
encoder will use enough 16x16 macroblocks to cover the whole picture
|
encoder will use enough 16x16 macroblocks to cover the whole picture
|
||||||
area, and the extra space will go to waste.
|
area, and the extra space will go to waste.
|
||||||
So in the interests of maximizing quality at a fixed filesize, it is
|
So in the interests of maximizing quality at a fixed file size, it is
|
||||||
a bad idea to use dimensions that are not multiples of 16.
|
a bad idea to use dimensions that are not multiples of 16.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -1212,7 +1212,7 @@ Again, it is a matter of putting those bits to better use: why waste them
|
|||||||
encoding noise when you can just add that noise back in during playback?
|
encoding noise when you can just add that noise back in during playback?
|
||||||
Increasing the parameters for <option>hqdn3d</option> will further
|
Increasing the parameters for <option>hqdn3d</option> will further
|
||||||
improve compressibility, but if you increase the values too much, you
|
improve compressibility, but if you increase the values too much, you
|
||||||
risk degrading the image visibily. The suggested values above
|
risk degrading the image visibly. The suggested values above
|
||||||
(<option>2:1:2</option>) are quite conservative; you should feel free to
|
(<option>2:1:2</option>) are quite conservative; you should feel free to
|
||||||
experiment with higher values and observe the results for yourself.
|
experiment with higher values and observe the results for yourself.
|
||||||
</para>
|
</para>
|
||||||
@ -1558,7 +1558,7 @@ to get proper sync.
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
You need to have <application>MEncoder</application> process the sound.
|
You need to have <application>MEncoder</application> process the sound.
|
||||||
You can for example copy the orignal soundtrack during the encode with
|
You can for example copy the original soundtrack during the encode with
|
||||||
<option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV
|
<option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV
|
||||||
PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
|
PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
|
||||||
Otherwise, in some cases, it will generate a video file that will not sync
|
Otherwise, in some cases, it will generate a video file that will not sync
|
||||||
@ -1571,11 +1571,11 @@ cut audio at these points.
|
|||||||
However <application>MPlayer</application> cannot do that, so if you
|
However <application>MPlayer</application> cannot do that, so if you
|
||||||
demux the AC-3 audio and encode it with a separate app (or dump it to PCM with
|
demux the AC-3 audio and encode it with a separate app (or dump it to PCM with
|
||||||
<application>MPlayer</application>), the splices will be left incorrect
|
<application>MPlayer</application>), the splices will be left incorrect
|
||||||
and the only way to correct them is to drop/dup video frames at the
|
and the only way to correct them is to drop/duplicate video frames at the
|
||||||
splice.
|
splice.
|
||||||
As long as <application>MEncoder</application> sees the audio when it is
|
As long as <application>MEncoder</application> sees the audio when it is
|
||||||
encoding the video, it can do this dropping/duping (which is usually OK
|
encoding the video, it can do this dropping/duping (which is usually OK
|
||||||
since it takes place at full black/scenechange), but if
|
since it takes place at full black/scene change), but if
|
||||||
<application>MEncoder</application> cannot see the audio, it will just
|
<application>MEncoder</application> cannot see the audio, it will just
|
||||||
process all frames as-is and they will not fit the final audio stream when
|
process all frames as-is and they will not fit the final audio stream when
|
||||||
you for example merge your audio and video track into a Matroska file.
|
you for example merge your audio and video track into a Matroska file.
|
||||||
@ -1830,7 +1830,7 @@ numbers to 60, 30, and 24.
|
|||||||
<para>
|
<para>
|
||||||
Strictly speaking, all those numbers are approximations. Black and
|
Strictly speaking, all those numbers are approximations. Black and
|
||||||
white NTSC video was exactly 60 fields per second, but 60000/1001
|
white NTSC video was exactly 60 fields per second, but 60000/1001
|
||||||
was later chosen to accomodate color data while remaining compatible
|
was later chosen to accommodate color data while remaining compatible
|
||||||
with contemporary black and white televisions. Digital NTSC video
|
with contemporary black and white televisions. Digital NTSC video
|
||||||
(such as on a DVD) is also 60000/1001 fields per second. From this,
|
(such as on a DVD) is also 60000/1001 fields per second. From this,
|
||||||
interlaced and telecined video are derived to be 30000/1001 frames
|
interlaced and telecined video are derived to be 30000/1001 frames
|
||||||
@ -2413,7 +2413,7 @@ duration/location of each type.
|
|||||||
It is safe to use <option>pullup</option> (along with <option>softskip
|
It is safe to use <option>pullup</option> (along with <option>softskip
|
||||||
</option>) on progressive video, and is usually a good idea unless
|
</option>) on progressive video, and is usually a good idea unless
|
||||||
the source has been definitively verified to be entirely progressive.
|
the source has been definitively verified to be entirely progressive.
|
||||||
The performace loss is small for most cases. On a bare-minimum encode,
|
The performance loss is small for most cases. On a bare-minimum encode,
|
||||||
<option>pullup</option> causes <application>MEncoder</application> to
|
<option>pullup</option> causes <application>MEncoder</application> to
|
||||||
be 50% slower. Adding sound processing and advanced <option>lavcopts
|
be 50% slower. Adding sound processing and advanced <option>lavcopts
|
||||||
</option> overshadows that difference, bringing the performance
|
</option> overshadows that difference, bringing the performance
|
||||||
@ -2877,7 +2877,7 @@ That would probably be nice, but unfortunately hard to implement as different
|
|||||||
encoding options yield different quality results depending on the source
|
encoding options yield different quality results depending on the source
|
||||||
material. That is because compression depends on the visual properties of the
|
material. That is because compression depends on the visual properties of the
|
||||||
video in question.
|
video in question.
|
||||||
For example, anime and live action have very different properties and
|
For example, Anime and live action have very different properties and
|
||||||
thus require different options to obtain optimum encoding.
|
thus require different options to obtain optimum encoding.
|
||||||
The good news is that some options should never be left out, like
|
The good news is that some options should never be left out, like
|
||||||
<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
|
<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
|
||||||
@ -2917,7 +2917,7 @@ See below for a detailed description of common encoding options.
|
|||||||
Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
|
Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
|
||||||
distortion).
|
distortion).
|
||||||
0 is fastest, and sufficient for precmp.
|
0 is fastest, and sufficient for precmp.
|
||||||
For cmp and subcmp, 2 is good for anime, and 3 is good for live action.
|
For cmp and subcmp, 2 is good for Anime, and 3 is good for live action.
|
||||||
6 may or may not be slightly better, but is slow.
|
6 may or may not be slightly better, but is slow.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
@ -2961,7 +2961,7 @@ See below for a detailed description of common encoding options.
|
|||||||
when the change in a block is less than the threshold you specify, and in
|
when the change in a block is less than the threshold you specify, and in
|
||||||
such a case, to just encode the block as "no change".
|
such a case, to just encode the block as "no change".
|
||||||
This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
|
This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
|
||||||
seem to be good for live movies, but seem not to help with anime;
|
seem to be good for live movies, but seem not to help with Anime;
|
||||||
when encoding animation, you should probably leave them unchanged.
|
when encoding animation, you should probably leave them unchanged.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
@ -2970,7 +2970,7 @@ See below for a detailed description of common encoding options.
|
|||||||
therefore this option comes with an overhead as more information will be
|
therefore this option comes with an overhead as more information will be
|
||||||
stored in the encoded file.
|
stored in the encoded file.
|
||||||
The compression gain/loss depends on the movie, but it is usually not very
|
The compression gain/loss depends on the movie, but it is usually not very
|
||||||
effective on anime.
|
effective on Anime.
|
||||||
qpel always incurs a significant cost in CPU decode time (+25% in
|
qpel always incurs a significant cost in CPU decode time (+25% in
|
||||||
practice).
|
practice).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
@ -3235,7 +3235,7 @@ this parameter (refer to the man page for the possible values) as
|
|||||||
different functions can have a large impact on quality depending on the
|
different functions can have a large impact on quality depending on the
|
||||||
source material. For example, if you find
|
source material. For example, if you find
|
||||||
<systemitem class="library">libavcodec</systemitem> produces too much
|
<systemitem class="library">libavcodec</systemitem> produces too much
|
||||||
blocky artifacting, you could try selecting the experimental NSSE as
|
blocky artifacts, you could try selecting the experimental NSSE as
|
||||||
comparison function via <option>*cmp=10</option>.
|
comparison function via <option>*cmp=10</option>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -3376,7 +3376,7 @@ the following section puzzles you.
|
|||||||
<listitem><para>
|
<listitem><para>
|
||||||
<emphasis role="bold">hq_ac</emphasis>
|
<emphasis role="bold">hq_ac</emphasis>
|
||||||
Activates a better coefficient cost estimation method, which slightly
|
Activates a better coefficient cost estimation method, which slightly
|
||||||
reduces filesize by around 0.15 to 0.19% (which corresponds to less
|
reduces file size by around 0.15 to 0.19% (which corresponds to less
|
||||||
than 0.01dB PSNR increase), while having a negligible impact on speed.
|
than 0.01dB PSNR increase), while having a negligible impact on speed.
|
||||||
It is therefore recommended to always leave it on.
|
It is therefore recommended to always leave it on.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
@ -3409,7 +3409,7 @@ the following section puzzles you.
|
|||||||
information into account, whereas <option>me_quality</option>
|
information into account, whereas <option>me_quality</option>
|
||||||
alone only uses luma (grayscale).
|
alone only uses luma (grayscale).
|
||||||
This slows down encoding by 5-10% but improves visual quality
|
This slows down encoding by 5-10% but improves visual quality
|
||||||
quite a bit by reducing blocking effects and reduces filesize by
|
quite a bit by reducing blocking effects and reduces file size by
|
||||||
around 1.3%.
|
around 1.3%.
|
||||||
If you are looking for speed, you should disable this option before
|
If you are looking for speed, you should disable this option before
|
||||||
starting to consider reducing <option>me_quality</option>.
|
starting to consider reducing <option>me_quality</option>.
|
||||||
@ -3703,7 +3703,7 @@ The following table shows what each profile supports.
|
|||||||
<entry>X</entry>
|
<entry>X</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Quaterpixel</entry>
|
<entry>Quarterpixel</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
@ -3986,7 +3986,7 @@ random differences in the achieved bitrate.
|
|||||||
quality: You will probably lose well under 0.1dB PSNR, which
|
quality: You will probably lose well under 0.1dB PSNR, which
|
||||||
should be much too small of a difference to see.
|
should be much too small of a difference to see.
|
||||||
However, different values of <option>frameref</option> can
|
However, different values of <option>frameref</option> can
|
||||||
occasionally affect frametype decision.
|
occasionally affect frame type decision.
|
||||||
Most likely, these are rare outlying cases, but if you want to
|
Most likely, these are rare outlying cases, but if you want to
|
||||||
be pretty sure, consider whether your video has either
|
be pretty sure, consider whether your video has either
|
||||||
fullscreen repetitive flashing patterns or very large temporary
|
fullscreen repetitive flashing patterns or very large temporary
|
||||||
@ -4070,7 +4070,7 @@ random differences in the achieved bitrate.
|
|||||||
The speed penalty of adaptive B-frames is currently rather modest,
|
The speed penalty of adaptive B-frames is currently rather modest,
|
||||||
but so is the potential quality gain.
|
but so is the potential quality gain.
|
||||||
It usually does not hurt, however.
|
It usually does not hurt, however.
|
||||||
Note that this only affects speed and frametype decision on the
|
Note that this only affects speed and frame type decision on the
|
||||||
first pass.
|
first pass.
|
||||||
<option>b_adapt</option> and <option>b_bias</option> have no
|
<option>b_adapt</option> and <option>b_bias</option> have no
|
||||||
effect on subsequent passes.
|
effect on subsequent passes.
|
||||||
@ -4149,7 +4149,7 @@ random differences in the achieved bitrate.
|
|||||||
which, in isolation, requires about 2500kbps in order to look decent.
|
which, in isolation, requires about 2500kbps in order to look decent.
|
||||||
Immediately following it is a much less demanding 60-second scene
|
Immediately following it is a much less demanding 60-second scene
|
||||||
that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
|
that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
|
||||||
that this is enough to accomodate both scenes. Single pass ratecontrol
|
that this is enough to accommodate both scenes. Single pass ratecontrol
|
||||||
will make a couple of "mistakes" in such a case. First of all, it
|
will make a couple of "mistakes" in such a case. First of all, it
|
||||||
will target 1400kbps in both segments. The first segment may end up
|
will target 1400kbps in both segments. The first segment may end up
|
||||||
heavily overquantized, causing it to look unacceptably and unreasonably
|
heavily overquantized, causing it to look unacceptably and unreasonably
|
||||||
@ -4196,7 +4196,7 @@ random differences in the achieved bitrate.
|
|||||||
pass will both read the statistics from the previous pass, and write
|
pass will both read the statistics from the previous pass, and write
|
||||||
its own statistics. An additional pass following this one will have
|
its own statistics. An additional pass following this one will have
|
||||||
a very good base from which to make highly accurate predictions of
|
a very good base from which to make highly accurate predictions of
|
||||||
framesizes at a chosen quantizer. In practice, the overall quality
|
frame sizes at a chosen quantizer. In practice, the overall quality
|
||||||
gain from this is usually close to zero, and quite possibly a third
|
gain from this is usually close to zero, and quite possibly a third
|
||||||
pass will result in slightly worse global PSNR than the pass before
|
pass will result in slightly worse global PSNR than the pass before
|
||||||
it. In typical usage, three passes help if you get either bad bitrate
|
it. In typical usage, three passes help if you get either bad bitrate
|
||||||
@ -4296,7 +4296,7 @@ random differences in the achieved bitrate.
|
|||||||
If your H.264 encodes look too blurry or smeared, try playing with
|
If your H.264 encodes look too blurry or smeared, try playing with
|
||||||
<option>-vf noise</option> when you play your encoded movie.
|
<option>-vf noise</option> when you play your encoded movie.
|
||||||
<option>-vf noise=8a:4a</option> should conceal most mild
|
<option>-vf noise=8a:4a</option> should conceal most mild
|
||||||
artifacting.
|
artifacts.
|
||||||
It will almost certainly look better than the results you
|
It will almost certainly look better than the results you
|
||||||
would have gotten just by fiddling with the deblocking filter.
|
would have gotten just by fiddling with the deblocking filter.
|
||||||
</para>
|
</para>
|
||||||
@ -4457,7 +4457,7 @@ if a codec fails or gives wrong output.
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>m3jpeg32.dll</entry>
|
<entry>m3jpeg32.dll</entry>
|
||||||
<entry>Morgan Motion JPEG Codec (MJPG)</entry>
|
<entry>Morgan Motion JPEG Codec (MJPEG)</entry>
|
||||||
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
|
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
</row>
|
</row>
|
||||||
@ -4828,7 +4828,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
|
<screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
|
||||||
mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
|
mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
|
||||||
|
|
||||||
The filenames are important; <application>mp4creator</application>
|
The file names are important; <application>mp4creator</application>
|
||||||
requires that AAC audio streams be named <systemitem>.aac</systemitem>
|
requires that AAC audio streams be named <systemitem>.aac</systemitem>
|
||||||
and H.264 video streams be named <systemitem>.h264</systemitem>.
|
and H.264 video streams be named <systemitem>.h264</systemitem>.
|
||||||
</para>
|
</para>
|
||||||
@ -5076,7 +5076,7 @@ The GOP size is set using the <option>keyint</option> option.
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
VCD video is required to be CBR at 1152 kbps.
|
VCD video is required to be CBR at 1152 kbps.
|
||||||
This highly limiting constraint also comes along with an extremly low vbv
|
This highly limiting constraint also comes along with an extremely low vbv
|
||||||
buffer size of 327 kilobits.
|
buffer size of 327 kilobits.
|
||||||
SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
|
SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
|
||||||
restrictive vbv buffer size of 917 kilobits is allowed.
|
restrictive vbv buffer size of 917 kilobits is allowed.
|
||||||
@ -5126,7 +5126,7 @@ DVD (with timestamps on every frame, if possible):
|
|||||||
DVD with NTSC Pullup:
|
DVD with NTSC Pullup:
|
||||||
<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
|
<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
|
||||||
This allows 24000/1001 fps progressive content to be encoded at 30000/1001
|
This allows 24000/1001 fps progressive content to be encoded at 30000/1001
|
||||||
fps whilst maintaing DVD-compliance.
|
fps whilst maintaining DVD-compliance.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
|
@ -831,7 +831,7 @@ What about DVD navigation/menus?
|
|||||||
architectural limitations that prevent proper handling of still images and
|
architectural limitations that prevent proper handling of still images and
|
||||||
interactive content. If you want to have fancy menus, you will have to use
|
interactive content. If you want to have fancy menus, you will have to use
|
||||||
another player like <application>xine</application>,
|
another player like <application>xine</application>,
|
||||||
<application>vlc</application> or <application>Ogle</application>.
|
<application>VLC</application> or <application>Ogle</application>.
|
||||||
If you want to see DVD navigation in <application>MPlayer</application> you
|
If you want to see DVD navigation in <application>MPlayer</application> you
|
||||||
will have to implement it yourself, but be aware that it is a major
|
will have to implement it yourself, but be aware that it is a major
|
||||||
undertaking.
|
undertaking.
|
||||||
|
@ -106,7 +106,7 @@ audio), even more stable than ever, and so on. It's a MUST!
|
|||||||
<para>
|
<para>
|
||||||
Hmm. Release again. Tons of new features, beta GUI version,
|
Hmm. Release again. Tons of new features, beta GUI version,
|
||||||
bugs fixed, new vo and ao drivers, ported to many systems, including
|
bugs fixed, new vo and ao drivers, ported to many systems, including
|
||||||
opensource DivX codecs and much more. Try it!
|
open source DivX codecs and much more. Try it!
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ opensource DivX codecs and much more. Try it!
|
|||||||
<emphasis role="bold"><application>MPlayer</application> 0.60 "The RTFMCounter"</emphasis>: Jan 3, 2002
|
<emphasis role="bold"><application>MPlayer</application> 0.60 "The RTFMCounter"</emphasis>: Jan 3, 2002
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
MOV/VIVO/RM/FLI/NUV fileformats support, native CRAM, Cinepak,
|
MOV/VIVO/RM/FLI/NUV file formats support, native CRAM, Cinepak,
|
||||||
ADPCM codecs, and support for XAnim's binary codecs; DVD subtitles support,
|
ADPCM codecs, and support for XAnim's binary codecs; DVD subtitles support,
|
||||||
first release of <application>MEncoder</application>, TV grabbing, cache,
|
first release of <application>MEncoder</application>, TV grabbing, cache,
|
||||||
liba52, countless fixes.
|
liba52, countless fixes.
|
||||||
|
@ -287,7 +287,7 @@ ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mp
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Fonts should have an appropriate <filename>font.desc</filename> file
|
Fonts should have an appropriate <filename>font.desc</filename> file
|
||||||
which maps unicode font positions to the actual code page of the
|
which maps Unicode font positions to the actual code page of the
|
||||||
subtitle text. Another solution is to have UTF-8-encoded subtitles
|
subtitle text. Another solution is to have UTF-8-encoded subtitles
|
||||||
and use the <option>-utf8</option> option or give the subtitles
|
and use the <option>-utf8</option> option or give the subtitles
|
||||||
file the same name as your video file with a <filename>.utf</filename>
|
file the same name as your video file with a <filename>.utf</filename>
|
||||||
@ -301,7 +301,7 @@ extension and have it in the same directory as the video file.
|
|||||||
<title>OSD menu</title>
|
<title>OSD menu</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>MPlayer</application> has a completely user definiable
|
<application>MPlayer</application> has a completely user-definable
|
||||||
OSD Menu interface.
|
OSD Menu interface.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -368,7 +368,7 @@ There are three timing methods in <application>MPlayer</application>.
|
|||||||
but a properly set up kernel is required.
|
but a properly set up kernel is required.
|
||||||
If you are running kernel 2.4.19pre8 or later you can adjust the maximum RTC
|
If you are running kernel 2.4.19pre8 or later you can adjust the maximum RTC
|
||||||
frequency for normal users through the <systemitem class="systemname">/proc
|
frequency for normal users through the <systemitem class="systemname">/proc
|
||||||
</systemitem> filesystem. Use one of the following two commands to
|
</systemitem> file system. Use one of the following two commands to
|
||||||
enable RTC for normal users:
|
enable RTC for normal users:
|
||||||
<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
|
<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
|
||||||
<screen>sysctl dev/rtc/max-user-freq=1024</screen>
|
<screen>sysctl dev/rtc/max-user-freq=1024</screen>
|
||||||
|
@ -300,7 +300,7 @@ You can use the <option>-chapter</option> option for this purpose.
|
|||||||
For example, <option>-chapter</option> <replaceable>1-4</replaceable>
|
For example, <option>-chapter</option> <replaceable>1-4</replaceable>
|
||||||
will only encode chapters 1 through 4 from the DVD.
|
will only encode chapters 1 through 4 from the DVD.
|
||||||
This is especially useful if you will be making a 1400 MB encode
|
This is especially useful if you will be making a 1400 MB encode
|
||||||
targetted for two CDs, since you can ensure the split occurs exactly
|
targeted for two CDs, since you can ensure the split occurs exactly
|
||||||
at a chapter boundary rather than in the middle of a scene.
|
at a chapter boundary rather than in the middle of a scene.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -478,7 +478,7 @@ all passes are run with target bitrates that do not differ very much.
|
|||||||
<title>Rescaling movies</title>
|
<title>Rescaling movies</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Often the need to resize movie images' size emerges. Its reasons can be
|
Often the need to resize movie images emerges. The reasons can be
|
||||||
many: decreasing file size, network bandwidth, etc. Most people even do
|
many: decreasing file size, network bandwidth, etc. Most people even do
|
||||||
rescaling when converting DVDs or SVCDs to DivX AVI. If you wish to rescale,
|
rescaling when converting DVDs or SVCDs to DivX AVI. If you wish to rescale,
|
||||||
read the <link linkend="aspect">Preserving aspect ratio</link> section.
|
read the <link linkend="aspect">Preserving aspect ratio</link> section.
|
||||||
|
@ -68,7 +68,7 @@ from <ulink url="http://rpm.livna.org/">Livna repository</ulink>.
|
|||||||
<para>
|
<para>
|
||||||
Mandrake/Mandriva RPM packages are available from the
|
Mandrake/Mandriva RPM packages are available from the
|
||||||
<ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
|
<ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
|
||||||
SuSE used to include a crippled version of <application>MPlayer</application>
|
SUSE used to include a crippled version of <application>MPlayer</application>
|
||||||
in their distribution. They have removed it in their latest releases. You can
|
in their distribution. They have removed it in their latest releases. You can
|
||||||
get working RPMs from
|
get working RPMs from
|
||||||
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
|
<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
|
||||||
@ -325,12 +325,12 @@ you may not be able to play DVD discs larger than 4 GB:
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
A similar bug is present in the hsfs(7FS) filesystem code (AKA ISO9660),
|
A similar bug is present in the hsfs(7FS) file system code (AKA ISO9660),
|
||||||
hsfs may not not support partitions/disks larger than 4GB, all data is
|
hsfs may not not support partitions/disks larger than 4GB, all data is
|
||||||
accessed modulo 4GB
|
accessed modulo 4GB
|
||||||
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
||||||
The hsfs problem can be fixed by installing
|
The hsfs problem can be fixed by installing
|
||||||
patch 109764-04 (sparc) / 109765-04 (x86).
|
patch 109764-04 (SPARC) / 109765-04 (x86).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -768,7 +768,7 @@ Later examples will be based on MacPorts.
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
For instance, to compile <application>MPlayer</application> with OSD support:
|
For instance, to compile <application>MPlayer</application> with OSD support:
|
||||||
<screen>sudo port install pkgconfig</screen>
|
<screen>sudo port install pkg-config</screen>
|
||||||
This will install <application>pkg-config</application>, which is a system for
|
This will install <application>pkg-config</application>, which is a system for
|
||||||
managing library compile/link flags.
|
managing library compile/link flags.
|
||||||
<application>MPlayer</application>'s <systemitem>configure</systemitem> script
|
<application>MPlayer</application>'s <systemitem>configure</systemitem> script
|
||||||
|
@ -1107,14 +1107,14 @@ menu entries.
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">evLoadSubtitle</emphasis></term>
|
<term><emphasis role="bold">evLoadSubtitle</emphasis></term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Loads a subtitle file (with the fileselector)
|
Loads a subtitle file (with the file selector).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">evLoadAudioFile</emphasis></term>
|
<term><emphasis role="bold">evLoadAudioFile</emphasis></term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
Loads an audio file (with the fileselector)
|
Loads an audio file (with the file selector).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ ENTER pt_step 1 1<!--
|
|||||||
<title>Control from LIRC</title>
|
<title>Control from LIRC</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
|
Linux Infrared Remote Control - use an easy to build home-brewed IR-receiver,
|
||||||
an (almost) arbitrary remote control and control your Linux box with it!
|
an (almost) arbitrary remote control and control your Linux box with it!
|
||||||
More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
|
More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
|
||||||
</para>
|
</para>
|
||||||
@ -421,7 +421,7 @@ will save the content streamed from
|
|||||||
<replaceable>http://217.71.208.37:8006</replaceable> into
|
<replaceable>http://217.71.208.37:8006</replaceable> into
|
||||||
<replaceable>stream.asf</replaceable>.
|
<replaceable>stream.asf</replaceable>.
|
||||||
This works with all protocols supported by
|
This works with all protocols supported by
|
||||||
<application>MPlayer</application>, like MMS, RSTP, and so forth.
|
<application>MPlayer</application>, like MMS, RTSP, and so forth.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -193,9 +193,9 @@ xv support, but the card itself is very slow, so you better sell it.
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
There is now a native framebuffer driver for S3 Virge cards similiar to
|
There is now a native framebuffer driver for S3 Virge cards similar to
|
||||||
tdfxfb. Set up your framebuffer (e.g. append
|
tdfxfb. Set up your framebuffer (e.g. append
|
||||||
"<option>vga=792 video=vesa:mtrr</option>" to your kernel comand line) and use
|
"<option>vga=792 video=vesa:mtrr</option>" to your kernel command line) and use
|
||||||
<option>-vo s3fb</option> (<option>-vf yuy2</option> and <option>-dr</option>
|
<option>-vo s3fb</option> (<option>-vf yuy2</option> and <option>-dr</option>
|
||||||
will also help).
|
will also help).
|
||||||
</para>
|
</para>
|
||||||
@ -838,7 +838,7 @@ framebuffer, and don't ask for it, since it's not an
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<systemitem>mga_vid</systemitem> is a combination of a video output driver and
|
<systemitem>mga_vid</systemitem> is a combination of a video output driver and
|
||||||
a Linux kernel module that utilitizes the Matrox G200/G400/G450/G550 video
|
a Linux kernel module that utilizes the Matrox G200/G400/G450/G550 video
|
||||||
scaler/overlay unit to perform YUV->RGB colorspace conversion and arbitrary
|
scaler/overlay unit to perform YUV->RGB colorspace conversion and arbitrary
|
||||||
video scaling.
|
video scaling.
|
||||||
<systemitem>mga_vid</systemitem> has hardware VSYNC support with triple
|
<systemitem>mga_vid</systemitem> has hardware VSYNC support with triple
|
||||||
@ -1567,13 +1567,10 @@ Alternatively, you can use a special kernel module, like this:
|
|||||||
<filename class="directory">svgalib_helper</filename> dir, as root.
|
<filename class="directory">svgalib_helper</filename> dir, as root.
|
||||||
</para></step>
|
</para></step>
|
||||||
<step><para>
|
<step><para>
|
||||||
Move the <filename class="directory">svgalib_helper</filename> directory to
|
Then run <filename>configure</filename> again and pass the parameter
|
||||||
the <filename class="directory">vidix</filename> subdirectory of the
|
<option>--enable-svgalib_helper</option> as well as
|
||||||
<application>MPlayer</application> source tree.
|
<option>--with-extraincdir=/path/to/svgalib_helper/sources</option>,
|
||||||
</para></step>
|
adjusted to wherever you extracted svgalib_helper sources.
|
||||||
<step><para>
|
|
||||||
Remove the comment before the CFLAGS line containing the "svgalib_helper"
|
|
||||||
string from <filename class="directory">vidix/Makefile</filename>.
|
|
||||||
</para></step>
|
</para></step>
|
||||||
<step><para>
|
<step><para>
|
||||||
Recompile.
|
Recompile.
|
||||||
@ -1857,7 +1854,7 @@ have <command>scan</command> compile it for you.
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you have more than one card type (e.g. Satellitar, Terrestrial, Cable and ATSC)
|
If you have more than one card type (e.g. Satellite, Terrestrial, Cable and ATSC)
|
||||||
you can save your channels files as
|
you can save your channels files as
|
||||||
<filename>~/.mplayer/channels.conf.sat</filename>,
|
<filename>~/.mplayer/channels.conf.sat</filename>,
|
||||||
<filename>~/.mplayer/channels.conf.ter</filename>,
|
<filename>~/.mplayer/channels.conf.ter</filename>,
|
||||||
@ -2245,7 +2242,7 @@ mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
|
|||||||
<para>
|
<para>
|
||||||
Extra occurrences of <option>-zrcrop</option> invoke
|
Extra occurrences of <option>-zrcrop</option> invoke
|
||||||
<emphasis>cinerama</emphasis> mode, i.e. you can distribute the movie over
|
<emphasis>cinerama</emphasis> mode, i.e. you can distribute the movie over
|
||||||
several TV's or beamers to create a larger screen.
|
several TVs or beamers to create a larger screen.
|
||||||
Suppose you have two beamers. The left one is connected to your
|
Suppose you have two beamers. The left one is connected to your
|
||||||
Buz at <filename>/dev/video1</filename> and the right one is connected to
|
Buz at <filename>/dev/video1</filename> and the right one is connected to
|
||||||
your DC10+ at <filename>/dev/video0</filename>. The movie has a resolution
|
your DC10+ at <filename>/dev/video0</filename>. The movie has a resolution
|
||||||
@ -2337,7 +2334,7 @@ for Matrox G450/G550 TV-out instructions, please see the next section!
|
|||||||
<emphasis role="bold">SLOW</emphasis>, and has
|
<emphasis role="bold">SLOW</emphasis>, and has
|
||||||
<emphasis role="bold">Macrovision</emphasis> copy protection enabled
|
<emphasis role="bold">Macrovision</emphasis> copy protection enabled
|
||||||
(you can "workaround" Macrovision using this
|
(you can "workaround" Macrovision using this
|
||||||
<ulink url="http://avifile.sf.net/mgamacro.pl">perl script</ulink>).
|
<ulink url="http://avifile.sf.net/mgamacro.pl">Perl script</ulink>).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -2347,43 +2344,22 @@ for Matrox G450/G550 TV-out instructions, please see the next section!
|
|||||||
<para>
|
<para>
|
||||||
Using the <emphasis role="bold">matroxfb modules</emphasis> in the 2.4
|
Using the <emphasis role="bold">matroxfb modules</emphasis> in the 2.4
|
||||||
kernels. 2.2 kernels don't have the TV-out feature in them, thus unusable
|
kernels. 2.2 kernels don't have the TV-out feature in them, thus unusable
|
||||||
for this. You have to enable ALL matroxfb-specific feature during
|
for this. You have to enable ALL matroxfb-specific features during
|
||||||
compilation (except MultiHead), and compile them into
|
compilation (except MultiHead), and compile them into
|
||||||
<emphasis role="bold">modules</emphasis>!
|
<emphasis role="bold">modules</emphasis>!
|
||||||
You'll also need I2C enabled.
|
You'll also need to enable I2C and put the tools
|
||||||
|
<application>matroxset</application>, <application>fbset</application>
|
||||||
|
and <application>con2fb</application> in your path.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
<step><para>
|
<step><para>
|
||||||
Enter <filename class="directory">TVout</filename> and type
|
Then load the <systemitem>matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
|
||||||
<command>./compile.sh</command>. Install
|
matroxfb_crtc2</systemitem> modules into your kernel. Your text-mode
|
||||||
<filename>TVout/matroxset/matroxset</filename>
|
console will enter into framebuffer mode (no way back!).
|
||||||
somewhere into your <envar>PATH</envar>.
|
|
||||||
</para></step>
|
</para></step>
|
||||||
<step><para>
|
<step><para>
|
||||||
If you don't have <command>fbset</command> installed, put
|
Next, set up your monitor and TV to your liking using the above tools.
|
||||||
<filename>TVout/fbset/fbset</filename>
|
|
||||||
somewhere into your <envar>PATH</envar>.
|
|
||||||
</para></step>
|
|
||||||
<step><para>
|
|
||||||
If you don't have <command>con2fb</command> installed, put
|
|
||||||
<filename>TVout/con2fb/con2fb</filename>
|
|
||||||
somewhere into your <envar>PATH</envar>.
|
|
||||||
</para></step>
|
|
||||||
<step><para>
|
|
||||||
Then enter into the <filename class="directory">TVout/</filename>
|
|
||||||
directory in the <application>MPlayer</application> source, and execute
|
|
||||||
<filename>./modules</filename> as root. Your text-mode console will
|
|
||||||
enter into framebuffer mode (no way back!).
|
|
||||||
</para></step>
|
|
||||||
<step><para>
|
|
||||||
Next, EDIT and run the <filename>./matroxtv</filename> script. This will
|
|
||||||
present you to a very simple menu. Press <keycap>2</keycap> and
|
|
||||||
<keycap>Enter</keycap>. Now you should have the same picture on your
|
|
||||||
monitor, and TV. If the TV (PAL by default)
|
|
||||||
picture has some weird stripes on it, the script wasn't able to set the
|
|
||||||
resolution correctly (to 640x512 by default). Try other resolutions
|
|
||||||
from the menu and/or experiment with fbset.
|
|
||||||
</para></step>
|
</para></step>
|
||||||
<step><para>
|
<step><para>
|
||||||
Yoh. Next task is to make the cursor on tty1 (or whatever) to
|
Yoh. Next task is to make the cursor on tty1 (or whatever) to
|
||||||
@ -2424,29 +2400,6 @@ mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<formalpara><title>Building a Matrox TV-out cable</title>
|
|
||||||
<para>
|
|
||||||
No one takes any responsibility, nor guarantee for any damage caused
|
|
||||||
by this documentation.
|
|
||||||
</para>
|
|
||||||
</formalpara>
|
|
||||||
|
|
||||||
<formalpara><title>Cable for G400</title>
|
|
||||||
<para>
|
|
||||||
The CRTC2 connector's fourth pin is the composite video signal. The
|
|
||||||
ground are the sixth, seventh and eighth pins. (info contributed
|
|
||||||
from Balázs Rácz)
|
|
||||||
</para>
|
|
||||||
</formalpara>
|
|
||||||
|
|
||||||
<formalpara><title>Cable for G450</title>
|
|
||||||
<para>
|
|
||||||
The CRTC2 connector's first pin is the composite video signal. The
|
|
||||||
ground are the fifth, sixth, seventh, and fifteenth (5, 6, 7, 15)
|
|
||||||
pins. (info contributed from Balázs Kerekes)
|
|
||||||
</para>
|
|
||||||
</formalpara>
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<!-- ********** -->
|
<!-- ********** -->
|
||||||
@ -2481,6 +2434,32 @@ The necessary kernel patch and the detailed HOWTO is downloadable from
|
|||||||
|
|
||||||
<!-- ********** -->
|
<!-- ********** -->
|
||||||
|
|
||||||
|
<sect2 id="tv-out_matrox_cable">
|
||||||
|
<title>Building a Matrox TV-out cable</title>
|
||||||
|
<para>
|
||||||
|
No one takes any responsibility, nor guarantee for any damage caused
|
||||||
|
by this documentation.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<formalpara><title>Cable for G400</title>
|
||||||
|
<para>
|
||||||
|
The CRTC2 connector's fourth pin is the composite video signal. The
|
||||||
|
ground are the sixth, seventh and eighth pins. (info contributed
|
||||||
|
from Balázs Rácz)
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
<formalpara><title>Cable for G450</title>
|
||||||
|
<para>
|
||||||
|
The CRTC2 connector's first pin is the composite video signal. The
|
||||||
|
ground are the fifth, sixth, seventh, and fifteenth (5, 6, 7, 15)
|
||||||
|
pins. (info contributed from Balázs Kerekes)
|
||||||
|
</para>
|
||||||
|
</formalpara>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<!-- ********** -->
|
||||||
|
|
||||||
<sect2 id="tvout-ati">
|
<sect2 id="tvout-ati">
|
||||||
<title>ATI cards</title>
|
<title>ATI cards</title>
|
||||||
|
|
||||||
|
31
Makefile
31
Makefile
@ -756,7 +756,7 @@ version.h:
|
|||||||
./version.sh `$(CC) -dumpversion`
|
./version.sh `$(CC) -dumpversion`
|
||||||
|
|
||||||
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
|
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
|
||||||
$(WINDRES) -I. -o $@ $<
|
$(WINDRES) -I. $< $@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -777,11 +777,13 @@ loader/win32.o loader/win32.d: CFLAGS += $(CFLAG_STACKREALIGN)
|
|||||||
|
|
||||||
mp3lib/decode_i586.o: CFLAGS += -fomit-frame-pointer
|
mp3lib/decode_i586.o: CFLAGS += -fomit-frame-pointer
|
||||||
|
|
||||||
|
vidix/%: CFLAGS += $(SVGALIB_CFLAGS)
|
||||||
|
|
||||||
VIDIX_PCI_FILES = vidix/pci_dev_ids.c vidix/pci_ids.h vidix/pci_names.c \
|
VIDIX_PCI_FILES = vidix/pci_dev_ids.c vidix/pci_ids.h vidix/pci_names.c \
|
||||||
vidix/pci_names.h vidix/pci_vendors.h
|
vidix/pci_names.h vidix/pci_vendors.h
|
||||||
|
|
||||||
$(VIDIX_PCI_FILES): vidix/pci.db
|
$(VIDIX_PCI_FILES): vidix/pci.db vidix/pci_db2c.awk
|
||||||
LC_ALL=C awk -f vidix/pci_db2c.awk $< $(VIDIX_PCIDB)
|
awk -f vidix/pci_db2c.awk $< $(VIDIX_PCIDB)
|
||||||
|
|
||||||
VIDIX_DEPS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.d))
|
VIDIX_DEPS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.d))
|
||||||
VIDIX_OBJS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.o))
|
VIDIX_OBJS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.o))
|
||||||
@ -901,7 +903,9 @@ TOOLS = TOOLS/alaw-gen$(EXESUF) \
|
|||||||
TOOLS/compare$(EXESUF) \
|
TOOLS/compare$(EXESUF) \
|
||||||
TOOLS/dump_mp4$(EXESUF) \
|
TOOLS/dump_mp4$(EXESUF) \
|
||||||
TOOLS/movinfo$(EXESUF) \
|
TOOLS/movinfo$(EXESUF) \
|
||||||
|
TOOLS/netstream$(EXESUF) \
|
||||||
TOOLS/subrip$(EXESUF) \
|
TOOLS/subrip$(EXESUF) \
|
||||||
|
TOOLS/vivodump$(EXESUF) \
|
||||||
|
|
||||||
ifdef ARCH_X86
|
ifdef ARCH_X86
|
||||||
TOOLS += TOOLS/modify_reg$(EXESUF)
|
TOOLS += TOOLS/modify_reg$(EXESUF)
|
||||||
@ -910,8 +914,6 @@ endif
|
|||||||
ALLTOOLS = $(TOOLS) \
|
ALLTOOLS = $(TOOLS) \
|
||||||
TOOLS/bmovl-test$(EXESUF) \
|
TOOLS/bmovl-test$(EXESUF) \
|
||||||
TOOLS/vfw2menc$(EXESUF) \
|
TOOLS/vfw2menc$(EXESUF) \
|
||||||
TOOLS/vivodump$(EXESUF) \
|
|
||||||
TOOLS/netstream$(EXESUF) \
|
|
||||||
|
|
||||||
tools: $(TOOLS)
|
tools: $(TOOLS)
|
||||||
alltools: $(ALLTOOLS)
|
alltools: $(ALLTOOLS)
|
||||||
@ -927,8 +929,13 @@ TOOLS/subrip$(EXESUF): TOOLS/subrip.c vobsub.o spudec.o unrar_exec.o \
|
|||||||
|
|
||||||
TOOLS/vfw2menc$(EXESUF): TOOLS/vfw2menc.c -lwinmm -lole32
|
TOOLS/vfw2menc$(EXESUF): TOOLS/vfw2menc.c -lwinmm -lole32
|
||||||
|
|
||||||
#FIXME: Linking is broken, help welcome.
|
mplayer-nomain.o: mplayer.c
|
||||||
TOOLS/vivodump$(EXESUF): TOOLS/vivodump.c $(TEST_OBJS)
|
$(CC) $(CFLAGS) -DDISABLE_MAIN -c -o $@ $<
|
||||||
|
|
||||||
|
TOOLS/netstream$(EXESUF): TOOLS/netstream.c $(subst mplayer.o,mplayer-nomain.o,$(OBJS_MPLAYER)) $(filter-out %mencoder.o,$(OBJS_MENCODER)) $(OBJS_COMMON) $(COMMON_LIBS)
|
||||||
|
TOOLS/vivodump$(EXESUF): TOOLS/vivodump.c $(subst mplayer.o,mplayer-nomain.o,$(OBJS_MPLAYER)) $(filter-out %mencoder.o,$(OBJS_MENCODER)) $(OBJS_COMMON) $(COMMON_LIBS)
|
||||||
|
TOOLS/netstream$(EXESUF) TOOLS/vivodump$(EXESUF):
|
||||||
|
$(CC) $(CFLAGS) -o $@ $^ $(EXTRALIBS_MPLAYER) $(EXTRALIBS_MENCODER) $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
fastmemcpybench: TOOLS/fastmemcpybench.c
|
fastmemcpybench: TOOLS/fastmemcpybench.c
|
||||||
$(CC) $(CFLAGS) $< -o TOOLS/fastmem-mmx$(EXESUF) -DNAME=\"mmx\" -DHAVE_MMX
|
$(CC) $(CFLAGS) $< -o TOOLS/fastmem-mmx$(EXESUF) -DNAME=\"mmx\" -DHAVE_MMX
|
||||||
@ -950,16 +957,6 @@ fastmemcpybench realcodecs: CFLAGS += -g
|
|||||||
%.so.6.0: %.o
|
%.so.6.0: %.o
|
||||||
ld -shared -o $@ $< -ldl -lc
|
ld -shared -o $@ $< -ldl -lc
|
||||||
|
|
||||||
# FIXME: netstream linking is a mess that should be fixed properly some day.
|
|
||||||
# It does not work with either GUI, LIVE555, libavformat, cdparanoia enabled.
|
|
||||||
NETSTREAM_DEPS = libavutil/libavutil.a \
|
|
||||||
m_option.o \
|
|
||||||
m_struct.o \
|
|
||||||
$(TEST_OBJS)
|
|
||||||
|
|
||||||
TOOLS/netstream$(EXESUF): TOOLS/netstream.o $(NETSTREAM_DEPS)
|
|
||||||
$(CC) $(CFLAGS) -o $@ $^
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###### drivers #######
|
###### drivers #######
|
||||||
|
@ -46,16 +46,18 @@
|
|||||||
/// Netstream packets def and some helpers
|
/// Netstream packets def and some helpers
|
||||||
#include "stream/netstream.h"
|
#include "stream/netstream.h"
|
||||||
|
|
||||||
|
// linking hacks
|
||||||
|
char *info_name;
|
||||||
|
char *info_artist;
|
||||||
|
char *info_genre;
|
||||||
|
char *info_subject;
|
||||||
|
char *info_copyright;
|
||||||
|
char *info_sourceform;
|
||||||
|
char *info_comment;
|
||||||
|
|
||||||
//Set some standard variables
|
char* out_filename = NULL;
|
||||||
char* dvdsub_lang=NULL;
|
char* force_fourcc=NULL;
|
||||||
char* audio_lang=NULL;
|
char* passtmpfile="divx2pass.log";
|
||||||
int sub_justify=0;
|
|
||||||
int identify=0;
|
|
||||||
int dvdsub_id=0;
|
|
||||||
int audio_id=0;
|
|
||||||
int video_id=0;
|
|
||||||
void af_fmt2str() {};
|
|
||||||
|
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
#define usleep sleep
|
#define usleep sleep
|
||||||
@ -367,46 +369,3 @@ int main(void) {
|
|||||||
}
|
}
|
||||||
return main_loop(listen_fd);
|
return main_loop(listen_fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---- For libmpdemux
|
|
||||||
|
|
||||||
float stream_cache_seek_min_percent=50.0;
|
|
||||||
float stream_cache_min_percent=20.0;
|
|
||||||
|
|
||||||
#include <libmpdemux/demuxer.h>
|
|
||||||
#include <libmpdemux/stheader.h>
|
|
||||||
|
|
||||||
// audio stream skip/resync functions requires only for seeking.
|
|
||||||
// (they should be implemented in the audio codec layer)
|
|
||||||
void skip_audio_frame(sh_audio_t *sh_audio){
|
|
||||||
sh_audio=NULL;
|
|
||||||
}
|
|
||||||
void resync_audio_stream(sh_audio_t *sh_audio){
|
|
||||||
sh_audio=NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
int mp_input_check_interrupt(int time){
|
|
||||||
if(time) usleep(time);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// for libdvdread:
|
|
||||||
#include "get_path.c"
|
|
||||||
|
|
||||||
// linking hacks
|
|
||||||
int stream_cache_size=0;
|
|
||||||
int index_mode=0;
|
|
||||||
|
|
||||||
// for demux_ogg:
|
|
||||||
void* vo_sub=NULL;
|
|
||||||
int vo_osd_changed(int new_value){ new_value++; return 0;}
|
|
||||||
int subcc_enabled=0;
|
|
||||||
|
|
||||||
float sub_fps=0;
|
|
||||||
int sub_utf8=0;
|
|
||||||
int suboverlap_enabled = 1;
|
|
||||||
float sub_delay=0;
|
|
||||||
|
|
||||||
//---------------
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "libmpdemux/muxer.h"
|
#include "libmpdemux/muxer.h"
|
||||||
#include "libmpdemux/demuxer.h"
|
#include "libmpdemux/demuxer.h"
|
||||||
|
|
||||||
|
/* linking hacks */
|
||||||
char *info_name;
|
char *info_name;
|
||||||
char *info_artist;
|
char *info_artist;
|
||||||
char *info_genre;
|
char *info_genre;
|
||||||
@ -18,6 +19,10 @@ char *info_copyright;
|
|||||||
char *info_sourceform;
|
char *info_sourceform;
|
||||||
char *info_comment;
|
char *info_comment;
|
||||||
|
|
||||||
|
char* out_filename = NULL;
|
||||||
|
char* force_fourcc=NULL;
|
||||||
|
char* passtmpfile="divx2pass.log";
|
||||||
|
|
||||||
static const short h263_format[8][2] = {
|
static const short h263_format[8][2] = {
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 128, 96 },
|
{ 128, 96 },
|
||||||
|
@ -832,7 +832,7 @@ static int mp_property_audio(m_option_t *prop, int action, void *arg,
|
|||||||
|
|
||||||
#ifdef USE_DVDNAV
|
#ifdef USE_DVDNAV
|
||||||
else if (mpctx->stream->type == STREAMTYPE_DVDNAV)
|
else if (mpctx->stream->type == STREAMTYPE_DVDNAV)
|
||||||
dvdnav_lang_from_aid(mpctx->stream, opts->audio_id, lang);
|
mp_dvdnav_lang_from_aid(mpctx->stream, opts->audio_id, lang);
|
||||||
#endif
|
#endif
|
||||||
*(char **) arg = malloc(64);
|
*(char **) arg = malloc(64);
|
||||||
snprintf(*(char **) arg, 64, "(%d) %s", opts->audio_id, lang);
|
snprintf(*(char **) arg, 64, "(%d) %s", opts->audio_id, lang);
|
||||||
@ -1351,8 +1351,8 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
|
|||||||
if (mpctx->stream->type == STREAMTYPE_DVDNAV) {
|
if (mpctx->stream->type == STREAMTYPE_DVDNAV) {
|
||||||
if (vo_spudec && opts->sub_id >= 0) {
|
if (vo_spudec && opts->sub_id >= 0) {
|
||||||
unsigned char lang[3];
|
unsigned char lang[3];
|
||||||
if (dvdnav_lang_from_sid(mpctx->stream, opts->sub_id, lang)) {
|
if (mp_dvdnav_lang_from_sid(mpctx->stream, opts->sub_id, lang)) {
|
||||||
snprintf(*(char **) arg, 63, "(%d) %s", opts->sub_id, lang);
|
snprintf(*(char **) arg, 63, "(%d) %s", opts->sub_id, lang);
|
||||||
return M_PROPERTY_OK;
|
return M_PROPERTY_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
71
configure
vendored
71
configure
vendored
@ -339,12 +339,12 @@ Codecs:
|
|||||||
--enable-muxer=MUXER enable specified FFmpeg muxer
|
--enable-muxer=MUXER enable specified FFmpeg muxer
|
||||||
|
|
||||||
Video output:
|
Video output:
|
||||||
--disable-vidix-internal disable internal VIDIX [for x86 *nix]
|
--disable-vidix disable VIDIX [for x86 *nix]
|
||||||
--disable-vidix-external disable external VIDIX [for x86 *nix]
|
|
||||||
--with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
|
--with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
|
||||||
Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
|
Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
|
||||||
nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
|
nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
|
||||||
--disable-vidix-pcidb disable VIDIX PCI device name database
|
--disable-vidix-pcidb disable VIDIX PCI device name database
|
||||||
|
--enable-svgalib_helper enable VIDIX svgalib_helper support
|
||||||
--enable-gl enable OpenGL video output [autodetect]
|
--enable-gl enable OpenGL video output [autodetect]
|
||||||
--enable-dga2 enable DGA 2 support [autodetect]
|
--enable-dga2 enable DGA 2 support [autodetect]
|
||||||
--enable-dga1 enable DGA 1 support [autodetect]
|
--enable-dga1 enable DGA 1 support [autodetect]
|
||||||
@ -619,9 +619,9 @@ _pvr=auto
|
|||||||
_network=yes
|
_network=yes
|
||||||
_winsock2=auto
|
_winsock2=auto
|
||||||
_smbsupport=auto
|
_smbsupport=auto
|
||||||
_vidix_internal=auto
|
_vidix=auto
|
||||||
_vidix_external=auto
|
|
||||||
_vidix_pcidb=yes
|
_vidix_pcidb=yes
|
||||||
|
_svgalib_helper=no
|
||||||
_joystick=no
|
_joystick=no
|
||||||
_xvid=auto
|
_xvid=auto
|
||||||
_xvid_lavc=auto
|
_xvid_lavc=auto
|
||||||
@ -1016,14 +1016,14 @@ for ac_option do
|
|||||||
--disable-winsock2) _winsock2=no ;;
|
--disable-winsock2) _winsock2=no ;;
|
||||||
--enable-smb) _smbsupport=yes ;;
|
--enable-smb) _smbsupport=yes ;;
|
||||||
--disable-smb) _smbsupport=no ;;
|
--disable-smb) _smbsupport=no ;;
|
||||||
--enable-vidix-internal) _vidix_internal=yes ;;
|
--enable-vidix) _vidix=yes ;;
|
||||||
--disable-vidix-internal) _vidix_internal=no ;;
|
--disable-vidix) _vidix=no ;;
|
||||||
--enable-vidix-external) _vidix_external=yes ;;
|
|
||||||
--disable-vidix-external) _vidix_external=no ;;
|
|
||||||
--with-vidix-drivers=*)
|
--with-vidix-drivers=*)
|
||||||
_vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
|
_vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
|
||||||
;;
|
;;
|
||||||
--disable-vidix-pcidb) _vidix_pcidb=no ;;
|
--disable-vidix-pcidb) _vidix_pcidb=no ;;
|
||||||
|
--enable-svgalib_helper) _svgalib_helper=yes ;;
|
||||||
|
--disable-svgalib_helper) _svgalib_helper=no ;;
|
||||||
--enable-joystick) _joystick=yes ;;
|
--enable-joystick) _joystick=yes ;;
|
||||||
--disable-joystick) _joystick=no ;;
|
--disable-joystick) _joystick=no ;;
|
||||||
--enable-xvid) _xvid=yes ;;
|
--enable-xvid) _xvid=yes ;;
|
||||||
@ -4193,7 +4193,6 @@ echores "$_gl"
|
|||||||
|
|
||||||
|
|
||||||
echocheck "VIDIX"
|
echocheck "VIDIX"
|
||||||
_vidix=no
|
|
||||||
_def_vidix='#undef CONFIG_VIDIX'
|
_def_vidix='#undef CONFIG_VIDIX'
|
||||||
_def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
|
_def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
|
||||||
_vidix_drv_cyberblade=no
|
_vidix_drv_cyberblade=no
|
||||||
@ -4223,24 +4222,11 @@ _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
|
|||||||
_vidix_drv_sis=no
|
_vidix_drv_sis=no
|
||||||
_def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
|
_def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
|
||||||
_vidix_drv_unichrome=no
|
_vidix_drv_unichrome=no
|
||||||
if test "$_vidix_internal" = auto ; then
|
if test "$_vidix" = auto ; then
|
||||||
_vidix_internal=no
|
_vidix=no
|
||||||
x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
|
x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
|
||||||
&& _vidix_internal=yes
|
&& _vidix=yes
|
||||||
(ppc || alpha) && linux && _vidix_internal=yes
|
(ppc || alpha) && linux && _vidix=yes
|
||||||
fi
|
|
||||||
if test "$_vidix_internal" = yes; then
|
|
||||||
_res_comment="internal"
|
|
||||||
_vidix_external=no
|
|
||||||
_vidix=yes
|
|
||||||
elif test "$_vidix_external" = auto; then
|
|
||||||
_vidix_external=no
|
|
||||||
cat > $TMPC <<EOF
|
|
||||||
#include <vidix/vidix.h>
|
|
||||||
int main(void) { return 0; }
|
|
||||||
EOF
|
|
||||||
cc_check -lvidix && _vidix_external=yes && _res_comment="external" \
|
|
||||||
&& _vidix=yes
|
|
||||||
fi
|
fi
|
||||||
echores "$_vidix"
|
echores "$_vidix"
|
||||||
|
|
||||||
@ -4259,17 +4245,23 @@ if test "$_vidix" = yes ; then
|
|||||||
eval _vidix_drv_${driver}=yes
|
eval _vidix_drv_${driver}=yes
|
||||||
eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
|
eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echocheck "VIDIX PCI device name database"
|
||||||
|
echores "$_vidix_pcidb"
|
||||||
|
if test "$_vidix_pcidb" = yes ; then
|
||||||
|
_vidix_pcidb_val=1
|
||||||
|
else
|
||||||
|
_vidix_pcidb_val=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echocheck "VIDIX svgalib_helper support"
|
||||||
|
test "$_svgalib_helper" = yes && cflag_svgalib_helper=-DCONFIG_SVGAHELPER
|
||||||
|
echores "$_svgalib_helper"
|
||||||
|
|
||||||
else
|
else
|
||||||
_novomodules="cvidix $_novomodules"
|
_novomodules="cvidix $_novomodules"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$_vidix_internal" = yes ; then
|
|
||||||
_def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
|
|
||||||
elif test "$_vidix_external" = yes ; then
|
|
||||||
_libs_mplayer="$_libs_mplayer -lvidix"
|
|
||||||
_def_vidix_pfx='#define MP_VIDIX_PFX "" '
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$_vidix" = yes && win32; then
|
if test "$_vidix" = yes && win32; then
|
||||||
_vosrc="$_vosrc vo_winvidix.c"
|
_vosrc="$_vosrc vo_winvidix.c"
|
||||||
_vomodules="winvidix $_vomodules"
|
_vomodules="winvidix $_vomodules"
|
||||||
@ -4284,14 +4276,6 @@ else
|
|||||||
_novomodules="xvidix $_novomodules"
|
_novomodules="xvidix $_novomodules"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echocheck "VIDIX PCI device name database"
|
|
||||||
echores "$_vidix_pcidb"
|
|
||||||
if test "$_vidix_pcidb" = yes ; then
|
|
||||||
_vidix_pcidb_val=1
|
|
||||||
else
|
|
||||||
_vidix_pcidb_val=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echocheck "/dev/mga_vid"
|
echocheck "/dev/mga_vid"
|
||||||
if test "$_mga" = auto ; then
|
if test "$_mga" = auto ; then
|
||||||
_mga=no
|
_mga=no
|
||||||
@ -7580,7 +7564,7 @@ cat > config.mak << EOF
|
|||||||
# -------- Generated by configure -----------
|
# -------- Generated by configure -----------
|
||||||
|
|
||||||
# Ensure that locale settings do not interfere with shell commands.
|
# Ensure that locale settings do not interfere with shell commands.
|
||||||
LC_ALL = C
|
export LC_ALL = C
|
||||||
|
|
||||||
MAN_LANG = $MAN_LANG
|
MAN_LANG = $MAN_LANG
|
||||||
MAN_LANG_ALL = $MAN_LANG_ALL
|
MAN_LANG_ALL = $MAN_LANG_ALL
|
||||||
@ -7611,6 +7595,7 @@ CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
|
|||||||
CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
|
CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
|
||||||
CFLAG_STACKREALIGN = $_stackrealign
|
CFLAG_STACKREALIGN = $_stackrealign
|
||||||
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
|
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
|
||||||
|
CFLAG_SVGALIB_HELPER = $cflag_svgalib_helper
|
||||||
ASFLAGS = $ASFLAGS
|
ASFLAGS = $ASFLAGS
|
||||||
|
|
||||||
EXTRALIBS = $_extra_libs
|
EXTRALIBS = $_extra_libs
|
||||||
@ -7730,8 +7715,6 @@ TWOLAME=$_twolame
|
|||||||
UNRAR_EXEC = $_unrar_exec
|
UNRAR_EXEC = $_unrar_exec
|
||||||
VCD = $_vcd
|
VCD = $_vcd
|
||||||
VIDIX = $_vidix
|
VIDIX = $_vidix
|
||||||
VIDIX_EXTERNAL = $_vidix_external
|
|
||||||
VIDIX_INTERNAL = $_vidix_internal
|
|
||||||
VIDIX_PCIDB = $_vidix_pcidb_val
|
VIDIX_PCIDB = $_vidix_pcidb_val
|
||||||
VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
|
VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
|
||||||
VIDIX_IVTV=$_vidix_drv_ivtv
|
VIDIX_IVTV=$_vidix_drv_ivtv
|
||||||
|
@ -686,6 +686,7 @@ videocodec ffodivx
|
|||||||
fourcc DXGM
|
fourcc DXGM
|
||||||
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
||||||
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
||||||
|
fourcc VIDM ; vidm 4.01 codec
|
||||||
format 0x10000004 ; mpeg 4 es
|
format 0x10000004 ; mpeg 4 es
|
||||||
driver ffmpeg
|
driver ffmpeg
|
||||||
dll mpeg4 ;opendivx
|
dll mpeg4 ;opendivx
|
||||||
@ -717,6 +718,7 @@ videocodec xvid
|
|||||||
fourcc DXGM
|
fourcc DXGM
|
||||||
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
||||||
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
||||||
|
fourcc VIDM ; vidm 4.01 codec
|
||||||
format 0x10000004 ; mpeg 4 es
|
format 0x10000004 ; mpeg 4 es
|
||||||
driver xvid
|
driver xvid
|
||||||
out YV12
|
out YV12
|
||||||
@ -1470,6 +1472,14 @@ videocodec lagarith
|
|||||||
dll "lagarith.dll"
|
dll "lagarith.dll"
|
||||||
out BGR32,BGR24 flip
|
out BGR32,BGR24 flip
|
||||||
|
|
||||||
|
videocodec psiv
|
||||||
|
info "Infinite Video PSI_V"
|
||||||
|
status working
|
||||||
|
fourcc PSIV
|
||||||
|
driver vfw
|
||||||
|
dll "psiv.dll"
|
||||||
|
out BGR32,BGR24 query,flip
|
||||||
|
|
||||||
videocodec canopushq
|
videocodec canopushq
|
||||||
status working
|
status working
|
||||||
info "Canopus HQ Codec"
|
info "Canopus HQ Codec"
|
||||||
@ -1815,6 +1825,14 @@ videocodec qt3ivx
|
|||||||
dll "3ivx Delta 3.5.qtx"
|
dll "3ivx Delta 3.5.qtx"
|
||||||
out YUY2
|
out YUY2
|
||||||
|
|
||||||
|
videocodec qtactl
|
||||||
|
info "Win32/QuickTime Streambox ACT-L2"
|
||||||
|
status working
|
||||||
|
fourcc ACTL
|
||||||
|
driver qtvideo
|
||||||
|
dll ACTLComponent.qtx
|
||||||
|
out YUY2
|
||||||
|
|
||||||
videocodec qtavui
|
videocodec qtavui
|
||||||
info "Win32/QuickTime Avid Meridien Uncompressed"
|
info "Win32/QuickTime Avid Meridien Uncompressed"
|
||||||
status working
|
status working
|
||||||
|
@ -1108,7 +1108,7 @@ static int channel_layout_mapping_5ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
|
|||||||
AF_CHANNEL_LAYOUT_LAVC_AC3_5CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_AC3_5CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_LIBA52_5CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_LIBA52_5CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_VORBIS_5CH_DEFAULT,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
|
static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
|
||||||
@ -1118,7 +1118,7 @@ static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
|
|||||||
AF_CHANNEL_LAYOUT_LAVC_AC3_6CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_AC3_6CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT,
|
||||||
AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT,
|
AF_CHANNEL_LAYOUT_VORBIS_6CH_DEFAULT,
|
||||||
};
|
};
|
||||||
|
|
||||||
void reorder_channel_copy_nch(void *src,
|
void reorder_channel_copy_nch(void *src,
|
||||||
|
@ -71,8 +71,8 @@
|
|||||||
#define AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_E
|
#define AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_E
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_D
|
#define AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_D
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_D
|
#define AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_D
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
|
#define AF_CHANNEL_LAYOUT_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
|
#define AF_CHANNEL_LAYOUT_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
|
||||||
|
|
||||||
#define AF_CHANNEL_MASK 0xFF
|
#define AF_CHANNEL_MASK 0xFF
|
||||||
#define AF_GET_CH_NUM(A) ((A)&0x7F)
|
#define AF_GET_CH_NUM(A) ((A)&0x7F)
|
||||||
@ -104,7 +104,7 @@ void reorder_channel(void *buf,
|
|||||||
#define AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT 3
|
#define AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT 3
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT 4
|
#define AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT 4
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT 5
|
#define AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT 5
|
||||||
#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT 6
|
#define AF_CHANNEL_LAYOUT_VORBIS_DEFAULT 6
|
||||||
#define AF_CHANNEL_LAYOUT_SOURCE_NUM 7
|
#define AF_CHANNEL_LAYOUT_SOURCE_NUM 7
|
||||||
#define AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT AF_CHANNEL_LAYOUT_ALSA_DEFAULT
|
#define AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT AF_CHANNEL_LAYOUT_ALSA_DEFAULT
|
||||||
|
|
||||||
|
@ -1,44 +1,38 @@
|
|||||||
/*
|
/*
|
||||||
|
* Mac OS X audio output driver
|
||||||
*
|
*
|
||||||
* ao_macosx.c
|
* original copyright (C) Timothy J. Wood - Aug 2000
|
||||||
|
* ported to MPlayer libao2 by Dan Christiansen
|
||||||
*
|
*
|
||||||
* Original Copyright (C) Timothy J. Wood - Aug 2000
|
* The S/PDIF part of the code is based on the auhal audio output
|
||||||
|
* module from VideoLAN:
|
||||||
|
* Copyright (c) 2006 Derk-Jan Hartman <hartman at videolan dot org>
|
||||||
*
|
*
|
||||||
* The S/PDIF part of the code is based on the auhal audio output
|
* This file is part of MPlayer.
|
||||||
* module from VideoLAN:
|
|
||||||
* Copyright (c) 2006 Derk-Jan Hartman <hartman at videolan dot org>
|
|
||||||
*
|
*
|
||||||
* This file is part of libao, a cross-platform library. See
|
* MPlayer is free software; you can redistribute it and/or modify
|
||||||
* README for a history of this source code.
|
* 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.
|
||||||
*
|
*
|
||||||
* libao is free software; you can redistribute it and/or modify
|
* MPlayer is distributed in the hope that it will be useful,
|
||||||
* it under the terms of the GNU General Public License as published by
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* the Free Software Foundation; either version 2, or (at your option)
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* any later version.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* libao is distributed in the hope that it will be useful,
|
* You should have received a copy of the GNU General Public License along
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* along with MPlayer; if not, write to the Free Software
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with libao; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The MacOS X CoreAudio framework doesn't mesh as simply as some
|
* The MacOS X CoreAudio framework doesn't mesh as simply as some
|
||||||
* simpler frameworks do. This is due to the fact that CoreAudio pulls
|
* simpler frameworks do. This is due to the fact that CoreAudio pulls
|
||||||
* audio samples rather than having them pushed at it (which is nice
|
* audio samples rather than having them pushed at it (which is nice
|
||||||
* when you are wanting to do good buffering of audio).
|
* when you are wanting to do good buffering of audio).
|
||||||
*/
|
|
||||||
|
|
||||||
/* Change log:
|
|
||||||
*
|
|
||||||
* 14/5-2003: Ported to MPlayer libao2 by Dan Christiansen
|
|
||||||
*
|
*
|
||||||
* AC-3 and MPEG audio passthrough is possible, but I don't have
|
* AC-3 and MPEG audio passthrough is possible, but has never been tested
|
||||||
* access to a sound card that supports it.
|
* due to lack of a soundcard that supports it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <CoreServices/CoreServices.h>
|
#include <CoreServices/CoreServices.h>
|
||||||
|
@ -390,7 +390,7 @@ static void clos(menu_t* menu) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int open_fs(menu_t* menu, char* args) {
|
static int open_fs(menu_t* menu, char* args) {
|
||||||
char *path = mpriv->path, *freepath = NULL;
|
char *path = mpriv->path;
|
||||||
int r = 0;
|
int r = 0;
|
||||||
char wd[PATH_MAX+1], b[PATH_MAX+1];
|
char wd[PATH_MAX+1], b[PATH_MAX+1];
|
||||||
args = NULL; // Warning kill
|
args = NULL; // Warning kill
|
||||||
@ -409,12 +409,9 @@ static int open_fs(menu_t* menu, char* args) {
|
|||||||
if (path_fp >= 0) {
|
if (path_fp >= 0) {
|
||||||
if (!fstat (path_fp, &st) && (st.st_size > 0)) {
|
if (!fstat (path_fp, &st) && (st.st_size > 0)) {
|
||||||
path = malloc(st.st_size+1);
|
path = malloc(st.st_size+1);
|
||||||
if ((read(path_fp, path, st.st_size) == st.st_size) && path[0] == '/'
|
path[st.st_size] = '\0';
|
||||||
&& !stat(path, &st) && S_ISDIR(st.st_mode)){
|
if (!((read(path_fp, path, st.st_size) == st.st_size) && path[0] == '/'
|
||||||
freepath = path;
|
&& !stat(path, &st) && S_ISDIR(st.st_mode))) {
|
||||||
path[st.st_size] = '\0';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
free(path);
|
free(path);
|
||||||
path = NULL;
|
path = NULL;
|
||||||
}
|
}
|
||||||
@ -467,9 +464,6 @@ static int open_fs(menu_t* menu, char* args) {
|
|||||||
}
|
}
|
||||||
r = open_dir(menu,path);
|
r = open_dir(menu,path);
|
||||||
|
|
||||||
if (freepath)
|
|
||||||
free(freepath);
|
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int m
|
|||||||
else if (!strcasecmp(codec, "liba52"))
|
else if (!strcasecmp(codec, "liba52"))
|
||||||
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT;
|
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT;
|
||||||
else if (!strcasecmp(codec, "vorbis"))
|
else if (!strcasecmp(codec, "vorbis"))
|
||||||
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT;
|
src_ch_layout = AF_CHANNEL_LAYOUT_VORBIS_DEFAULT;
|
||||||
else
|
else
|
||||||
src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
|
src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
|
||||||
reorder_channel_nch(buf, src_ch_layout,
|
reorder_channel_nch(buf, src_ch_layout,
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "ad_internal.h"
|
#include "ad_internal.h"
|
||||||
|
#include "libaf/reorder_ch.h"
|
||||||
|
|
||||||
static const ad_info_t info =
|
static const ad_info_t info =
|
||||||
{
|
{
|
||||||
@ -316,6 +317,12 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen)
|
|||||||
// if (!samples) break; // why? how?
|
// if (!samples) break; // why? how?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (len > 0 && ov->vi.channels >= 5) {
|
||||||
|
reorder_channel_nch(buf, AF_CHANNEL_LAYOUT_VORBIS_DEFAULT,
|
||||||
|
AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
|
||||||
|
ov->vi.channels, len / sh->samplesize,
|
||||||
|
sh->samplesize);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include "mp_msg.h"
|
#include "mp_msg.h"
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include "cpudetect.h"
|
#include "cpudetect.h"
|
||||||
#include "mangle.h"
|
|
||||||
|
|
||||||
#ifdef ARCH_X86
|
#ifdef ARCH_X86
|
||||||
#define CAN_COMPILE_X86_ASM
|
#define CAN_COMPILE_X86_ASM
|
||||||
|
@ -213,7 +213,7 @@ static int vidix_draw_slice_packed(uint8_t *image[], int stride[], int w,int h,i
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vidix_draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y)
|
static int vidix_draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y)
|
||||||
{
|
{
|
||||||
mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SUB_VIDIX_DummyVidixdrawsliceWasCalled);
|
mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SUB_VIDIX_DummyVidixdrawsliceWasCalled);
|
||||||
return -1;
|
return -1;
|
||||||
@ -231,13 +231,13 @@ static uint32_t vidix_draw_image(mp_image_t *mpi){
|
|||||||
return VO_TRUE;
|
return VO_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vidix_draw_frame(uint8_t *image[])
|
static int vidix_draw_frame(uint8_t *image[])
|
||||||
{
|
{
|
||||||
mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SUB_VIDIX_DummyVidixdrawframeWasCalled);
|
mp_msg(MSGT_VO,MSGL_WARN, MSGTR_LIBVO_SUB_VIDIX_DummyVidixdrawframeWasCalled);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void vidix_flip_page(void)
|
static void vidix_flip_page(void)
|
||||||
{
|
{
|
||||||
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
||||||
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_flip_page() was called\n"); }
|
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_flip_page() was called\n"); }
|
||||||
@ -298,7 +298,7 @@ static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vidix_draw_osd(void)
|
static void vidix_draw_osd(void)
|
||||||
{
|
{
|
||||||
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
||||||
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_draw_osd() was called\n"); }
|
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_draw_osd() was called\n"); }
|
||||||
@ -631,22 +631,10 @@ int vidix_preinit(const char *drvname, struct vo_old_functions *server)
|
|||||||
int err;
|
int err;
|
||||||
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
||||||
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_preinit(%s) was called\n",drvname); }
|
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_preinit(%s) was called\n",drvname); }
|
||||||
if(vdlGetVersion() != VIDIX_VERSION)
|
|
||||||
{
|
vidix_handler = vdlOpen(drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
|
||||||
mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_SUB_VIDIX_YouHaveWrongVersionOfVidixLibrary);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#ifndef __MINGW32__
|
|
||||||
vidix_handler = vdlOpen(MP_VIDIX_PFX,
|
|
||||||
drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
|
|
||||||
TYPE_OUTPUT,
|
TYPE_OUTPUT,
|
||||||
verbose);
|
verbose);
|
||||||
#else
|
|
||||||
vidix_handler = vdlOpen(get_path("vidix/"),
|
|
||||||
drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
|
|
||||||
TYPE_OUTPUT,
|
|
||||||
verbose);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(vidix_handler == NULL)
|
if(vidix_handler == NULL)
|
||||||
{
|
{
|
||||||
|
@ -27,11 +27,6 @@ void vidix_term( void );
|
|||||||
uint32_t vidix_control(uint32_t request, void *data);
|
uint32_t vidix_control(uint32_t request, void *data);
|
||||||
uint32_t vidix_query_fourcc(uint32_t fourcc);
|
uint32_t vidix_query_fourcc(uint32_t fourcc);
|
||||||
|
|
||||||
int vidix_draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y);
|
|
||||||
int vidix_draw_frame(uint8_t *src[]);
|
|
||||||
void vidix_flip_page(void);
|
|
||||||
void vidix_draw_osd(void);
|
|
||||||
|
|
||||||
#include "vidix/vidix.h"
|
#include "vidix/vidix.h"
|
||||||
/* graphic keys */
|
/* graphic keys */
|
||||||
int vidix_grkey_support(void);
|
int vidix_grkey_support(void);
|
||||||
|
10
mplayer.c
10
mplayer.c
@ -2542,6 +2542,9 @@ static int read_keys(void *ctx, int fd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* This preprocessor directive is a hack to generate a mplayer-nomain.o object
|
||||||
|
* file for some tools to link against. */
|
||||||
|
#ifndef DISABLE_MAIN
|
||||||
int main(int argc,char* argv[]){
|
int main(int argc,char* argv[]){
|
||||||
|
|
||||||
|
|
||||||
@ -3237,12 +3240,12 @@ if(mpctx->stream->type==STREAMTYPE_DVD){
|
|||||||
#ifdef USE_DVDNAV
|
#ifdef USE_DVDNAV
|
||||||
if(mpctx->stream->type==STREAMTYPE_DVDNAV){
|
if(mpctx->stream->type==STREAMTYPE_DVDNAV){
|
||||||
current_module="dvdnav lang->id";
|
current_module="dvdnav lang->id";
|
||||||
if(opts->audio_id==-1) opts->audio_id=dvdnav_aid_from_lang(mpctx->stream,audio_lang);
|
if(opts->audio_id==-1) opts->audio_id=mp_dvdnav_aid_from_lang(mpctx->stream,audio_lang);
|
||||||
if(dvdsub_lang && opts->sub_id==-2) opts->sub_id=-1;
|
if(dvdsub_lang && opts->sub_id==-2) opts->sub_id=-1;
|
||||||
if(dvdsub_lang && opts->sub_id==-1) opts->sub_id=dvdnav_sid_from_lang(mpctx->stream,dvdsub_lang);
|
if(dvdsub_lang && opts->sub_id==-1) opts->sub_id=mp_dvdnav_sid_from_lang(mpctx->stream,dvdsub_lang);
|
||||||
// setup global sub numbering
|
// setup global sub numbering
|
||||||
mpctx->global_sub_indices[SUB_SOURCE_DEMUX] = mpctx->global_sub_size; // the global # of the first demux-specific sub.
|
mpctx->global_sub_indices[SUB_SOURCE_DEMUX] = mpctx->global_sub_size; // the global # of the first demux-specific sub.
|
||||||
mpctx->global_sub_size += dvdnav_number_of_subs(mpctx->stream);
|
mpctx->global_sub_size += mp_dvdnav_number_of_subs(mpctx->stream);
|
||||||
current_module=NULL;
|
current_module=NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -4068,3 +4071,4 @@ exit_player_with_rc(mpctx, MSGTR_Exit_eof, 0);
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#endif /* DISABLE_MAIN */
|
||||||
|
@ -25,12 +25,14 @@ typedef enum {
|
|||||||
NAV_FLAG_EOF = 1 << 0, /* end of stream has been reached */
|
NAV_FLAG_EOF = 1 << 0, /* end of stream has been reached */
|
||||||
NAV_FLAG_WAIT = 1 << 1, /* wait event */
|
NAV_FLAG_WAIT = 1 << 1, /* wait event */
|
||||||
NAV_FLAG_WAIT_SKIP = 1 << 2, /* wait skip disable */
|
NAV_FLAG_WAIT_SKIP = 1 << 2, /* wait skip disable */
|
||||||
NAV_FLAG_CELL_CHANGED = 1 << 3, /* cell change event */
|
NAV_FLAG_CELL_CHANGE = 1 << 3, /* cell change event */
|
||||||
NAV_FLAG_WAIT_READ_AUTO = 1 << 4, /* wait read auto mode */
|
NAV_FLAG_WAIT_READ_AUTO = 1 << 4, /* wait read auto mode */
|
||||||
NAV_FLAG_WAIT_READ = 1 << 5, /* suspend read from stream */
|
NAV_FLAG_WAIT_READ = 1 << 5, /* suspend read from stream */
|
||||||
NAV_FLAG_VTS_DOMAIN = 1 << 6, /* vts domain */
|
NAV_FLAG_VTS_DOMAIN = 1 << 6, /* vts domain */
|
||||||
NAV_FLAG_SPU_SET = 1 << 7, /* spu_clut is valid */
|
NAV_FLAG_SPU_SET = 1 << 7, /* spu_clut is valid */
|
||||||
NAV_FLAG_STREAM_CHANGE = 1 << 8, /* title, chapter, audio or SPU */
|
NAV_FLAG_STREAM_CHANGE = 1 << 8, /* title, chapter, audio or SPU */
|
||||||
|
NAV_FLAG_AUDIO_CHANGE = 1 << 9, /* audio stream change event */
|
||||||
|
NAV_FLAG_SPU_CHANGE = 1 << 10, /* spu stream change event */
|
||||||
} dvdnav_state_t;
|
} dvdnav_state_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -331,7 +333,9 @@ static int fill_buffer(stream_t *s, char *but, int len)
|
|||||||
int tit = 0, part = 0;
|
int tit = 0, part = 0;
|
||||||
dvdnav_vts_change_event_t *vts_event = (dvdnav_vts_change_event_t *)s->buffer;
|
dvdnav_vts_change_event_t *vts_event = (dvdnav_vts_change_event_t *)s->buffer;
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_INFO, "DVDNAV, switched to title: %d\r\n", vts_event->new_vtsN);
|
mp_msg(MSGT_CPLAYER,MSGL_INFO, "DVDNAV, switched to title: %d\r\n", vts_event->new_vtsN);
|
||||||
priv->state |= NAV_FLAG_CELL_CHANGED;
|
priv->state |= NAV_FLAG_CELL_CHANGE;
|
||||||
|
priv->state |= NAV_FLAG_AUDIO_CHANGE;
|
||||||
|
priv->state |= NAV_FLAG_SPU_CHANGE;
|
||||||
priv->state &= ~NAV_FLAG_WAIT_SKIP;
|
priv->state &= ~NAV_FLAG_WAIT_SKIP;
|
||||||
priv->state &= ~NAV_FLAG_WAIT;
|
priv->state &= ~NAV_FLAG_WAIT;
|
||||||
s->end_pos = 0;
|
s->end_pos = 0;
|
||||||
@ -347,7 +351,9 @@ static int fill_buffer(stream_t *s, char *but, int len)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DVDNAV_CELL_CHANGE: {
|
case DVDNAV_CELL_CHANGE: {
|
||||||
priv->state |= NAV_FLAG_CELL_CHANGED;
|
priv->state |= NAV_FLAG_CELL_CHANGE;
|
||||||
|
priv->state |= NAV_FLAG_AUDIO_CHANGE;
|
||||||
|
priv->state |= NAV_FLAG_SPU_CHANGE;
|
||||||
priv->state &= ~NAV_FLAG_WAIT_SKIP;
|
priv->state &= ~NAV_FLAG_WAIT_SKIP;
|
||||||
priv->state &= ~NAV_FLAG_WAIT;
|
priv->state &= ~NAV_FLAG_WAIT;
|
||||||
if (priv->state & NAV_FLAG_WAIT_READ_AUTO)
|
if (priv->state & NAV_FLAG_WAIT_READ_AUTO)
|
||||||
@ -360,6 +366,12 @@ static int fill_buffer(stream_t *s, char *but, int len)
|
|||||||
dvdnav_get_highlight (priv, 1);
|
dvdnav_get_highlight (priv, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case DVDNAV_AUDIO_STREAM_CHANGE:
|
||||||
|
priv->state |= NAV_FLAG_AUDIO_CHANGE;
|
||||||
|
break;
|
||||||
|
case DVDNAV_SPU_STREAM_CHANGE:
|
||||||
|
priv->state |= NAV_FLAG_SPU_CHANGE;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mp_msg(MSGT_STREAM,MSGL_DBG2,"DVDNAV fill_buffer len: %d\n",len);
|
mp_msg(MSGT_STREAM,MSGL_DBG2,"DVDNAV fill_buffer len: %d\n",len);
|
||||||
@ -669,16 +681,58 @@ void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* but
|
|||||||
priv->mousey = y;
|
priv->mousey = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mp_dvdnav_get_aid_from_format (stream_t *stream, int index, uint8_t lg) {
|
||||||
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
|
uint8_t format;
|
||||||
|
|
||||||
|
format = dvdnav_audio_stream_format(priv->dvdnav, lg);
|
||||||
|
switch(format) {
|
||||||
|
case DVDNAV_FORMAT_AC3:
|
||||||
|
return (index + 128);
|
||||||
|
case DVDNAV_FORMAT_DTS:
|
||||||
|
return (index + 136);
|
||||||
|
case DVDNAV_FORMAT_LPCM:
|
||||||
|
return (index + 160);
|
||||||
|
case DVDNAV_FORMAT_MPEGAUDIO:
|
||||||
|
return index;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief dvdnav_aid_from_lang() returns the audio id corresponding to the language code 'lang'
|
* \brief mp_dvdnav_aid_from_audio_num() returns the audio id corresponding to the logical number
|
||||||
|
* \param stream: - stream pointer
|
||||||
|
* \param audio_num: - logical number
|
||||||
|
* \return -1 on error, current subtitle id if successful
|
||||||
|
*/
|
||||||
|
int mp_dvdnav_aid_from_audio_num(stream_t *stream, int audio_num) {
|
||||||
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
|
int k;
|
||||||
|
uint8_t lg;
|
||||||
|
|
||||||
|
for(k=0; k<32; k++) {
|
||||||
|
lg = dvdnav_get_audio_logical_stream(priv->dvdnav, k);
|
||||||
|
if (lg == 0xff) continue;
|
||||||
|
if (lg != audio_num) continue;
|
||||||
|
|
||||||
|
return mp_dvdnav_get_aid_from_format (stream, k, lg);
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief mp_dvdnav_aid_from_lang() returns the audio id corresponding to the language code 'lang'
|
||||||
* \param stream: - stream pointer
|
* \param stream: - stream pointer
|
||||||
* \param lang: 2-characters language code[s], eventually separated by spaces of commas
|
* \param lang: 2-characters language code[s], eventually separated by spaces of commas
|
||||||
* \return -1 on error, current subtitle id if successful
|
* \return -1 on error, current subtitle id if successful
|
||||||
*/
|
*/
|
||||||
int dvdnav_aid_from_lang(stream_t *stream, unsigned char *language) {
|
int mp_dvdnav_aid_from_lang(stream_t *stream, unsigned char *language) {
|
||||||
dvdnav_priv_t * priv = stream->priv;
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
int k;
|
int k;
|
||||||
uint8_t format, lg;
|
uint8_t lg;
|
||||||
uint16_t lang, lcode;;
|
uint16_t lang, lcode;;
|
||||||
|
|
||||||
while(language && strlen(language)>=2) {
|
while(language && strlen(language)>=2) {
|
||||||
@ -687,21 +741,8 @@ int dvdnav_aid_from_lang(stream_t *stream, unsigned char *language) {
|
|||||||
lg = dvdnav_get_audio_logical_stream(priv->dvdnav, k);
|
lg = dvdnav_get_audio_logical_stream(priv->dvdnav, k);
|
||||||
if(lg == 0xff) continue;
|
if(lg == 0xff) continue;
|
||||||
lang = dvdnav_audio_stream_to_lang(priv->dvdnav, lg);
|
lang = dvdnav_audio_stream_to_lang(priv->dvdnav, lg);
|
||||||
if(lang != 0xFFFF && lang == lcode) {
|
if(lang != 0xFFFF && lang == lcode)
|
||||||
format = dvdnav_audio_stream_format(priv->dvdnav, lg);
|
return mp_dvdnav_get_aid_from_format (stream, k, lg);
|
||||||
switch(format) {
|
|
||||||
case DVDNAV_FORMAT_AC3:
|
|
||||||
return k+128;
|
|
||||||
case DVDNAV_FORMAT_DTS:
|
|
||||||
return k+136;
|
|
||||||
case DVDNAV_FORMAT_LPCM:
|
|
||||||
return k+160;
|
|
||||||
case DVDNAV_FORMAT_MPEGAUDIO:
|
|
||||||
return k;
|
|
||||||
default:
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
language += 2;
|
language += 2;
|
||||||
while(language[0]==',' || language[0]==' ') ++language;
|
while(language[0]==',' || language[0]==' ') ++language;
|
||||||
@ -710,13 +751,13 @@ int dvdnav_aid_from_lang(stream_t *stream, unsigned char *language) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief dvdnav_lang_from_aid() assigns to buf the language corresponding to audio id 'aid'
|
* \brief mp_dvdnav_lang_from_aid() assigns to buf the language corresponding to audio id 'aid'
|
||||||
* \param stream: - stream pointer
|
* \param stream: - stream pointer
|
||||||
* \param sid: physical subtitle id
|
* \param sid: physical subtitle id
|
||||||
* \param buf: buffer to contain the 2-chars language string
|
* \param buf: buffer to contain the 2-chars language string
|
||||||
* \return 0 on error, 1 if successful
|
* \return 0 on error, 1 if successful
|
||||||
*/
|
*/
|
||||||
int dvdnav_lang_from_aid(stream_t *stream, int aid, unsigned char *buf) {
|
int mp_dvdnav_lang_from_aid(stream_t *stream, int aid, unsigned char *buf) {
|
||||||
uint8_t lg;
|
uint8_t lg;
|
||||||
uint16_t lang;
|
uint16_t lang;
|
||||||
dvdnav_priv_t * priv = stream->priv;
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
@ -735,12 +776,12 @@ int dvdnav_lang_from_aid(stream_t *stream, int aid, unsigned char *buf) {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief dvdnav_sid_from_lang() returns the subtitle id corresponding to the language code 'lang'
|
* \brief mp_dvdnav_sid_from_lang() returns the subtitle id corresponding to the language code 'lang'
|
||||||
* \param stream: - stream pointer
|
* \param stream: - stream pointer
|
||||||
* \param lang: 2-characters language code[s], eventually separated by spaces of commas
|
* \param lang: 2-characters language code[s], eventually separated by spaces of commas
|
||||||
* \return -1 on error, current subtitle id if successful
|
* \return -1 on error, current subtitle id if successful
|
||||||
*/
|
*/
|
||||||
int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) {
|
int mp_dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) {
|
||||||
dvdnav_priv_t * priv = stream->priv;
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
uint8_t lg, k;
|
uint8_t lg, k;
|
||||||
uint16_t lang, lcode;
|
uint16_t lang, lcode;
|
||||||
@ -762,13 +803,13 @@ int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief dvdnav_lang_from_sid() assigns to buf the language corresponding to subtitle id 'sid'
|
* \brief mp_dvdnav_lang_from_sid() assigns to buf the language corresponding to subtitle id 'sid'
|
||||||
* \param stream: - stream pointer
|
* \param stream: - stream pointer
|
||||||
* \param sid: physical subtitle id
|
* \param sid: physical subtitle id
|
||||||
* \param buf: buffer to contain the 2-chars language string
|
* \param buf: buffer to contain the 2-chars language string
|
||||||
* \return 0 on error, 1 if successful
|
* \return 0 on error, 1 if successful
|
||||||
*/
|
*/
|
||||||
int dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf) {
|
int mp_dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf) {
|
||||||
uint8_t lg;
|
uint8_t lg;
|
||||||
uint16_t lang;
|
uint16_t lang;
|
||||||
dvdnav_priv_t *priv = stream->priv;
|
dvdnav_priv_t *priv = stream->priv;
|
||||||
@ -783,11 +824,11 @@ int dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief dvdnav_number_of_subs() returns the count of available subtitles
|
* \brief mp_dvdnav_number_of_subs() returns the count of available subtitles
|
||||||
* \param stream: - stream pointer
|
* \param stream: - stream pointer
|
||||||
* \return 0 on error, something meaningful otherwise
|
* \return 0 on error, something meaningful otherwise
|
||||||
*/
|
*/
|
||||||
int dvdnav_number_of_subs(stream_t *stream) {
|
int mp_dvdnav_number_of_subs(stream_t *stream) {
|
||||||
dvdnav_priv_t * priv = stream->priv;
|
dvdnav_priv_t * priv = stream->priv;
|
||||||
uint8_t lg, k, n=0;
|
uint8_t lg, k, n=0;
|
||||||
|
|
||||||
@ -823,6 +864,7 @@ void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl) {
|
|||||||
hl->sy = hlev.sy;
|
hl->sy = hlev.sy;
|
||||||
hl->ex = hlev.ex;
|
hl->ex = hlev.ex;
|
||||||
hl->ey = hlev.ey;
|
hl->ey = hlev.ey;
|
||||||
|
hl->palette = hlev.palette;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mp_dvdnav_switch_title (stream_t *stream, int title) {
|
void mp_dvdnav_switch_title (stream_t *stream, int title) {
|
||||||
@ -896,15 +938,51 @@ void mp_dvdnav_read_wait (stream_t *stream, int mode, int automode) {
|
|||||||
*/
|
*/
|
||||||
int mp_dvdnav_cell_has_changed (stream_t *stream, int clear) {
|
int mp_dvdnav_cell_has_changed (stream_t *stream, int clear) {
|
||||||
dvdnav_priv_t *priv = stream->priv;
|
dvdnav_priv_t *priv = stream->priv;
|
||||||
if (!(priv->state & NAV_FLAG_CELL_CHANGED))
|
if (!(priv->state & NAV_FLAG_CELL_CHANGE))
|
||||||
return 0;
|
return 0;
|
||||||
if (clear) {
|
if (clear) {
|
||||||
priv->state &= ~NAV_FLAG_CELL_CHANGED;
|
priv->state &= ~NAV_FLAG_CELL_CHANGE;
|
||||||
priv->state |= NAV_FLAG_STREAM_CHANGE;
|
priv->state |= NAV_FLAG_STREAM_CHANGE;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Check if audio has changed
|
||||||
|
* \param stream: - stream pointer
|
||||||
|
* \param clear : - if true, then clear audio change flag
|
||||||
|
* \return 1 if audio has changed
|
||||||
|
*/
|
||||||
|
int mp_dvdnav_audio_has_changed (stream_t *stream, int clear) {
|
||||||
|
dvdnav_priv_t *priv = stream->priv;
|
||||||
|
|
||||||
|
if (!(priv->state & NAV_FLAG_AUDIO_CHANGE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (clear)
|
||||||
|
priv->state &= ~NAV_FLAG_AUDIO_CHANGE;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Check if SPU has changed
|
||||||
|
* \param stream: - stream pointer
|
||||||
|
* \param clear : - if true, then clear spu change flag
|
||||||
|
* \return 1 if spu has changed
|
||||||
|
*/
|
||||||
|
int mp_dvdnav_spu_has_changed (stream_t *stream, int clear) {
|
||||||
|
dvdnav_priv_t *priv = stream->priv;
|
||||||
|
|
||||||
|
if (!(priv->state & NAV_FLAG_SPU_CHANGE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (clear)
|
||||||
|
priv->state &= ~NAV_FLAG_SPU_CHANGE;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Notify if something has changed in stream
|
/* Notify if something has changed in stream
|
||||||
* Can be related to title, chapter, audio or SPU
|
* Can be related to title, chapter, audio or SPU
|
||||||
*/
|
*/
|
||||||
|
@ -13,13 +13,15 @@ typedef struct {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t sx, sy;
|
uint16_t sx, sy;
|
||||||
uint16_t ex, ey;
|
uint16_t ex, ey;
|
||||||
|
uint32_t palette;
|
||||||
} nav_highlight_t;
|
} nav_highlight_t;
|
||||||
|
|
||||||
int dvdnav_number_of_subs(stream_t *stream);
|
int mp_dvdnav_number_of_subs(stream_t *stream);
|
||||||
int dvdnav_aid_from_lang(stream_t *stream, unsigned char *language);
|
int mp_dvdnav_aid_from_audio_num(stream_t *stream, int audio_num);
|
||||||
int dvdnav_lang_from_aid(stream_t *stream, int id, unsigned char *buf);
|
int mp_dvdnav_aid_from_lang(stream_t *stream, unsigned char *language);
|
||||||
int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language);
|
int mp_dvdnav_lang_from_aid(stream_t *stream, int id, unsigned char *buf);
|
||||||
int dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf);
|
int mp_dvdnav_sid_from_lang(stream_t *stream, unsigned char *language);
|
||||||
|
int mp_dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf);
|
||||||
void mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button);
|
void mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button);
|
||||||
void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* button);
|
void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* button);
|
||||||
void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl);
|
void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl);
|
||||||
@ -30,6 +32,8 @@ int mp_dvdnav_skip_still (stream_t *stream);
|
|||||||
int mp_dvdnav_skip_wait (stream_t *stream);
|
int mp_dvdnav_skip_wait (stream_t *stream);
|
||||||
void mp_dvdnav_read_wait (stream_t *stream, int mode, int automode);
|
void mp_dvdnav_read_wait (stream_t *stream, int mode, int automode);
|
||||||
int mp_dvdnav_cell_has_changed (stream_t *stream, int clear);
|
int mp_dvdnav_cell_has_changed (stream_t *stream, int clear);
|
||||||
|
int mp_dvdnav_audio_has_changed (stream_t *stream, int clear);
|
||||||
|
int mp_dvdnav_spu_has_changed (stream_t *stream, int clear);
|
||||||
int mp_dvdnav_stream_has_changed (stream_t *stream);
|
int mp_dvdnav_stream_has_changed (stream_t *stream);
|
||||||
|
|
||||||
#endif /* MPLAYER_STREAM_DVDNAV_H */
|
#endif /* MPLAYER_STREAM_DVDNAV_H */
|
||||||
|
@ -36,8 +36,8 @@
|
|||||||
#ifndef MPLAYER_DHA_H
|
#ifndef MPLAYER_DHA_H
|
||||||
#define MPLAYER_DHA_H
|
#define MPLAYER_DHA_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifndef DEV_SVGA
|
||||||
extern "C" {
|
#define DEV_SVGA "/dev/svga"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAX_DEV_PER_VENDOR_CFG1 64
|
#define MAX_DEV_PER_VENDOR_CFG1 64
|
||||||
@ -88,8 +88,4 @@ extern void unmap_phys_mem(void *ptr, unsigned long size);
|
|||||||
#define MTRR_TYPE_WRBACK 6
|
#define MTRR_TYPE_WRBACK 6
|
||||||
extern int mtrr_set_type(unsigned base,unsigned size,int type);
|
extern int mtrr_set_type(unsigned base,unsigned size,int type);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* MPLAYER_DHA_H */
|
#endif /* MPLAYER_DHA_H */
|
||||||
|
@ -476,7 +476,6 @@ static int mach64_init(void)
|
|||||||
printf("[mach64] Driver was not probed but is being initializing\n");
|
printf("[mach64] Driver was not probed but is being initializing\n");
|
||||||
return EINTR;
|
return EINTR;
|
||||||
}
|
}
|
||||||
if(verbosity > 0) printf("[mach64] version %d\n", VIDIX_VERSION);
|
|
||||||
|
|
||||||
if((mach64_mmio_base = map_phys_mem(pci_info.base2,0x1000))==(void *)-1) return ENOMEM;
|
if((mach64_mmio_base = map_phys_mem(pci_info.base2,0x1000))==(void *)-1) return ENOMEM;
|
||||||
mach64_wait_for_idle();
|
mach64_wait_for_idle();
|
||||||
|
@ -145,9 +145,6 @@ function print_head( out_file)
|
|||||||
|
|
||||||
function print_name_struct(out_file)
|
function print_name_struct(out_file)
|
||||||
{
|
{
|
||||||
print "#ifdef __cplusplus" >out_file
|
|
||||||
print "extern \"C\" {" >out_file
|
|
||||||
print "#endif" >out_file
|
|
||||||
print "">out_file
|
print "">out_file
|
||||||
print "struct device_id_s" >out_file
|
print "struct device_id_s" >out_file
|
||||||
print "{" >out_file
|
print "{" >out_file
|
||||||
@ -164,9 +161,6 @@ function print_name_struct(out_file)
|
|||||||
print "extern const char *pci_vendor_name(unsigned short id);">out_file
|
print "extern const char *pci_vendor_name(unsigned short id);">out_file
|
||||||
print "extern const char *pci_device_name(unsigned short vendor_id, unsigned short device_id);">out_file
|
print "extern const char *pci_device_name(unsigned short vendor_id, unsigned short device_id);">out_file
|
||||||
print "">out_file
|
print "">out_file
|
||||||
print "#ifdef __cplusplus" >out_file
|
|
||||||
print "}" >out_file
|
|
||||||
print "#endif" >out_file
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1297,8 +1297,6 @@ static int radeon_init(void)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if(verbosity > 0) printf("[radeon_vid] version %d\n", VIDIX_VERSION);
|
|
||||||
|
|
||||||
if(!probed)
|
if(!probed)
|
||||||
{
|
{
|
||||||
printf(RADEON_MSG" Driver was not probed but is being initializing\n");
|
printf(RADEON_MSG" Driver was not probed but is being initializing\n");
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* S3 chipsets registers definition.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2004 Reza Jelveh
|
||||||
|
* Thanks to Alex Deucher for Support
|
||||||
|
* Trio/Virge support by Michael Kostylev
|
||||||
|
*
|
||||||
|
* This file is part of MPlayer.
|
||||||
|
*
|
||||||
|
* MPlayer 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.
|
||||||
|
*
|
||||||
|
* MPlayer 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 MPlayer; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef MPLAYER_SAVAGE_REGS_H
|
#ifndef MPLAYER_SAVAGE_REGS_H
|
||||||
#define MPLAYER_SAVAGE_REGS_H
|
#define MPLAYER_SAVAGE_REGS_H
|
||||||
|
|
||||||
|
@ -68,7 +68,6 @@ static long pci_config_read_long(
|
|||||||
int func,
|
int func,
|
||||||
unsigned cmd)
|
unsigned cmd)
|
||||||
{
|
{
|
||||||
unsigned long config_cmd;
|
|
||||||
pcic_t p;
|
pcic_t p;
|
||||||
|
|
||||||
p.address = cmd;
|
p.address = cmd;
|
||||||
|
@ -36,12 +36,6 @@
|
|||||||
#ifndef MPLAYER_VIDIX_H
|
#ifndef MPLAYER_VIDIX_H
|
||||||
#define MPLAYER_VIDIX_H
|
#define MPLAYER_VIDIX_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define VIDIX_VERSION 100
|
|
||||||
|
|
||||||
#define PROBE_NORMAL 0 /* normal probing */
|
#define PROBE_NORMAL 0 /* normal probing */
|
||||||
#define PROBE_FORCE 1 /* ignore device_id but recognize device if it's known */
|
#define PROBE_FORCE 1 /* ignore device_id but recognize device if it's known */
|
||||||
|
|
||||||
@ -311,8 +305,4 @@ typedef struct vidix_oem_fx_s
|
|||||||
char *name[80]; /* effect name to display */
|
char *name[80]; /* effect name to display */
|
||||||
} vidix_oem_fx_t;
|
} vidix_oem_fx_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* MPLAYER_VIDIX_H */
|
#endif /* MPLAYER_VIDIX_H */
|
||||||
|
@ -44,12 +44,7 @@
|
|||||||
#include "libavutil/common.h"
|
#include "libavutil/common.h"
|
||||||
#include "mpbswap.h"
|
#include "mpbswap.h"
|
||||||
|
|
||||||
extern unsigned int vdlGetVersion( void )
|
VDL_HANDLE vdlOpen(const char *name,unsigned cap,int verbose)
|
||||||
{
|
|
||||||
return VIDIX_VERSION;
|
|
||||||
}
|
|
||||||
|
|
||||||
VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap,int verbose)
|
|
||||||
{
|
{
|
||||||
VDXContext *ctx;
|
VDXContext *ctx;
|
||||||
|
|
||||||
|
@ -36,10 +36,6 @@
|
|||||||
#ifndef MPLAYER_VIDIXLIB_H
|
#ifndef MPLAYER_VIDIXLIB_H
|
||||||
#define MPLAYER_VIDIXLIB_H
|
#define MPLAYER_VIDIXLIB_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "vidix.h"
|
#include "vidix.h"
|
||||||
|
|
||||||
typedef struct VDXDriver {
|
typedef struct VDXDriver {
|
||||||
@ -74,9 +70,6 @@ typedef struct VDXContext {
|
|||||||
|
|
||||||
typedef VDXContext * VDL_HANDLE;
|
typedef VDXContext * VDL_HANDLE;
|
||||||
|
|
||||||
/* returns library version */
|
|
||||||
unsigned vdlGetVersion( void );
|
|
||||||
|
|
||||||
/* Opens corresponded video driver and returns handle
|
/* Opens corresponded video driver and returns handle
|
||||||
of associated stream.
|
of associated stream.
|
||||||
path - specifies path where drivers are located.
|
path - specifies path where drivers are located.
|
||||||
@ -85,7 +78,7 @@ unsigned vdlGetVersion( void );
|
|||||||
verbose - specifies verbose level
|
verbose - specifies verbose level
|
||||||
returns !0 if ok else NULL.
|
returns !0 if ok else NULL.
|
||||||
*/
|
*/
|
||||||
VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap,int verbose);
|
VDL_HANDLE vdlOpen(const char *name,unsigned cap,int verbose);
|
||||||
/* Closes stream and corresponded driver. */
|
/* Closes stream and corresponded driver. */
|
||||||
void vdlClose(VDL_HANDLE ctx);
|
void vdlClose(VDL_HANDLE ctx);
|
||||||
|
|
||||||
@ -138,8 +131,4 @@ int vdlSetOemEffect(VDL_HANDLE, const vidix_oem_fx_t * );
|
|||||||
/* Returns 0 if ok else errno */
|
/* Returns 0 if ok else errno */
|
||||||
int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * );
|
int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* MPLAYER_VIDIXLIB_H */
|
#endif /* MPLAYER_VIDIXLIB_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user