mirror of
https://github.com/mpv-player/mpv
synced 2025-04-01 23:00:41 +00: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:
|
||||
.
|
||||
.TP
|
||||
.B \-<codec>opts <option1[=value],option2,...>
|
||||
.B \-<codec>opts <option1[=value1]:option2[=value2]:...>
|
||||
.
|
||||
.PP
|
||||
Where <codec> may be: lavc, xvidenc, lame, toolame, twolame,
|
||||
@ -10693,6 +10693,12 @@ FIXME: Document this.
|
||||
.B VIDIX_CRT
|
||||
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:
|
||||
.
|
||||
.TP
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" synced with r26762
|
||||
.\" synced with r26806
|
||||
.\" Encoding: iso-8859-1
|
||||
.\" MPlayer (C) 2000-2008 MPlayer Team
|
||||
.\" 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
|
||||
visuels pour confirmer les contrôles au clavier. Les polices
|
||||
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,
|
||||
SSA, AQTitle, JACOsub, PJS et le nôtre: MPsub) et les sous-titres
|
||||
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
|
||||
par MPlayer (voir ci-dessous).
|
||||
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
|
||||
puissant système de plugins (découpage, expansion, retournement, postprocess,
|
||||
rotation, redimensionnement, bruit, conversion RGB/\:YUV) et bien plus.
|
||||
@ -231,9 +231,9 @@ R
|
||||
.IPs "< et >"
|
||||
Recule/\:avance dans la liste de lecture (playlist).
|
||||
.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"
|
||||
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.
|
||||
.IPs "INSER et SUPPR (liste de lecture ASX uniquement)"
|
||||
Va à la prochaine/\:précédente source de rechange.
|
||||
@ -264,9 +264,8 @@ Alterne entre les pistes vid
|
||||
Alterne entre les pistes audio disponibles.
|
||||
.IPs "TAB (MPEG-TS et libavformat uniquement)"
|
||||
Alterne entre les différents programmes disponibles.
|
||||
Cycle through the available programs.
|
||||
.IPs "f\ \ \ \ "
|
||||
Bascule en plein-écran.
|
||||
Bascule en mode plein-écran.
|
||||
.IPs "T\ \ \ \ "
|
||||
Bascule en mode toujours visible.
|
||||
.IPs "w et e"
|
||||
@ -275,14 +274,14 @@ R
|
||||
Alterne entre les états OSD: aucun / déplacement /
|
||||
déplacement + chrono / déplacement + chrono + durée totale
|
||||
.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)
|
||||
.IPs "v\ \ \ \ "
|
||||
Bascule l'affichage des sous-titres.
|
||||
.IPs "j\ \ \ \ "
|
||||
Alterne entre les différents sous-titres disponibles.
|
||||
.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\ \ \ \ "
|
||||
Bascule l'affichage des "sous-titres forcés".
|
||||
.IPs "a\ \ \ \ "
|
||||
@ -292,7 +291,7 @@ Ajuste le d
|
||||
.IPs "r et t"
|
||||
Translate les sous-titres vers le haut/bas.
|
||||
.IPs i (mode \-edlout uniquement)
|
||||
Créé une marque EDL.
|
||||
Crée une marque EDL.
|
||||
.IPs "s (\-vf screenshot uniquement)"
|
||||
Réalise une capture d'écran.
|
||||
.IPs "S (\-vf screenshot uniquement)"
|
||||
@ -300,11 +299,11 @@ Amorce/arr
|
||||
.IPs "I\ \ \ \ "
|
||||
Affiche le nom de fichier dans l'OSD.
|
||||
.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)"
|
||||
Active/désactive le désentrelacement.
|
||||
.IPs "A"
|
||||
Bascule entre les angles du DVD disponibles.
|
||||
Bascule entre les angles disponibles du DVD.
|
||||
.RE
|
||||
.PD 1
|
||||
.PP
|
||||
@ -321,7 +320,7 @@ Ajuste le contraste.
|
||||
.IPs "3 et 4"
|
||||
Ajuste la luminosité.
|
||||
.IPs "5 et 6"
|
||||
Ajuste la couleur.
|
||||
Ajuste la teinte.
|
||||
.IPs "7 et 8"
|
||||
Ajuste la saturation.
|
||||
.RE
|
||||
@ -378,8 +377,8 @@ Navigue en arri
|
||||
.
|
||||
.PP
|
||||
.RS
|
||||
(Les touches suivantes ne sont valides uniquement si MPlayer a été
|
||||
compilé avec le support de la GUI et ont une priorité supérieure à celles
|
||||
(Les touches suivantes sont valides uniquement si MPlayer a été
|
||||
compilé avec le support de la GUI et si elles ont une priorité supérieure à celles
|
||||
définies plus haut dans ce document.)
|
||||
.RE
|
||||
.PP
|
||||
@ -405,14 +404,14 @@ Ouvre la fen
|
||||
.PP
|
||||
.RS
|
||||
(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.)
|
||||
.RE
|
||||
.PP
|
||||
.PD 0
|
||||
.RS
|
||||
.IPs "h et k"
|
||||
Sélectionne le canal précédent/\:prochain.
|
||||
Sélectionne le canal précédent/\:suivant.
|
||||
.IPs n
|
||||
Change de norme.
|
||||
.IPs u
|
||||
@ -431,7 +430,7 @@ navigation dans les menus).
|
||||
.IPs "touche 8"
|
||||
Bouton haut.
|
||||
.IPs "touche 2"
|
||||
Bouton du bas.
|
||||
Bouton bas.
|
||||
.IPs "touche 4"
|
||||
Bouton gauche.
|
||||
.IPs "touche 6"
|
||||
@ -439,7 +438,7 @@ Bouton droit.
|
||||
.IPs "touche 5"
|
||||
Retourne au menu principal.
|
||||
.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"
|
||||
Confirme le choix.
|
||||
.RE
|
||||
@ -456,9 +455,9 @@ le t
|
||||
.PD 0
|
||||
.RS
|
||||
.IPs "X\ \ \ \ "
|
||||
Bascule entre le télétexte activé ou désactivé.
|
||||
Active/\:désactive le télétexte.
|
||||
.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
|
||||
.PD 1
|
||||
.PP
|
||||
@ -485,7 +484,7 @@ Navigue en arri
|
||||
.IPs "haut et bas"
|
||||
Navigue en avant/\:arrière d'une minute.
|
||||
.IPs "bouton 1"
|
||||
pause
|
||||
Met en pause.
|
||||
.IPs "bouton 2"
|
||||
Alterne entre les états de l'OSD\ : rien / navigation / navigation + temps
|
||||
écoulé / navigation + temps écoulé + temps total.
|
||||
@ -505,7 +504,7 @@ Chaque option a son oppos
|
||||
\-fs est \-nofs.
|
||||
.PP
|
||||
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.
|
||||
.PP
|
||||
.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
|
||||
les fichiers.
|
||||
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
|
||||
initialisant à 'yes' ou '1' ou désactivées en les initialisant à 'no'
|
||||
ou '0'.
|
||||
@ -575,7 +574,7 @@ vf=eq2=1.0:\-0.8
|
||||
.I "EXEMPLE DE FICHIER DE CONFIGURATION MENCODER :"
|
||||
.sp 1
|
||||
.nf
|
||||
# Fait MEncoder écrire dans un certain fichier par défaut.
|
||||
# Fait écrire MEncoder dans un certain fichier par défaut.
|
||||
o=encoded.avi
|
||||
# Les 4 lignes suivantes permettant à mencoder tv:// de capturer immédiatement.
|
||||
oac=pcm=yes
|
||||
@ -661,7 +660,7 @@ lavcopts=mbd=2:trell=yes:v4mv=yes
|
||||
.TP
|
||||
.B \-codecs\-file <nomfichier> (voir aussi \-afm, \-ac, \-vfm et \-vc)
|
||||
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
|
||||
.B \-include <fichier de configuration>
|
||||
@ -673,7 +672,7 @@ Affiche toutes les options disponibles.
|
||||
.
|
||||
.TP
|
||||
.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).
|
||||
Le texte sera alors dans l'encodage défini par l'option du script configure
|
||||
\-\-charset.
|
||||
@ -681,8 +680,8 @@ La valeur "noconv" permet de d
|
||||
cas de problèmes avec iconv)\ ;
|
||||
.br
|
||||
.I NOTE\ :
|
||||
Ceci n'aura d'effet qu'après la ligne de commande aura été analysée,
|
||||
La variable d'environnment MPLAYER_CHARSET vous permettra de ne plus subir
|
||||
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 troncature des premières lignes affichées.
|
||||
.
|
||||
.TP
|
||||
@ -697,7 +696,7 @@ Le module 'all' change le niveau de verbosit
|
||||
Tapez '\-msglevel help' pour avoir la liste de tous les modules.
|
||||
.br
|
||||
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.
|
||||
Pour contrôler ces messages, vous devez utiliser la variable d'environnement
|
||||
MPLAYER_VERBOSE, voir sa description plus bas pour plus de détails.
|
||||
@ -711,15 +710,14 @@ compl
|
||||
messages fatals
|
||||
.IPs " 1"
|
||||
messages d'erreurs
|
||||
error messages
|
||||
.IPs " 2"
|
||||
messages d'avertissement
|
||||
.IPs " 3"
|
||||
quelques conseils
|
||||
messages de conseil
|
||||
.IPs " 4"
|
||||
messages informatifs
|
||||
.IPs " 5"
|
||||
messages de status (par défaut)
|
||||
messages de statut (par défaut)
|
||||
.IPs " 6"
|
||||
messages verbeux
|
||||
.IPs " 7"
|
||||
@ -733,14 +731,14 @@ niveau de debug 4
|
||||
.
|
||||
.TP
|
||||
.B \-msgmodule
|
||||
Préfixe les messages console du nom du module concerné.
|
||||
Préfixe les messages console avec le nom du module concerné.
|
||||
.
|
||||
.TP
|
||||
.B \-noconfig <options>
|
||||
Ne tient pas compte des fichiers de configuration donnés.
|
||||
.br
|
||||
.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.
|
||||
.sp 1
|
||||
Les options disponibles sont\ :
|
||||
@ -759,15 +757,15 @@ la configuration de l'utilisateur
|
||||
.
|
||||
.TP
|
||||
.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.
|
||||
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
|
||||
.B \-priority <prio> (Windows uniquement)
|
||||
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>\ :
|
||||
.RSs
|
||||
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.
|
||||
.
|
||||
.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
|
||||
Recherche un fichier de configuration spécifique au fichier joué
|
||||
dans le même répertoire que ce dernier.
|
||||
.br
|
||||
.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.
|
||||
.
|
||||
.TP
|
||||
@ -827,12 +825,12 @@ On peut souvent am
|
||||
vidéo irrégulier, mais qui peut-être lue avec \-nosound, en initialisant
|
||||
cette option à une valeur entière supérieure à 1.
|
||||
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.
|
||||
Avec cette valeur, si de larges écarts de synchro A/V se produisent, il ne
|
||||
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
|
||||
activée, pour tous les drivers audio.
|
||||
activée, pour tous les pilotes audio.
|
||||
.
|
||||
.TP
|
||||
.B \-benchmark
|
||||
@ -865,7 +863,7 @@ uniquement.
|
||||
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
|
||||
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
|
||||
de scène.
|
||||
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
|
||||
.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).
|
||||
Durant la lecture, la touche 'i' permet de marquer le début ou la fin d'un
|
||||
bloc à sauter.
|
||||
@ -906,8 +904,8 @@ lieu de les jouer imm
|
||||
.
|
||||
.TP
|
||||
.B \-fixed\-vo
|
||||
Force l'initialistation d'une seule fenêtre vidéo pour la lecture d'une
|
||||
série de de fichiers.
|
||||
Force l'initialisation d'une seule fenêtre vidéo pour la lecture d'une
|
||||
série de fichiers.
|
||||
Actuellement les pilotes suivants fonctionnent avec fixed-vo: gl, gl2, mga,
|
||||
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
|
||||
les machines lentes.
|
||||
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
|
||||
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,".
|
||||
.
|
||||
.TP
|
||||
@ -939,24 +937,24 @@ M
|
||||
.
|
||||
.TP
|
||||
.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.
|
||||
.sp 1
|
||||
.I NOTE\ :
|
||||
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é
|
||||
(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).
|
||||
.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.
|
||||
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
|
||||
.I EXEMPLE pour xscreensaver:
|
||||
mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
|
||||
.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
|
||||
.RE
|
||||
.PD 1
|
||||
@ -989,39 +987,39 @@ syst
|
||||
Les chemins sont relatifs à ~/.mplayer/.
|
||||
.br
|
||||
.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
|
||||
Les commandes disponibles sont:
|
||||
.sp 1
|
||||
.PD 0
|
||||
.RSs
|
||||
.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.
|
||||
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>.
|
||||
.IPs ar-dev=<peripherique>
|
||||
Périphérique à utiliser pour contrôler la télécommande Apple IR
|
||||
(auto-détecté par défaut, Linux uniquement).
|
||||
.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
|
||||
(0 pour désactiver).
|
||||
.IPs ar-rate
|
||||
Combien de frappes par seconde pendant la répétition automatique.
|
||||
.IPs keylist
|
||||
Afficher toutes les touches pouvant être attachées.
|
||||
Affiche toutes les touches pouvant être attachées.
|
||||
.IPs cmdlist
|
||||
Afficher toutes les commandes pouvant être attachées.
|
||||
Affiche toutes les commandes pouvant être attachées.
|
||||
.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).
|
||||
.IPs file=<nom_fichier>
|
||||
Lit les commandes depuis un fichier donné.
|
||||
Utile surtout avec une FIFO.
|
||||
.br
|
||||
.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
|
||||
restera valide.
|
||||
.RE
|
||||
@ -10697,6 +10695,28 @@ fichier de CQM au format JM, et de le charger comme pr
|
||||
.RE
|
||||
.
|
||||
.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>>
|
||||
Utilise soit une matrice de quantification personnalisée (CQM) prédéfinie
|
||||
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
|
||||
.\" Reminder of hard terms which need better/final solution later:
|
||||
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
|
||||
@ -162,7 +162,7 @@ tivo://主机/[list|llist|fsid]
|
||||
通过许多原生的和可执行的编解码器的支持, 它能播放绝大部分的 MPEG/\:VOB, AVI,
|
||||
ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo,
|
||||
yuv4mpeg, FILM 和 RoQ 文件。
|
||||
你还能观看 VCD, SVCD, DVD, 3ivx, DivX 3/4/5, 甚至 WMV 电影。
|
||||
你还能观看 VCD、SVCD、DVD、3ivx、DivX 3/4/5、WMV 甚至 H.264 格式的电影。
|
||||
.PP
|
||||
MPlayer 广泛地支持音视频输出驱动。
|
||||
它不仅可以使用 X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
|
||||
@ -235,6 +235,8 @@ MPlayer 有个完全可配置的, 命令驱动的控制层,
|
||||
按一下暂停回放, 每按一下就播放一帧(直到按其它键取消步进)。
|
||||
.IPs "q / ESC"
|
||||
停止播放和退出。
|
||||
.IPs "U\ \ \ \ "
|
||||
暂停播放(并且当未使用 \-idle 时退出)。
|
||||
.IPs "+ 和 \-"
|
||||
调整音频延迟增加/减少 0.1 秒。
|
||||
.IPs "/ 和 *"
|
||||
@ -900,6 +902,8 @@ mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
|
||||
.IPs conf=<文件名>
|
||||
指定输入配置文件而不是默认的 ~/\:.mplayer/\:input.conf。
|
||||
如果没有给出完全路径名, 将假设是 ~/\:.mplayer/\:<文件名>。
|
||||
.IPs ar-dev=<设备>
|
||||
用作为苹果 IR 遥控器的设置(默认值是自动侦测,仅用于 Linux)。
|
||||
.IPs ar-delay
|
||||
在开始自动重复一个键之前等待多少毫秒 (0 代表停用)。
|
||||
.IPs ar-rate
|
||||
@ -998,6 +1002,10 @@ n 大小的 FIFO 能容纳 (n\-1) 缓冲事件。
|
||||
关闭支持 LIRC。
|
||||
.
|
||||
.TP
|
||||
.B \-noar
|
||||
关闭对于苹果 IR 遥控器的支持。
|
||||
.
|
||||
.TP
|
||||
.B \-nomouseinput
|
||||
停用鼠标键 按/\:放 输入 (mozplayerxp 的上下文菜单依赖此选项)。
|
||||
.
|
||||
@ -1463,9 +1471,9 @@ IPv4 自动地作为备用。
|
||||
.
|
||||
.TP
|
||||
.B \-psprobe <字节所在位置>
|
||||
当播放MPEG-PS流时,此选项让你设定你希望MPlayer查看多少字节以确认所要
|
||||
使用的视频编/解码器。
|
||||
在播放含有H.264流的EVO文件时需要此选项。
|
||||
当播放 MPEG-PS 或 MPEG-PES 流时,此选项让你设定你希望 MPlayer 查看多少字节以确认
|
||||
所要使用的视频编/解码器。
|
||||
在播放含有 H.264 流的 EVO 或 VDR 文件时需要此选项。
|
||||
.
|
||||
.TP
|
||||
.B \-pvr <选项1:选项2:...> (仅适用于 PVR)
|
||||
@ -3125,6 +3133,8 @@ ggi 和 gl2 的都支持此功能。
|
||||
的 \-v 选项并注意开头有标签 [xv common] 的行。
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs adaptor=<数值>
|
||||
选择一个特定的 XVideo 适配器(请检查 xvinfo 的结果)。
|
||||
.IPs port=<数值>
|
||||
选择指定的 XVideo 端口。
|
||||
.IPs ck=<cur|use|set>
|
||||
@ -3358,14 +3368,23 @@ OpenGL 视频输出驱动, 简版。
|
||||
视频尺寸一定小于 OpenGL 实现的最大纹理尺寸。
|
||||
瞄准能与甚至最基本的 OpenGL 实现一起工作,
|
||||
但也利用较新的扩展, 允许支持更多的色彩空间和直接渲染。
|
||||
既然能对高清晰度提供
|
||||
.B 大
|
||||
的提速, 请使用 \-dr 如果你的 OpenGL 实现能一同工作。
|
||||
要获取最佳的速度,请尝试类似于
|
||||
.br
|
||||
\-vo gl:yuv=2:force\-pbo:ati\-hack \-dr \-noslices
|
||||
.br
|
||||
的选项。
|
||||
此代码执行极少的检测, 所以如果某个特性不工作,
|
||||
可能是因为你的卡或 OpenGL 实现不支持, 尽管连任何错误消息都没给你。
|
||||
使用 glxinfo 或类似的工具以显示支持的 OpenGL 扩展。
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs (no)ati\-hack
|
||||
当使用了 PBO 时(当使用了 \-dr 或强制使用 \-pbo 时),AIT 驱动可能输出损坏的图像。
|
||||
该选项修正这一问题,代价是多使用了一点内存。
|
||||
.IPs (no)force\-pbo
|
||||
总是使用 PBO 传输纹理,即使这需要额外的复制操作。
|
||||
当前该选项对于 NVidia 驱动能提升一点速度,而对于 ATI 驱动则是大大提升。
|
||||
可能需要 \-noslices 和 ati\-hack 子选项以使其正常工作。
|
||||
.IPs (no)scaled-osd
|
||||
当窗口大小改变时, 改变 OSD 的行为方式 (默认是: 停用)。
|
||||
启用时, 行为就像其他的视频输出驱动, 对固定大小的字体更好。
|
||||
@ -3499,8 +3518,9 @@ GL_ARB_fragment_shader!)。至少需要三个纹理单位。提供饱和度
|
||||
.
|
||||
.TP
|
||||
.B "gl2\ \ \ \ "
|
||||
OpenGL 视频输出驱动, 第二代。
|
||||
支持 OSD 和大于最大纹理尺寸的视频。
|
||||
OpenGL 视频输出驱动的修改版。
|
||||
支持大于最大纹理尺寸的视频,但是缺少许多 GL 驱动的高级功能和优化选项,并且以后也
|
||||
不大可能扩展功能。
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs (no)glfinish
|
||||
@ -4164,6 +4184,8 @@ mplayer video.nut \-vf format=bgr15 \-vo tga
|
||||
如果 <宽度> 指定了, 就使用了低分辨率解码,
|
||||
只要视频的宽度宽过(is major than)或等于 <宽度>。
|
||||
.RE
|
||||
.IPs "o\ \ \ \ "
|
||||
FIXME:没有说明文档
|
||||
.IPs "sb=<数值> (仅用于 MPEG-2)"
|
||||
跳过宏块底部的制定行数。
|
||||
.IPs "st=<数值> (仅用于 MPEG-2)"
|
||||
@ -7236,7 +7258,7 @@ Windows Media Video, version 2(也就是WMV8)
|
||||
.
|
||||
.TP
|
||||
.B vqmin=<1\-31>
|
||||
最低量化参数(第1/2阶段编码)
|
||||
最低量化参数
|
||||
.RSs
|
||||
.IPs 1
|
||||
不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263的质量会很差,
|
||||
@ -7286,7 +7308,7 @@ Lavc很少会使用低于vqmin值的量化参数。
|
||||
.
|
||||
.TP
|
||||
.B vqmax=<1\-31>
|
||||
最大量化参数(第1/2阶段编码),10\-31应该是一个合理的范围(默认值:31)。
|
||||
最大量化参数,10\-31应该是一个合理的范围(默认值:31)。
|
||||
.
|
||||
.TP
|
||||
.B mbqmin=<1\-31>
|
||||
@ -7298,7 +7320,7 @@ Lavc很少会使用低于vqmin值的量化参数。
|
||||
.
|
||||
.TP
|
||||
.B vqdiff=<1\-31>
|
||||
连续的I或P帧之间最大的量化参数差别(第1/2阶段编码)(默认值:3)
|
||||
连续的I或P帧之间最大的量化参数差别(默认值:3)
|
||||
.
|
||||
.TP
|
||||
.B vmax_b_frames=<0\-4>
|
||||
@ -7541,7 +7563,7 @@ huffyuv:
|
||||
.
|
||||
.TP
|
||||
.B vbitrate=<value>
|
||||
指定比特率(第1/2阶段编码)(默认值:800)。
|
||||
指定比特率(默认值:800)。
|
||||
.br
|
||||
.I 警告:
|
||||
1kbit = 1000 bits
|
||||
@ -7567,17 +7589,17 @@ vratetol在第二阶段编码中不应设得太大,否则当设置了vrc_(min|
|
||||
.
|
||||
.TP
|
||||
.B vrc_maxrate=<value>
|
||||
最大比特率,单位为kbit/\:sec(第1/2阶段编码)
|
||||
最大比特率,单位为kbit/\:sec
|
||||
(默认值:0,无限制)
|
||||
.
|
||||
.TP
|
||||
.B vrc_minrate=<value>
|
||||
最小比特率,单位为kbit/\:sec(第1/2阶段编码)
|
||||
最小比特率,单位为kbit/\:sec
|
||||
(默认值:0,无限制)
|
||||
.
|
||||
.TP
|
||||
.B vrc_buf_size=<value>
|
||||
缓冲大小,单位为kbit(第1/2阶段编码)。
|
||||
缓冲大小,单位为kbit。
|
||||
在MPEG-1/2中该选项同时设置了vbv缓冲的大小,对于VCD请使用327,对于SVCD使用917,而
|
||||
DVD使用1835。
|
||||
.
|
||||
@ -7601,19 +7623,19 @@ DVD使用1835。
|
||||
.
|
||||
.TP
|
||||
.B vb_qfactor=<\-31.0\-31.0>
|
||||
B帧和非B帧间的量化参数因数(第1/2阶段编码)(默认值1.25)
|
||||
B帧和非B帧间的量化参数因数(默认值1.25)
|
||||
.
|
||||
.TP
|
||||
.B vi_qfactor=<\-31.0\-31.0>
|
||||
I帧和非I帧间的量化参数因数(第1/2阶段编码)(默认值0.8)
|
||||
I帧和非I帧间的量化参数因数(默认值0.8)
|
||||
.
|
||||
.TP
|
||||
.B vb_qoffset=<\-31.0\-31.0>
|
||||
B帧和非B帧间的量化参数偏移量(第1/2阶段编码)(默认值1.25)
|
||||
B帧和非B帧间的量化参数偏移量(默认值1.25)
|
||||
.
|
||||
.TP
|
||||
.B vi_qoffset=<\-31.0\-31.0>
|
||||
(第1/2阶段编码)(默认值0.0)
|
||||
(默认值0.0)
|
||||
.br
|
||||
如果v{b|i}_qfactor > 0
|
||||
.br
|
||||
@ -7648,7 +7670,7 @@ lmin= <I/P帧量化参数>:lmax= <I/P帧量化参数>:vb_qfactor= <B帧量化参
|
||||
.
|
||||
.TP
|
||||
.B vqcomp=<0.0\-1.0>
|
||||
量化参数压缩,vrc_eq选项依赖于该选项(第1/2阶段编码)(默认值:0.5)。
|
||||
量化参数压缩,vrc_eq选项依赖于该选项(默认值:0.5)。
|
||||
例如,假设使用了默认的码率控制方程式,如果vqcomp=1.0,那么码率控制过程中将分配给
|
||||
每个帧足够的比特数,以使它们在同一个量化参数下编码。
|
||||
如果vqcomp=0.0,那么码率控制中将分配给每个帧相同的比特数,也就是严格的CBR模式。
|
||||
@ -7658,7 +7680,7 @@ lmin= <I/P帧量化参数>:lmax= <I/P帧量化参数>:vb_qfactor= <B帧量化参
|
||||
.
|
||||
.TP
|
||||
.B vrc_eq=<equation>
|
||||
主码率控制方程式(第1/2阶段编码)
|
||||
主码率控制方程式
|
||||
.RE
|
||||
.RSs
|
||||
.IPs "1\ \ \ \ "
|
||||
@ -7731,7 +7753,7 @@ B帧中的平均非内部纹理复杂度
|
||||
.
|
||||
.TP
|
||||
.B vrc_override=<options>
|
||||
用户指定的针于影片特定部分(尾声、演职员表……)的质量值(第1/2阶段编码)。
|
||||
用户指定的针于影片特定部分(尾声、演职员表……)的质量值。
|
||||
选项有<start-frame>、<end-frame>、<quality>[/<start-frame>,
|
||||
<end-frame>, <quality>[/...]]:
|
||||
.PD 0
|
||||
@ -7753,7 +7775,7 @@ B帧中的平均非内部纹理复杂度
|
||||
.
|
||||
.TP
|
||||
.B vqsquish=<0|1>
|
||||
指定如何使量化参数保持在qmin和qmax之间(第1/2阶段编码)。
|
||||
指定如何使量化参数保持在qmin和qmax之间。
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs 0
|
||||
@ -8481,6 +8503,10 @@ FIXME:为这个选项写说明文档。
|
||||
.B skip_threshold=<0\-1000000>
|
||||
FIXME:为这个选项写说明文档。
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME:没有说明文档
|
||||
.
|
||||
.
|
||||
.SS nuv(\-nuvopts)
|
||||
.
|
||||
@ -9440,6 +9466,25 @@ denoise3d或hqdn3d之类的视频滤镜来滤除噪声。
|
||||
有用值的范围是<\-2\-2>(默认值:0)。
|
||||
.
|
||||
.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>>
|
||||
要么使用一个预先定义好的自定义量化矩阵,要么加一个JM格式的矩阵文件。
|
||||
.PD 0
|
||||
@ -9714,6 +9759,10 @@ PAL至NTSC的电视图像化处理
|
||||
强制使用一个特定的 libav 格式库的分离器。
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME:没有说明文档
|
||||
.
|
||||
.TP
|
||||
.B probesize=<value>
|
||||
在侦测阶段所探测的最大数据量。
|
||||
在MPEG-TS的情况下,这个值指定了所扫描TS包的最大个数。
|
||||
@ -9785,6 +9834,10 @@ Sony 数字视频容器格式
|
||||
当前只对MPEG[12]有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解
|
||||
码时间戳(DTS)间的初始差距(流分离至解码间的延迟)。
|
||||
.
|
||||
.TP
|
||||
.B "o\ \ \ \ \ \ "
|
||||
FIXME:没有说明文档
|
||||
.
|
||||
.
|
||||
.
|
||||
.\" --------------------------------------------------------------------------
|
||||
|
@ -306,7 +306,6 @@ II. POLICY / RULES:
|
||||
- changes to "historical" parts of docs and web pages
|
||||
- use of internal or external libraries
|
||||
- reverting commits from other developers
|
||||
- mixing functional and cosmetic changes
|
||||
- making the spelling of words consistent without actually correcting
|
||||
any spelling errors.
|
||||
|
||||
|
@ -24,7 +24,7 @@ efficient as <application>MPlayer</application>'s.
|
||||
|
||||
<para>
|
||||
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).
|
||||
</para>
|
||||
|
||||
|
@ -18,7 +18,7 @@ we request and follow the instructions in this document closely.
|
||||
|
||||
|
||||
<sect1 id="bugreports_security">
|
||||
<title>Report security releated bugs</title>
|
||||
<title>Report security related bugs</title>
|
||||
|
||||
<para>
|
||||
In case you have found an exploitable bug and you would like to do the
|
||||
|
@ -88,7 +88,7 @@
|
||||
<!-- ********** -->
|
||||
|
||||
<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>
|
||||
<listitem>
|
||||
|
@ -222,11 +222,11 @@ form 1 and 2 tracks:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
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
|
||||
bytes/sector. This filesystem contains VCD metadata information, as
|
||||
error correction. The track contains an ISO-9660 file system with 2048
|
||||
bytes/sector. This file system contains VCD metadata information, as
|
||||
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
|
||||
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
|
||||
operation.
|
||||
</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
|
||||
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
|
||||
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
|
||||
<emphasis role="bold">cannot be mounted</emphasis>. As most movies are
|
||||
inside this kind of track, you should try <option>vcd://2</option>
|
||||
@ -246,7 +246,7 @@ form 1 and 2 tracks:
|
||||
</para></listitem>
|
||||
|
||||
<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.
|
||||
</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
|
||||
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
|
||||
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
|
||||
raw tracks through this shadow .DAT file. If you mount the disc using their
|
||||
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>.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Recompile <application>MPlayer</application> with
|
||||
<option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option>
|
||||
<option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option>.
|
||||
Recompile <application>MPlayer</application>.
|
||||
</para></step>
|
||||
</procedure>
|
||||
</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
|
||||
least minimally usable H.264 decoding since around July 2004,
|
||||
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.
|
||||
Just to be certain, it is always a good idea to use a recent Subversion
|
||||
checkout.
|
||||
@ -384,7 +382,7 @@ satisfied the requirements for <systemitem class="library">x264</systemitem>.
|
||||
Voxware audio (using DirectShow DLL)
|
||||
</para></listitem>
|
||||
<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
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
|
@ -83,7 +83,7 @@ functional.
|
||||
</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
|
||||
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
|
||||
@ -319,8 +319,8 @@ Return to Castle Wolfenstein.
|
||||
<title>OGG/OGM files</title>
|
||||
|
||||
<para>
|
||||
This is a new fileformat from
|
||||
<ulink url="http://www.xiph.org">Xiphophorus</ulink>.
|
||||
This is a new file format from the
|
||||
<ulink url="http://www.xiph.org">Xiph.Org Foundation</ulink>.
|
||||
It can contain any video or audio codec, CBR or VBR. You'll need
|
||||
<systemitem class="library">libogg</systemitem> and
|
||||
<systemitem class="library">libvorbis</systemitem> installed before
|
||||
@ -503,7 +503,7 @@ options to <application>cdparanoia</application>.
|
||||
<para>
|
||||
<application>MPlayer</application> can use <application>XMMS</application> input
|
||||
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
|
||||
<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS input plugin page</ulink>.
|
||||
</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
|
||||
<application>MPlayer</application> with
|
||||
<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>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -61,24 +61,22 @@ is a lot of valuable information to be found there.
|
||||
|
||||
<para>
|
||||
<application>MPlayer</application> is a movie player for Linux (runs on
|
||||
many other Unices, and <emphasis role="bold">non-x86</emphasis> CPUs, see
|
||||
<xref linkend="ports"/>).
|
||||
It plays most MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM,
|
||||
many other Unices, and non-x86 CPUs, see <xref linkend="ports"/>).
|
||||
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
|
||||
many native, XAnim, RealPlayer, and Win32 DLL codecs. You can watch
|
||||
<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</emphasis>,
|
||||
and <emphasis role="bold">MPEG-4 (DivX)</emphasis> movies too. Another big
|
||||
Video CD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora,
|
||||
and MPEG-4 (DivX) movies, too. Another big
|
||||
feature of <application>MPlayer</application> is the wide range of
|
||||
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
|
||||
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
|
||||
scaling, so you can enjoy movies in fullscreen.
|
||||
<application>MPlayer</application> supports displaying through some
|
||||
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
|
||||
antialiased shaded subtitles
|
||||
(<emphasis role="bold">14 supported types</emphasis>)
|
||||
antialiased shaded subtitles (14 supported types)
|
||||
with European/ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic, Korean
|
||||
fonts, and the onscreen display (OSD)?
|
||||
</para>
|
||||
@ -98,19 +96,17 @@ video and audio manipulation.
|
||||
<application>MEncoder</application> (<application>MPlayer</application>'s Movie
|
||||
Encoder) is a simple movie encoder, designed to encode
|
||||
<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).
|
||||
It can encode with various codecs, like
|
||||
<emphasis role="bold">MPEG-4 (DivX4)</emphasis>
|
||||
It can encode with various codecs, like MPEG-4 (DivX4)
|
||||
(one or two passes), <systemitem class="library">libavcodec</systemitem>,
|
||||
<emphasis role="bold">PCM/MP3/VBR MP3</emphasis>
|
||||
audio.
|
||||
PCM/MP3/VBR MP3 audio.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<title><application>MEncoder</application> features</title>
|
||||
<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>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@ -118,7 +114,7 @@ audio.
|
||||
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Video encoding from <emphasis role="bold">V4L compatible TV tuners</emphasis>
|
||||
Video encoding from V4L compatible TV tuners
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Encoding/multiplexing to interleaved AVI files with proper index
|
||||
@ -130,10 +126,7 @@ audio.
|
||||
1, 2 or 3 pass encoding
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<emphasis role="bold">VBR</emphasis> MP3 audio
|
||||
<important><para>
|
||||
VBR MP3 audio doesn't always play nicely on windows players!
|
||||
</para></important>
|
||||
VBR MP3 audio
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
PCM audio
|
||||
@ -142,7 +135,7 @@ audio.
|
||||
Stream copying
|
||||
</para></listitem>
|
||||
<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)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@ -151,10 +144,10 @@ audio.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Using our very powerful filter system (crop, expand, flip, postprocess,
|
||||
rotate, scale, rgb/yuv conversion)
|
||||
rotate, scale, RGB/YUV conversion)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Can encode DVD/VOBsub <emphasis role="bold">AND</emphasis> text subtitles
|
||||
Can encode DVD/VOBsub and text subtitles
|
||||
into the output file
|
||||
</para></listitem>
|
||||
<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
|
||||
encoder will use enough 16x16 macroblocks to cover the whole picture
|
||||
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.
|
||||
</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?
|
||||
Increasing the parameters for <option>hqdn3d</option> will further
|
||||
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
|
||||
experiment with higher values and observe the results for yourself.
|
||||
</para>
|
||||
@ -1558,7 +1558,7 @@ to get proper sync.
|
||||
|
||||
<para>
|
||||
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
|
||||
PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
|
||||
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
|
||||
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
|
||||
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.
|
||||
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
|
||||
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
|
||||
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.
|
||||
@ -1830,7 +1830,7 @@ numbers to 60, 30, and 24.
|
||||
<para>
|
||||
Strictly speaking, all those numbers are approximations. Black and
|
||||
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
|
||||
(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
|
||||
@ -2413,7 +2413,7 @@ duration/location of each type.
|
||||
It is safe to use <option>pullup</option> (along with <option>softskip
|
||||
</option>) on progressive video, and is usually a good idea unless
|
||||
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
|
||||
be 50% slower. Adding sound processing and advanced <option>lavcopts
|
||||
</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
|
||||
material. That is because compression depends on the visual properties of the
|
||||
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.
|
||||
The good news is that some options should never be left out, like
|
||||
<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
|
||||
distortion).
|
||||
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.
|
||||
</para></listitem>
|
||||
<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
|
||||
such a case, to just encode the block as "no change".
|
||||
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.
|
||||
</para></listitem>
|
||||
<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
|
||||
stored in the encoded file.
|
||||
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
|
||||
practice).
|
||||
</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
|
||||
source material. For example, if you find
|
||||
<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>.
|
||||
</para>
|
||||
|
||||
@ -3376,7 +3376,7 @@ the following section puzzles you.
|
||||
<listitem><para>
|
||||
<emphasis role="bold">hq_ac</emphasis>
|
||||
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.
|
||||
It is therefore recommended to always leave it on.
|
||||
</para></listitem>
|
||||
@ -3409,7 +3409,7 @@ the following section puzzles you.
|
||||
information into account, whereas <option>me_quality</option>
|
||||
alone only uses luma (grayscale).
|
||||
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%.
|
||||
If you are looking for speed, you should disable this option before
|
||||
starting to consider reducing <option>me_quality</option>.
|
||||
@ -3703,7 +3703,7 @@ The following table shows what each profile supports.
|
||||
<entry>X</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Quaterpixel</entry>
|
||||
<entry>Quarterpixel</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
|
||||
should be much too small of a difference to see.
|
||||
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
|
||||
be pretty sure, consider whether your video has either
|
||||
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,
|
||||
but so is the potential quality gain.
|
||||
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.
|
||||
<option>b_adapt</option> and <option>b_bias</option> have no
|
||||
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.
|
||||
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 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 target 1400kbps in both segments. The first segment may end up
|
||||
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
|
||||
its own statistics. An additional pass following this one will have
|
||||
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
|
||||
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
|
||||
@ -4296,7 +4296,7 @@ random differences in the achieved bitrate.
|
||||
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=8a:4a</option> should conceal most mild
|
||||
artifacting.
|
||||
artifacts.
|
||||
It will almost certainly look better than the results you
|
||||
would have gotten just by fiddling with the deblocking filter.
|
||||
</para>
|
||||
@ -4457,7 +4457,7 @@ if a codec fails or gives wrong output.
|
||||
</row>
|
||||
<row>
|
||||
<entry>m3jpeg32.dll</entry>
|
||||
<entry>Morgan Motion JPEG Codec (MJPG)</entry>
|
||||
<entry>Morgan Motion JPEG Codec (MJPEG)</entry>
|
||||
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
|
||||
<entry></entry>
|
||||
</row>
|
||||
@ -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
|
||||
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>
|
||||
and H.264 video streams be named <systemitem>.h264</systemitem>.
|
||||
</para>
|
||||
@ -5076,7 +5076,7 @@ The GOP size is set using the <option>keyint</option> option.
|
||||
|
||||
<para>
|
||||
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.
|
||||
SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
|
||||
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:
|
||||
<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
|
||||
fps whilst maintaing DVD-compliance.
|
||||
fps whilst maintaining DVD-compliance.
|
||||
</para>
|
||||
|
||||
|
||||
|
@ -831,7 +831,7 @@ What about DVD navigation/menus?
|
||||
architectural limitations that prevent proper handling of still images and
|
||||
interactive content. If you want to have fancy menus, you will have to use
|
||||
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
|
||||
will have to implement it yourself, but be aware that it is a major
|
||||
undertaking.
|
||||
|
@ -106,7 +106,7 @@ audio), even more stable than ever, and so on. It's a MUST!
|
||||
<para>
|
||||
Hmm. Release again. Tons of new features, beta GUI version,
|
||||
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>
|
||||
</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
|
||||
</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,
|
||||
first release of <application>MEncoder</application>, TV grabbing, cache,
|
||||
liba52, countless fixes.
|
||||
|
@ -287,7 +287,7 @@ ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mp
|
||||
|
||||
<para>
|
||||
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
|
||||
and use the <option>-utf8</option> option or give the subtitles
|
||||
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>
|
||||
|
||||
<para>
|
||||
<application>MPlayer</application> has a completely user definiable
|
||||
<application>MPlayer</application> has a completely user-definable
|
||||
OSD Menu interface.
|
||||
</para>
|
||||
|
||||
@ -368,7 +368,7 @@ There are three timing methods in <application>MPlayer</application>.
|
||||
but a properly set up kernel is required.
|
||||
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
|
||||
</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:
|
||||
<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</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>
|
||||
will only encode chapters 1 through 4 from the DVD.
|
||||
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.
|
||||
</para>
|
||||
|
||||
@ -478,7 +478,7 @@ all passes are run with target bitrates that do not differ very much.
|
||||
<title>Rescaling movies</title>
|
||||
|
||||
<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
|
||||
rescaling when converting DVDs or SVCDs to DivX AVI. If you wish to rescale,
|
||||
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>
|
||||
Mandrake/Mandriva RPM packages are available from the
|
||||
<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
|
||||
get working RPMs from
|
||||
<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>
|
||||
|
||||
<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
|
||||
accessed modulo 4GB
|
||||
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
||||
The hsfs problem can be fixed by installing
|
||||
patch 109764-04 (sparc) / 109765-04 (x86).
|
||||
patch 109764-04 (SPARC) / 109765-04 (x86).
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
@ -768,7 +768,7 @@ Later examples will be based on MacPorts.
|
||||
|
||||
<para>
|
||||
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
|
||||
managing library compile/link flags.
|
||||
<application>MPlayer</application>'s <systemitem>configure</systemitem> script
|
||||
|
@ -1107,14 +1107,14 @@ menu entries.
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">evLoadSubtitle</emphasis></term>
|
||||
<listitem><para>
|
||||
Loads a subtitle file (with the fileselector)
|
||||
Loads a subtitle file (with the file selector).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">evLoadAudioFile</emphasis></term>
|
||||
<listitem><para>
|
||||
Loads an audio file (with the fileselector)
|
||||
Loads an audio file (with the file selector).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -291,7 +291,7 @@ ENTER pt_step 1 1<!--
|
||||
<title>Control from LIRC</title>
|
||||
|
||||
<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!
|
||||
More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
|
||||
</para>
|
||||
@ -421,7 +421,7 @@ will save the content streamed from
|
||||
<replaceable>http://217.71.208.37:8006</replaceable> into
|
||||
<replaceable>stream.asf</replaceable>.
|
||||
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>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -193,9 +193,9 @@ xv support, but the card itself is very slow, so you better sell it.
|
||||
</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
|
||||
"<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>
|
||||
will also help).
|
||||
</para>
|
||||
@ -838,7 +838,7 @@ framebuffer, and don't ask for it, since it's not an
|
||||
|
||||
<para>
|
||||
<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
|
||||
video scaling.
|
||||
<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.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Move the <filename class="directory">svgalib_helper</filename> directory to
|
||||
the <filename class="directory">vidix</filename> subdirectory of the
|
||||
<application>MPlayer</application> source tree.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Remove the comment before the CFLAGS line containing the "svgalib_helper"
|
||||
string from <filename class="directory">vidix/Makefile</filename>.
|
||||
Then run <filename>configure</filename> again and pass the parameter
|
||||
<option>--enable-svgalib_helper</option> as well as
|
||||
<option>--with-extraincdir=/path/to/svgalib_helper/sources</option>,
|
||||
adjusted to wherever you extracted svgalib_helper sources.
|
||||
</para></step>
|
||||
<step><para>
|
||||
Recompile.
|
||||
@ -1857,7 +1854,7 @@ have <command>scan</command> compile it for you.
|
||||
</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
|
||||
<filename>~/.mplayer/channels.conf.sat</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>
|
||||
Extra occurrences of <option>-zrcrop</option> invoke
|
||||
<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
|
||||
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
|
||||
@ -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">Macrovision</emphasis> copy protection enabled
|
||||
(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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -2347,43 +2344,22 @@ for Matrox G450/G550 TV-out instructions, please see the next section!
|
||||
<para>
|
||||
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
|
||||
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
|
||||
<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>
|
||||
|
||||
<procedure>
|
||||
<step><para>
|
||||
Enter <filename class="directory">TVout</filename> and type
|
||||
<command>./compile.sh</command>. Install
|
||||
<filename>TVout/matroxset/matroxset</filename>
|
||||
somewhere into your <envar>PATH</envar>.
|
||||
Then load the <systemitem>matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
|
||||
matroxfb_crtc2</systemitem> modules into your kernel. Your text-mode
|
||||
console will enter into framebuffer mode (no way back!).
|
||||
</para></step>
|
||||
<step><para>
|
||||
If you don't have <command>fbset</command> installed, put
|
||||
<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.
|
||||
Next, set up your monitor and TV to your liking using the above tools.
|
||||
</para></step>
|
||||
<step><para>
|
||||
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>
|
||||
</varlistentry>
|
||||
</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>
|
||||
|
||||
<!-- ********** -->
|
||||
@ -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">
|
||||
<title>ATI cards</title>
|
||||
|
||||
|
31
Makefile
31
Makefile
@ -756,7 +756,7 @@ version.h:
|
||||
./version.sh `$(CC) -dumpversion`
|
||||
|
||||
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
|
||||
|
||||
vidix/%: CFLAGS += $(SVGALIB_CFLAGS)
|
||||
|
||||
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_FILES): vidix/pci.db
|
||||
LC_ALL=C awk -f vidix/pci_db2c.awk $< $(VIDIX_PCIDB)
|
||||
$(VIDIX_PCI_FILES): vidix/pci.db vidix/pci_db2c.awk
|
||||
awk -f vidix/pci_db2c.awk $< $(VIDIX_PCIDB)
|
||||
|
||||
VIDIX_DEPS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.d))
|
||||
VIDIX_OBJS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.o))
|
||||
@ -901,7 +903,9 @@ TOOLS = TOOLS/alaw-gen$(EXESUF) \
|
||||
TOOLS/compare$(EXESUF) \
|
||||
TOOLS/dump_mp4$(EXESUF) \
|
||||
TOOLS/movinfo$(EXESUF) \
|
||||
TOOLS/netstream$(EXESUF) \
|
||||
TOOLS/subrip$(EXESUF) \
|
||||
TOOLS/vivodump$(EXESUF) \
|
||||
|
||||
ifdef ARCH_X86
|
||||
TOOLS += TOOLS/modify_reg$(EXESUF)
|
||||
@ -910,8 +914,6 @@ endif
|
||||
ALLTOOLS = $(TOOLS) \
|
||||
TOOLS/bmovl-test$(EXESUF) \
|
||||
TOOLS/vfw2menc$(EXESUF) \
|
||||
TOOLS/vivodump$(EXESUF) \
|
||||
TOOLS/netstream$(EXESUF) \
|
||||
|
||||
tools: $(TOOLS)
|
||||
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
|
||||
|
||||
#FIXME: Linking is broken, help welcome.
|
||||
TOOLS/vivodump$(EXESUF): TOOLS/vivodump.c $(TEST_OBJS)
|
||||
mplayer-nomain.o: mplayer.c
|
||||
$(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
|
||||
$(CC) $(CFLAGS) $< -o TOOLS/fastmem-mmx$(EXESUF) -DNAME=\"mmx\" -DHAVE_MMX
|
||||
@ -950,16 +957,6 @@ fastmemcpybench realcodecs: CFLAGS += -g
|
||||
%.so.6.0: %.o
|
||||
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 #######
|
||||
|
@ -46,16 +46,18 @@
|
||||
/// Netstream packets def and some helpers
|
||||
#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* dvdsub_lang=NULL;
|
||||
char* audio_lang=NULL;
|
||||
int sub_justify=0;
|
||||
int identify=0;
|
||||
int dvdsub_id=0;
|
||||
int audio_id=0;
|
||||
int video_id=0;
|
||||
void af_fmt2str() {};
|
||||
char* out_filename = NULL;
|
||||
char* force_fourcc=NULL;
|
||||
char* passtmpfile="divx2pass.log";
|
||||
|
||||
#ifdef __MINGW32__
|
||||
#define usleep sleep
|
||||
@ -367,46 +369,3 @@ int main(void) {
|
||||
}
|
||||
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/demuxer.h"
|
||||
|
||||
/* linking hacks */
|
||||
char *info_name;
|
||||
char *info_artist;
|
||||
char *info_genre;
|
||||
@ -18,6 +19,10 @@ char *info_copyright;
|
||||
char *info_sourceform;
|
||||
char *info_comment;
|
||||
|
||||
char* out_filename = NULL;
|
||||
char* force_fourcc=NULL;
|
||||
char* passtmpfile="divx2pass.log";
|
||||
|
||||
static const short h263_format[8][2] = {
|
||||
{ 0, 0 },
|
||||
{ 128, 96 },
|
||||
|
@ -832,7 +832,7 @@ static int mp_property_audio(m_option_t *prop, int action, void *arg,
|
||||
|
||||
#ifdef USE_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
|
||||
*(char **) arg = malloc(64);
|
||||
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 (vo_spudec && opts->sub_id >= 0) {
|
||||
unsigned char lang[3];
|
||||
if (dvdnav_lang_from_sid(mpctx->stream, opts->sub_id, lang)) {
|
||||
snprintf(*(char **) arg, 63, "(%d) %s", 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);
|
||||
return M_PROPERTY_OK;
|
||||
}
|
||||
}
|
||||
|
71
configure
vendored
71
configure
vendored
@ -339,12 +339,12 @@ Codecs:
|
||||
--enable-muxer=MUXER enable specified FFmpeg muxer
|
||||
|
||||
Video output:
|
||||
--disable-vidix-internal disable internal VIDIX [for x86 *nix]
|
||||
--disable-vidix-external disable external VIDIX [for x86 *nix]
|
||||
--disable-vidix disable VIDIX [for x86 *nix]
|
||||
--with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
|
||||
Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
|
||||
nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
|
||||
--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-dga2 enable DGA 2 support [autodetect]
|
||||
--enable-dga1 enable DGA 1 support [autodetect]
|
||||
@ -619,9 +619,9 @@ _pvr=auto
|
||||
_network=yes
|
||||
_winsock2=auto
|
||||
_smbsupport=auto
|
||||
_vidix_internal=auto
|
||||
_vidix_external=auto
|
||||
_vidix=auto
|
||||
_vidix_pcidb=yes
|
||||
_svgalib_helper=no
|
||||
_joystick=no
|
||||
_xvid=auto
|
||||
_xvid_lavc=auto
|
||||
@ -1016,14 +1016,14 @@ for ac_option do
|
||||
--disable-winsock2) _winsock2=no ;;
|
||||
--enable-smb) _smbsupport=yes ;;
|
||||
--disable-smb) _smbsupport=no ;;
|
||||
--enable-vidix-internal) _vidix_internal=yes ;;
|
||||
--disable-vidix-internal) _vidix_internal=no ;;
|
||||
--enable-vidix-external) _vidix_external=yes ;;
|
||||
--disable-vidix-external) _vidix_external=no ;;
|
||||
--enable-vidix) _vidix=yes ;;
|
||||
--disable-vidix) _vidix=no ;;
|
||||
--with-vidix-drivers=*)
|
||||
_vidix_drivers=`echo $ac_option | cut -d '=' -f 2`
|
||||
;;
|
||||
--disable-vidix-pcidb) _vidix_pcidb=no ;;
|
||||
--enable-svgalib_helper) _svgalib_helper=yes ;;
|
||||
--disable-svgalib_helper) _svgalib_helper=no ;;
|
||||
--enable-joystick) _joystick=yes ;;
|
||||
--disable-joystick) _joystick=no ;;
|
||||
--enable-xvid) _xvid=yes ;;
|
||||
@ -4193,7 +4193,6 @@ echores "$_gl"
|
||||
|
||||
|
||||
echocheck "VIDIX"
|
||||
_vidix=no
|
||||
_def_vidix='#undef CONFIG_VIDIX'
|
||||
_def_vidix_drv_cyberblade='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
|
||||
_vidix_drv_cyberblade=no
|
||||
@ -4223,24 +4222,11 @@ _def_vidix_drv_sis='#undef CONFIG_VIDIX_DRV_SIS'
|
||||
_vidix_drv_sis=no
|
||||
_def_vidix_drv_unichrome='#undef CONFIG_VIDIX_DRV_UNICHROME'
|
||||
_vidix_drv_unichrome=no
|
||||
if test "$_vidix_internal" = auto ; then
|
||||
_vidix_internal=no
|
||||
if test "$_vidix" = auto ; then
|
||||
_vidix=no
|
||||
x86 && (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32) \
|
||||
&& _vidix_internal=yes
|
||||
(ppc || alpha) && linux && _vidix_internal=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
|
||||
&& _vidix=yes
|
||||
(ppc || alpha) && linux && _vidix=yes
|
||||
fi
|
||||
echores "$_vidix"
|
||||
|
||||
@ -4259,17 +4245,23 @@ if test "$_vidix" = yes ; then
|
||||
eval _vidix_drv_${driver}=yes
|
||||
eval _def_vidix_drv_${driver}=\"\#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
|
||||
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
|
||||
_novomodules="cvidix $_novomodules"
|
||||
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
|
||||
_vosrc="$_vosrc vo_winvidix.c"
|
||||
_vomodules="winvidix $_vomodules"
|
||||
@ -4284,14 +4276,6 @@ else
|
||||
_novomodules="xvidix $_novomodules"
|
||||
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"
|
||||
if test "$_mga" = auto ; then
|
||||
_mga=no
|
||||
@ -7580,7 +7564,7 @@ cat > config.mak << EOF
|
||||
# -------- Generated by configure -----------
|
||||
|
||||
# Ensure that locale settings do not interfere with shell commands.
|
||||
LC_ALL = C
|
||||
export LC_ALL = C
|
||||
|
||||
MAN_LANG = $MAN_LANG
|
||||
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)
|
||||
CFLAG_STACKREALIGN = $_stackrealign
|
||||
LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
|
||||
CFLAG_SVGALIB_HELPER = $cflag_svgalib_helper
|
||||
ASFLAGS = $ASFLAGS
|
||||
|
||||
EXTRALIBS = $_extra_libs
|
||||
@ -7730,8 +7715,6 @@ TWOLAME=$_twolame
|
||||
UNRAR_EXEC = $_unrar_exec
|
||||
VCD = $_vcd
|
||||
VIDIX = $_vidix
|
||||
VIDIX_EXTERNAL = $_vidix_external
|
||||
VIDIX_INTERNAL = $_vidix_internal
|
||||
VIDIX_PCIDB = $_vidix_pcidb_val
|
||||
VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
|
||||
VIDIX_IVTV=$_vidix_drv_ivtv
|
||||
|
@ -686,6 +686,7 @@ videocodec ffodivx
|
||||
fourcc DXGM
|
||||
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
||||
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
||||
fourcc VIDM ; vidm 4.01 codec
|
||||
format 0x10000004 ; mpeg 4 es
|
||||
driver ffmpeg
|
||||
dll mpeg4 ;opendivx
|
||||
@ -717,6 +718,7 @@ videocodec xvid
|
||||
fourcc DXGM
|
||||
fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
|
||||
fourcc SMP4,smp4 ; Samsung SMP4 video codec
|
||||
fourcc VIDM ; vidm 4.01 codec
|
||||
format 0x10000004 ; mpeg 4 es
|
||||
driver xvid
|
||||
out YV12
|
||||
@ -1470,6 +1472,14 @@ videocodec lagarith
|
||||
dll "lagarith.dll"
|
||||
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
|
||||
status working
|
||||
info "Canopus HQ Codec"
|
||||
@ -1815,6 +1825,14 @@ videocodec qt3ivx
|
||||
dll "3ivx Delta 3.5.qtx"
|
||||
out YUY2
|
||||
|
||||
videocodec qtactl
|
||||
info "Win32/QuickTime Streambox ACT-L2"
|
||||
status working
|
||||
fourcc ACTL
|
||||
driver qtvideo
|
||||
dll ACTLComponent.qtx
|
||||
out YUY2
|
||||
|
||||
videocodec qtavui
|
||||
info "Win32/QuickTime Avid Meridien Uncompressed"
|
||||
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_LIBA52_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] = {
|
||||
@ -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_LIBA52_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,
|
||||
|
@ -71,8 +71,8 @@
|
||||
#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_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_LAVC_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
|
||||
#define AF_CHANNEL_LAYOUT_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
|
||||
#define AF_CHANNEL_LAYOUT_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
|
||||
|
||||
#define AF_CHANNEL_MASK 0xFF
|
||||
#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_LIBA52_DEFAULT 4
|
||||
#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_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
|
||||
* module from VideoLAN:
|
||||
* Copyright (c) 2006 Derk-Jan Hartman <hartman at videolan dot org>
|
||||
* This file is part of MPlayer.
|
||||
*
|
||||
* This file is part of libao, a cross-platform library. See
|
||||
* README for a history of this source code.
|
||||
* 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.
|
||||
*
|
||||
* libao 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, 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.
|
||||
*
|
||||
* libao 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 libao; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* along with MPlayer; 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
|
||||
* simpler frameworks do. This is due to the fact that CoreAudio pulls
|
||||
* audio samples rather than having them pushed at it (which is nice
|
||||
* when you are wanting to do good buffering of audio).
|
||||
*/
|
||||
|
||||
/* Change log:
|
||||
*
|
||||
* 14/5-2003: Ported to MPlayer libao2 by Dan Christiansen
|
||||
* when you are wanting to do good buffering of audio).
|
||||
*
|
||||
* AC-3 and MPEG audio passthrough is possible, but I don't have
|
||||
* access to a sound card that supports it.
|
||||
* AC-3 and MPEG audio passthrough is possible, but has never been tested
|
||||
* due to lack of a soundcard that supports it.
|
||||
*/
|
||||
|
||||
#include <CoreServices/CoreServices.h>
|
||||
|
@ -390,7 +390,7 @@ static void clos(menu_t* menu) {
|
||||
}
|
||||
|
||||
static int open_fs(menu_t* menu, char* args) {
|
||||
char *path = mpriv->path, *freepath = NULL;
|
||||
char *path = mpriv->path;
|
||||
int r = 0;
|
||||
char wd[PATH_MAX+1], b[PATH_MAX+1];
|
||||
args = NULL; // Warning kill
|
||||
@ -409,12 +409,9 @@ static int open_fs(menu_t* menu, char* args) {
|
||||
if (path_fp >= 0) {
|
||||
if (!fstat (path_fp, &st) && (st.st_size > 0)) {
|
||||
path = malloc(st.st_size+1);
|
||||
if ((read(path_fp, path, st.st_size) == st.st_size) && path[0] == '/'
|
||||
&& !stat(path, &st) && S_ISDIR(st.st_mode)){
|
||||
freepath = path;
|
||||
path[st.st_size] = '\0';
|
||||
}
|
||||
else {
|
||||
path[st.st_size] = '\0';
|
||||
if (!((read(path_fp, path, st.st_size) == st.st_size) && path[0] == '/'
|
||||
&& !stat(path, &st) && S_ISDIR(st.st_mode))) {
|
||||
free(path);
|
||||
path = NULL;
|
||||
}
|
||||
@ -467,9 +464,6 @@ static int open_fs(menu_t* menu, char* args) {
|
||||
}
|
||||
r = open_dir(menu,path);
|
||||
|
||||
if (freepath)
|
||||
free(freepath);
|
||||
|
||||
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"))
|
||||
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT;
|
||||
else if (!strcasecmp(codec, "vorbis"))
|
||||
src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT;
|
||||
src_ch_layout = AF_CHANNEL_LAYOUT_VORBIS_DEFAULT;
|
||||
else
|
||||
src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
|
||||
reorder_channel_nch(buf, src_ch_layout,
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "ad_internal.h"
|
||||
#include "libaf/reorder_ch.h"
|
||||
|
||||
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 (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;
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "mp_msg.h"
|
||||
#include <inttypes.h>
|
||||
#include "cpudetect.h"
|
||||
#include "mangle.h"
|
||||
|
||||
#ifdef ARCH_X86
|
||||
#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;
|
||||
}
|
||||
|
||||
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);
|
||||
return -1;
|
||||
@ -231,13 +231,13 @@ static uint32_t vidix_draw_image(mp_image_t *mpi){
|
||||
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);
|
||||
return -1;
|
||||
}
|
||||
|
||||
void vidix_flip_page(void)
|
||||
static void vidix_flip_page(void)
|
||||
{
|
||||
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
||||
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) ) {
|
||||
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;
|
||||
if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
|
||||
mp_msg(MSGT_VO,MSGL_DBG2, "vosub_vidix: vidix_preinit(%s) was called\n",drvname); }
|
||||
if(vdlGetVersion() != VIDIX_VERSION)
|
||||
{
|
||||
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,
|
||||
|
||||
vidix_handler = vdlOpen(drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
|
||||
TYPE_OUTPUT,
|
||||
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)
|
||||
{
|
||||
|
@ -27,11 +27,6 @@ void vidix_term( void );
|
||||
uint32_t vidix_control(uint32_t request, void *data);
|
||||
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"
|
||||
/* graphic keys */
|
||||
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[]){
|
||||
|
||||
|
||||
@ -3237,12 +3240,12 @@ if(mpctx->stream->type==STREAMTYPE_DVD){
|
||||
#ifdef USE_DVDNAV
|
||||
if(mpctx->stream->type==STREAMTYPE_DVDNAV){
|
||||
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==-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
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
@ -4068,3 +4071,4 @@ exit_player_with_rc(mpctx, MSGTR_Exit_eof, 0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif /* DISABLE_MAIN */
|
||||
|
@ -25,12 +25,14 @@ typedef enum {
|
||||
NAV_FLAG_EOF = 1 << 0, /* end of stream has been reached */
|
||||
NAV_FLAG_WAIT = 1 << 1, /* wait event */
|
||||
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 = 1 << 5, /* suspend read from stream */
|
||||
NAV_FLAG_VTS_DOMAIN = 1 << 6, /* vts domain */
|
||||
NAV_FLAG_SPU_SET = 1 << 7, /* spu_clut is valid */
|
||||
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;
|
||||
|
||||
typedef struct {
|
||||
@ -331,7 +333,9 @@ static int fill_buffer(stream_t *s, char *but, int len)
|
||||
int tit = 0, part = 0;
|
||||
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);
|
||||
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;
|
||||
s->end_pos = 0;
|
||||
@ -347,7 +351,9 @@ static int fill_buffer(stream_t *s, char *but, int len)
|
||||
break;
|
||||
}
|
||||
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;
|
||||
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);
|
||||
}
|
||||
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);
|
||||
@ -669,16 +681,58 @@ void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* but
|
||||
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 lang: 2-characters language code[s], eventually separated by spaces of commas
|
||||
* \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;
|
||||
int k;
|
||||
uint8_t format, lg;
|
||||
uint8_t lg;
|
||||
uint16_t lang, lcode;;
|
||||
|
||||
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);
|
||||
if(lg == 0xff) continue;
|
||||
lang = dvdnav_audio_stream_to_lang(priv->dvdnav, lg);
|
||||
if(lang != 0xFFFF && lang == lcode) {
|
||||
format = dvdnav_audio_stream_format(priv->dvdnav, 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;
|
||||
}
|
||||
}
|
||||
if(lang != 0xFFFF && lang == lcode)
|
||||
return mp_dvdnav_get_aid_from_format (stream, k, lg);
|
||||
}
|
||||
language += 2;
|
||||
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 sid: physical subtitle id
|
||||
* \param buf: buffer to contain the 2-chars language string
|
||||
* \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;
|
||||
uint16_t lang;
|
||||
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 lang: 2-characters language code[s], eventually separated by spaces of commas
|
||||
* \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;
|
||||
uint8_t lg, k;
|
||||
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 sid: physical subtitle id
|
||||
* \param buf: buffer to contain the 2-chars language string
|
||||
* \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;
|
||||
uint16_t lang;
|
||||
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
|
||||
* \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;
|
||||
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->ex = hlev.ex;
|
||||
hl->ey = hlev.ey;
|
||||
hl->palette = hlev.palette;
|
||||
}
|
||||
|
||||
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) {
|
||||
dvdnav_priv_t *priv = stream->priv;
|
||||
if (!(priv->state & NAV_FLAG_CELL_CHANGED))
|
||||
if (!(priv->state & NAV_FLAG_CELL_CHANGE))
|
||||
return 0;
|
||||
if (clear) {
|
||||
priv->state &= ~NAV_FLAG_CELL_CHANGED;
|
||||
priv->state &= ~NAV_FLAG_CELL_CHANGE;
|
||||
priv->state |= NAV_FLAG_STREAM_CHANGE;
|
||||
}
|
||||
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
|
||||
* Can be related to title, chapter, audio or SPU
|
||||
*/
|
||||
|
@ -13,13 +13,15 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint16_t sx, sy;
|
||||
uint16_t ex, ey;
|
||||
uint32_t palette;
|
||||
} nav_highlight_t;
|
||||
|
||||
int dvdnav_number_of_subs(stream_t *stream);
|
||||
int dvdnav_aid_from_lang(stream_t *stream, unsigned char *language);
|
||||
int dvdnav_lang_from_aid(stream_t *stream, int id, unsigned char *buf);
|
||||
int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language);
|
||||
int dvdnav_lang_from_sid(stream_t *stream, int sid, unsigned char *buf);
|
||||
int mp_dvdnav_number_of_subs(stream_t *stream);
|
||||
int mp_dvdnav_aid_from_audio_num(stream_t *stream, int audio_num);
|
||||
int mp_dvdnav_aid_from_lang(stream_t *stream, unsigned char *language);
|
||||
int mp_dvdnav_lang_from_aid(stream_t *stream, int id, 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_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);
|
||||
@ -30,6 +32,8 @@ int mp_dvdnav_skip_still (stream_t *stream);
|
||||
int mp_dvdnav_skip_wait (stream_t *stream);
|
||||
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_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);
|
||||
|
||||
#endif /* MPLAYER_STREAM_DVDNAV_H */
|
||||
|
@ -36,8 +36,8 @@
|
||||
#ifndef MPLAYER_DHA_H
|
||||
#define MPLAYER_DHA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#ifndef DEV_SVGA
|
||||
#define DEV_SVGA "/dev/svga"
|
||||
#endif
|
||||
|
||||
#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
|
||||
extern int mtrr_set_type(unsigned base,unsigned size,int type);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* MPLAYER_DHA_H */
|
||||
|
@ -476,7 +476,6 @@ static int mach64_init(void)
|
||||
printf("[mach64] Driver was not probed but is being initializing\n");
|
||||
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;
|
||||
mach64_wait_for_idle();
|
||||
|
@ -145,9 +145,6 @@ function print_head( 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 "struct device_id_s" >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_device_name(unsigned short vendor_id, unsigned short device_id);">out_file
|
||||
print "">out_file
|
||||
print "#ifdef __cplusplus" >out_file
|
||||
print "}" >out_file
|
||||
print "#endif" >out_file
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1297,8 +1297,6 @@ static int radeon_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if(verbosity > 0) printf("[radeon_vid] version %d\n", VIDIX_VERSION);
|
||||
|
||||
if(!probed)
|
||||
{
|
||||
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
|
||||
#define MPLAYER_SAVAGE_REGS_H
|
||||
|
||||
|
@ -68,7 +68,6 @@ static long pci_config_read_long(
|
||||
int func,
|
||||
unsigned cmd)
|
||||
{
|
||||
unsigned long config_cmd;
|
||||
pcic_t p;
|
||||
|
||||
p.address = cmd;
|
||||
|
@ -36,12 +36,6 @@
|
||||
#ifndef MPLAYER_VIDIX_H
|
||||
#define MPLAYER_VIDIX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VIDIX_VERSION 100
|
||||
|
||||
#define PROBE_NORMAL 0 /* normal probing */
|
||||
#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 */
|
||||
} vidix_oem_fx_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* MPLAYER_VIDIX_H */
|
||||
|
@ -44,12 +44,7 @@
|
||||
#include "libavutil/common.h"
|
||||
#include "mpbswap.h"
|
||||
|
||||
extern unsigned int vdlGetVersion( void )
|
||||
{
|
||||
return VIDIX_VERSION;
|
||||
}
|
||||
|
||||
VDL_HANDLE vdlOpen(const char *path,const char *name,unsigned cap,int verbose)
|
||||
VDL_HANDLE vdlOpen(const char *name,unsigned cap,int verbose)
|
||||
{
|
||||
VDXContext *ctx;
|
||||
|
||||
|
@ -36,10 +36,6 @@
|
||||
#ifndef MPLAYER_VIDIXLIB_H
|
||||
#define MPLAYER_VIDIXLIB_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "vidix.h"
|
||||
|
||||
typedef struct VDXDriver {
|
||||
@ -74,9 +70,6 @@ typedef struct VDXContext {
|
||||
|
||||
typedef VDXContext * VDL_HANDLE;
|
||||
|
||||
/* returns library version */
|
||||
unsigned vdlGetVersion( void );
|
||||
|
||||
/* Opens corresponded video driver and returns handle
|
||||
of associated stream.
|
||||
path - specifies path where drivers are located.
|
||||
@ -85,7 +78,7 @@ unsigned vdlGetVersion( void );
|
||||
verbose - specifies verbose level
|
||||
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. */
|
||||
void vdlClose(VDL_HANDLE ctx);
|
||||
|
||||
@ -138,8 +131,4 @@ int vdlSetOemEffect(VDL_HANDLE, const vidix_oem_fx_t * );
|
||||
/* Returns 0 if ok else errno */
|
||||
int vdlPlaybackCopyFrame(VDL_HANDLE, const vidix_dma_t * );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* MPLAYER_VIDIXLIB_H */
|
||||
|
Loading…
Reference in New Issue
Block a user