1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-25 04:38:01 +00:00

Merge svn changes up to r26783

Conflicts:

	Makefile
	common.mak
	configure
	libmpcodecs/vd_ffmpeg.c
	libmpdemux/demux_mkv.c
	libvo/vo_xv.c
	mplayer.c
This commit is contained in:
Uoti Urpala 2008-05-15 21:19:35 +03:00
commit a41db36b22
181 changed files with 2494 additions and 2807 deletions

View File

@ -133,6 +133,7 @@ Biurrun, Diego (DonDiego) <diego@biurrun.de>
* skin review part I
* patch review
* build system overhaul
* shiny new non-recursive build
Blomenkamp, Marcus <Marcus.Blomenkamp@epost.de>
* VIDIX patches (Rage128, Radeon 7000)

View File

@ -28,7 +28,7 @@ MPlayer (1.0)
FFmpeg/libavcodec:
* DNxHD (SMPTE VC-3) encoder
* H.264 PAFF decoding
* H.264 speedup and PAFF decoding
* Nellymoser audio codec
* VC-1/WMV3 MMX optimizations

View File

@ -142,3 +142,11 @@ Homepage: https://savannah.nongnu.org/projects/freesdp/
Directory: stream/freesdp/
Copyright: 2001-2003 Federico Montesino Pouzols <fedemp@suidzer0.org>
License: GNU General Public License
Name: MJPEG Tools
Version: post 2001-12-03 release or CVS snapshot
Homepage: http://mjpeg.sourceforge.net/
Directory: libmpdemux/yuv4mpeg*
Copyright: 2001 Matthew J. Marjanovic <maddog@mir.com>
2001 Andrew Stevens <andrew.stevens@philips.com>
License: GNU General Public License

View File

@ -1555,10 +1555,10 @@ Falls back on IPv4 automatically.
.
.TP
.B \-psprobe <byte position>
When playing an MPEG-PS stream, this option lets you specify how many
bytes in the stream you want MPlayer to scan in order to identify the
video codec used.
This option is needed to play EVO files containing H.264 streams.
When playing an MPEG-PS or MPEG-PES streams, this option lets you specify
how many bytes in the stream you want MPlayer to scan in order to identify
the video codec used.
This option is needed to play EVO or VDR files containing H.264 streams.
.
.TP
.B \-pvr <option1:option2:...> (PVR only)
@ -3341,6 +3341,8 @@ with \-v option and look out for the lines tagged with [xv common] at the
beginning.
.PD 0
.RSs
.IPs adaptor=<number>
Select a specific XVideo adaptor (check xvinfo results).
.IPs port=<number>
Select a specific XVideo port.
.IPs ck=<cur|use|set>
@ -3389,6 +3391,8 @@ Video output driver that uses the XvMC (X Video Motion Compensation)
extension of XFree86 4.x to speed up MPEG-1/2 and VCR2 decoding.
.PD 0
.RSs
.IPs adaptor=<number>
Select a specific XVideo adaptor (check xvinfo results).
.IPs port=<number>
Select a specific XVideo port.
.IPs (no)benchmark
@ -4448,6 +4452,8 @@ This is not a bug, but a side effect of not decoding at full resolution.
If <w> is specified lowres decoding will be used only if the width of the
video is major than or equal to <w>.
.RE
.IPs "o\ \ \ \ "
FIXME: undocumented
.IPs "sb=<number> (MPEG-2 only)"
Skip the given number of macroblock rows at the bottom.
.IPs "st=<number> (MPEG-2 only)"
@ -7718,7 +7724,7 @@ Windows Media Video, version 2 (AKA WMV8)
.
.TP
.B vqmin=<1\-31>
minimum quantizer (pass 1/2)
minimum quantizer
.RSs
.IPs 1
Not recommended (much larger file, little quality difference and weird side
@ -7776,7 +7782,7 @@ effect.
.
.TP
.B vqmax=<1\-31>
Maximum quantizer (pass 1/2), 10\-31 should be a sane range (default: 31).
Maximum quantizer, 10\-31 should be a sane range (default: 31).
.
.TP
.B mbqmin=<1\-31>
@ -7789,7 +7795,7 @@ obsolete, use vqmax
.TP
.B vqdiff=<1\-31>
maximum quantizer difference between consecutive I- or P-frames
(pass 1/2) (default: 3)
(default: 3)
.
.TP
.B vmax_b_frames=<0\-4>
@ -8056,7 +8062,7 @@ always on.
.
.TP
.B vbitrate=<value>
Specify bitrate (pass 1/2) (default: 800).
Specify bitrate (default: 800).
.br
.I WARNING:
1kbit = 1000 bits
@ -8082,17 +8088,17 @@ be problems if vrc_(min|max)rate is used.
.
.TP
.B vrc_maxrate=<value>
maximum bitrate in kbit/\:sec (pass 1/2)
maximum bitrate in kbit/\:sec
(default: 0, unlimited)
.
.TP
.B vrc_minrate=<value>
minimum bitrate in kbit/\:sec (pass 1/2)
minimum bitrate in kbit/\:sec
(default: 0, unlimited)
.
.TP
.B vrc_buf_size=<value>
buffer size in kbit (pass 1/2).
buffer size in kbit
For MPEG-1/2 this also sets the vbv buffer size, use 327 for VCD,
917 for SVCD and 1835 for DVD.
.
@ -8117,19 +8123,19 @@ with support for Xvid 1.1 or higher).
.
.TP
.B vb_qfactor=<\-31.0\-31.0>
quantizer factor between B- and non-B-frames (pass 1/2) (default: 1.25)
quantizer factor between B- and non-B-frames (default: 1.25)
.
.TP
.B vi_qfactor=<\-31.0\-31.0>
quantizer factor between I- and non-I-frames (pass 1/2) (default: 0.8)
quantizer factor between I- and non-I-frames (default: 0.8)
.
.TP
.B vb_qoffset=<\-31.0\-31.0>
quantizer offset between B- and non-B-frames (pass 1/2) (default: 1.25)
quantizer offset between B- and non-B-frames (default: 1.25)
.
.TP
.B vi_qoffset=<\-31.0\-31.0>
(pass 1/2) (default: 0.0)
(default: 0.0)
.br
if v{b|i}_qfactor > 0
.br
@ -8165,7 +8171,7 @@ the quantizer more over time (slower change).
.
.TP
.B vqcomp=<0.0\-1.0>
Quantizer compression, vrc_eq depends upon this (pass 1/2) (default: 0.5).
Quantizer compression, vrc_eq depends upon this (default: 0.5).
For instance, assuming the default rate control equation is used,
if vqcomp=1.0, the ratecontrol allocates to each frame the number of bits
needed to encode them all at the same QP.
@ -8177,7 +8183,7 @@ Perceptual quality will be optimal somewhere in between these two extremes.
.
.TP
.B vrc_eq=<equation>
main ratecontrol equation (pass 1/2)
main ratecontrol equation
.RE
.RSs
.IPs "1\ \ \ \ "
@ -8250,7 +8256,7 @@ is 1 if a==b, 0 otherwise
.
.TP
.B vrc_override=<options>
User specified quality for specific parts (ending, credits, ...) (pass 1/2).
User specified quality for specific parts (ending, credits, ...).
The options are <start-frame>, <end-frame>, <quality>[/<start-frame>,
<end-frame>, <quality>[/...]]:
.PD 0
@ -8272,7 +8278,7 @@ initial buffer occupancy, as a fraction of vrc_buf_size (default: 0.9)
.
.TP
.B vqsquish=<0|1>
Specify how to keep the quantizer between qmin and qmax (pass 1/2).
Specify how to keep the quantizer between qmin and qmax.
.PD 0
.RSs
.IPs 0
@ -9035,6 +9041,10 @@ FIXME: Document this.
.B skip_threshold=<0\-1000000>
FIXME: Document this.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: undocumented
.
.
.SS nuv (\-nuvopts)
.
@ -10408,6 +10418,10 @@ Maximum length in seconds to analyze the stream properties.
Force a specific libavformat demuxer.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: undocumented
.
.TP
.B probesize=<value>
Maximum amount of data to probe during the detection phase.
In the case of MPEG-TS this value identifies the maximum number
@ -10484,6 +10498,10 @@ in seconds, between the reference timer of the output stream (SCR)
and the decoding timestamp (DTS) for any stream present
(demux to decode delay).
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: undocumented
.
.
.
.\" --------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
.\" synced with r26460
.\" synced with r26762
.\" Encoding: iso-8859-1
.\" MPlayer (C) 2000-2008 MPlayer Team
.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
@ -48,7 +48,7 @@ mencoder \- Encodeur vid
.na
.nh
.B mplayer
[options] [fichier||liste de lecture |\-]
[options] [fichier|URL|liste de lecture |\-]
.
.br
.B mplayer
@ -73,12 +73,12 @@ vcd://piste[/p
.
.br
.B mplayer
tv://[canal][/identifiant de l'entrée]
tv://[chaîne][/identifiant de l'entrée]
[options]
.
.br
.B mplayer
radio://[canal|fréquence][/capture]
radio://[chaîne|fréquence][/capture]
[options]
.
.br
@ -108,8 +108,8 @@ cue://fichier[:piste]
.
.br
.B mplayer
[file mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|smb] ://
[utilisateur:motdepasse@]URL[:port] [options]
[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|smb]://
[utilisateur:mot_de_passe@]URL[:port] [options]
.
.br
.B mplayer
@ -133,7 +133,7 @@ tivo://h
.br
.B mencoder
[options] fichier
[fichier|URL|\-] [\-o fichier | file://fichier | smb://[user:pass@]host/filepath]
[fichier|URL|\-] [\-o fichier | file://fichier | smb://[utilisateur:mot_de_passe@]hôte/chemin/vers/le/fichier]
.
.br
.B mencoder
@ -153,8 +153,8 @@ Unices et processeurs non\-x86, voir la documentation).
Il joue la plupart des formats MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV,
RM, QT/\:MOV/\:MP4, Ogg/\:OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM
et RoQ, gérés par plusieurs codecs natifs et par des codecs binaires.
Vous pouvez regarder des Vidéos CD, SVCD, DVD, 3ivx, DivX 3/4/5 et
même des films WMV.
Vous pouvez regarder des films VCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV et
même H.264.
.PP
Un autre gros atout de MPlayer est la grande variété de pilotes de
sortie audio et vidéos gérés.
@ -1627,11 +1627,11 @@ Se rabat automatiquement sur IPv4.
.
.TP
.B \-psprobe <position en octets>
En jouant des flux MPEG-PS, cette option vous permet de spécifier combien
d'octets doivent être scannés par MPlayer pour identifier le codec vidéo
utilisé.
Cette option est nécessaire pour lire les fichiers EVO contenant un flux
H264.
En jouant des flux MPEG-PS ou MPEG-PES, cette option vous permet de spécifier
combien d'octets doivent être scannés par MPlayer pour identifier le codec
vidéo utilisé.
Cette option est nécessaire pour lire les fichiers EVO ou VDR contenant un
flux H264.
.
.TP
.B \-pvr <option1:option2:...> (carte PVR uniquement)
@ -3527,6 +3527,8 @@ est utilis
puis regardez les lignes commençant par [xv common].
.PD 0
.RSs
.IPs adaptor=<nombre>
Sélectionne un adaptateur XVideo particulier (cf. xvinfo).
.IPs port=<nombre>
Sélectionne un port XVideo particulier.
.IPs ck=<cur|use|set>
@ -3578,6 +3580,8 @@ Ce pilote emploie l'extension XvMC (X Video Motion Compensation) de
XFree86 4.x pour accélérer les lectures de médias MPEG-1/\:2 et VCR2.
.PD 0
.RSs
.IPs adaptor=<nombre>
Sélectionne un adaptateur XVideo particulier (cf. xvinfo).
.IPs port=<nombre>
Sélectionne un port XVideo particulier.
.IPs (no)benchmark
@ -3950,9 +3954,10 @@ Sa d
.
.TP
.B "gl2\ \ \ \ "
Pilote de sortie vidéo OpenGL, seconde génération.
Gère l'OSD et les vidéos de taille supérieure à la taille maximum d'une
texture.
Variante du pilote de sortie vidéo OpenGL.
Gère les vidéos de taille supérieure à la taille maximale d'une texture,
mais n'offre ni les fonctionnalités avancées, ni optimisations du pilote
de sortie vidéo gl et a très peu de chances d'être amélioré à l'avenir.
.PD 0
.RSs
.IPs (no)glfinish
@ -4691,6 +4696,8 @@ r
Si <l> est défini, le décodage en résolution réduite sera effectué uniquement
si la largeur de la vidéo est plus grande ou égale à <l>.
.RE
.IPs "o\ \ \ \ "
FIXME: non documenté
.IPs "sb=<valeur> (MPEG-2 uniquement)"
Saute <valeur> lignes de macro-blocs au bas de l'image.
.IPs "st=<valeur> (MPEG-2 uniquement)"
@ -9516,6 +9523,10 @@ FIXME: Document this.
.B skip_threshold=<0\-1000000>
FIXME: Document this.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: non documenté
.
.
.SS nuv (\-nuvopts)
.
@ -10997,6 +11008,10 @@ Dur
Force l'utilisation d'un dé-multiplexeur libavformat spécifique.
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: non documenté
.
.TP
.B probesize=<valeur>
Quantité maximal de données à lire lors de la phase de détection.
Dans le cas de MPEG-TS, cette valeur correspond au nombre maximal
@ -11067,6 +11082,10 @@ permise, en secondes, entre la r
(SCR) et le timestamp de décodage (DTS) pour tout flux présent (délais
entre le démultiplexage et le décodage).
.
.TP
.B "o\ \ \ \ \ \ "
FIXME: non documenté
.
.
.
.\" --------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
.\" Synced with r26460
.\" Synced with r26674
.\" MPlayer (C) 2000-2008 MPlayer Team
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
.\" Karbantartó: Gabrov
@ -33,7 +33,7 @@
.\" Név
.\" --------------------------------------------------------------------------
.
.TH MPlayer 1 "2008. 04. 21." "MPlayer Project" "A film lejátszó"
.TH MPlayer 1 "2008. 05. 11." "MPlayer Project" "A film lejátszó"
.
.SH NÉV
mplayer \- film lejátszó
@ -153,8 +153,8 @@ l
Lejátsza a legtöbb MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM,
MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM és RoQ fájlt, számos natív és bináris
codec-et támogat.
Tudsz nézni vele Video CD-t, SVCD-t, DVD-t, 3ivx-et, DivX 3/4/5-öt és még WMV
filmeket is.
Tudsz nézni vele VCD-t, SVCD-t, DVD-t, 3ivx-et, DivX 3/4/5-öt, WMV-t és még
H.264 filmeket is.
.PP
Az MPlayer a videó és audió kimeneti vezérlők széles skáláját támogatja.
Van X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
@ -3772,8 +3772,10 @@ A kikapcsol
.
.TP
.B "gl2\ \ \ \ "
OpenGL kimeneti videó vezérlő, második generáció.
Támogatja az OSD-t és a maximum textúra méretnél nagyobb videókat.
Az OpenGL videó kimeneti vezérlő variánsa.
Támogatja a maximális textúra méretnél nagyobb videókat, de hiányzik belőle
a gl vezérlő több fejlettebb funkciója és optimalizációja és valószínűleg
nem lesz továbbfejlesztve.
.PD 0
.RSs
.IPs (no)glfinish

View File

@ -89,10 +89,9 @@ The "driver" keyword associates this codec with an internal MPlayer
decoder module. MPlayer has a module named "dshow" that handles data
encoded by the codec. See -vfm help / -afm help for the available module list.
The "dll" keyword specifies which Win32/XAnim/Real binary module needs to be
loaded in order to handle the specific media type. This keyword is usually
only used in conjunction with the dshow, vfw, acm, xanim and real drivers since
they all manage communication with binary-only modules.
The "dll" keyword specifies which Win32/XAnim/Real/Quicktime binary
module needs to be loaded. It's also used to specify which FFmpeg codec
to load. The list of FFmpeg codecs can be found in libavcodec/allcodecs.c.
The "guid" keyword identifies a 16-byte Microsoft GUID that some media
files use to identify codecs. Used only for win32 dshow and DMO codecs.

View File

@ -8,6 +8,16 @@ in order to be useful. Otherwise they quickly get outdated and become
obsolete, useless cruft. That said, we would be happy if you could
maintain a new documentation translation.
Experience shows that translations work best when done by teams. Not only
can the workload be shared, but there is also the chance to review the
translation. So if possible try to find more people to help out with
translating.
Furthermore, if you take over an unmaintained translation, bring the existing
parts up-to-date before translating new ones. Outdated information is worse
than missing information. For console messages and the XML documentation,
missing parts are automatically replaced by the English versions.
Documentation related discussions happen on the MPlayer-DOCS mailing list,
while documentation translation related discussions happen on the
MPlayer-translations mailing list. If you want to maintain a translation
@ -21,24 +31,64 @@ http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations
Send updates and patches to this mailing list or directly to the translation
coordination maintainer, see DOCS/tech/MAINTAINERS for details.
Experience shows that translations work best when done by teams. Not only
can the workload be shared, but there is also the chance to review the
translation. So if possible try to find more people to help out with
translating.
Furthermore, if you take over an unmaintained translation, bring the existing
parts up-to-date before translating new ones. Outdated information is worse
than missing information. For console messages and the XML documentation
missing parts are automatically replaced by the English versions.
Translations of MPlayer documentation consist of 3 parts in descending
order of importance:
0) homepage
1) console messages (help/help_mp-XX.h)
2) man page
3) XML documentation
Please note that only doing 1) or 1) + 2) is perfectly fine.
Not all parts are available in all languages. Keeping existing parts up-to-date
should have precedence over adding newly translated content. It is perfectly
acceptable to work on only a subset of these parts, but please follow the above
order of importance nonetheless.
Now on to some more detailed instructions...
general:
~~~~~~~~
Please note that the help_mp files and the XML documentation are both encoded
in UTF-8. Editing these files in a program which uses a different encoding
will result in breaking console messages and HTML.
Translations are for documentation what porting is for code. Many more eyes
see it and get to find mistakes. If you stumble over mistakes, inaccuracies,
clumsy wording, spelling/grammar errors or if you notice that something is
incomplete, please let us know, we'll fix it. Patches are more than welcome,
of course. Do not, however, change the translation first, please get your
update into the English version first.
If you have Subversion write access and commit a translation update, use
something like "synced with rXXX" as first line of the commit message so
that it is possible to tell with a glance at the Subversion log or ViewVC
if the translation is outdated and which revision of the English master
file it is equivalent to.
If you make (spelling/wording/consistency/etc) changes to a file without
adapting parts that changed in the English master file, leave the sync
tag as it is.
homepage:
~~~~~~~~~
Get the homepage from Subversion with
svn checkout svn://svn.mplayerhq.hu/homepage/trunk/ homepage
or browse the sources online at
http://svn.mplayerhq.hu/homepage/trunk/
The homepage uses design template files that are combined with the content
files to form the final HTML pages. To build the HTML pages, type 'make' in
the root of the homepage source directory.
console messages:
~~~~~~~~~~~~~~~~~
You can find the latest versions of the help_mp-XX.h files in Subversion or
here:
@ -55,11 +105,12 @@ TOOLS/mphelp_check.py is a small tool to check translated files. It will report
conflicting arguments, strings not present in the master file and (optionally)
strings missing from the translation. Running it as
mphelp_check.py help_mp-en.h help_mp-XX.h
TOOLS/mphelp_check.py help/help_mp-en.h help/help_mp-XX.h
will output errors to the screen, just substitute XX with your language code.
Adding the -missing option to the command line as in
mphelp_check.py -missing help_mp-en.h help_mp-XX.h
TOOLS/mphelp_check.py -missing help/help_mp-en.h help/help_mp-XX.h
will additionally print untranslated messages to the screen.
@ -79,26 +130,9 @@ to the file header, replacing XXX with the revision of help_mp-en.h that your
translation is in sync with. This way we can easily tell if the translation
is up to date or not.
Please note that the help_mp files and the XML documentation are both encoded
in UTF-8. Editing these files in a program which uses a different encoding
will result in breaking console messages and HTML.
Translations are for documentation what porting is for code. Many more eyes
see it and get to find mistakes. If you stumble over mistakes, inaccuracies,
clumsy wording, spelling/grammar errors or if you notice that something is
incomplete, please let us know, we'll fix it. Patches are more than welcome,
of course. Do not, however, change the translation first, please get your
update into the English version first.
If you have Subversion write access and commit a translation update file,
use something like "synced with rXXX" as first line of the commit message
so that it is possible to tell with a glance at the Subversion log or ViewVC
if the translation is outdated and which revision of the English master file
it is equivalent to.
If you make (spelling/wording/consistency/etc) changes to a file without
adapting parts that changed in the English master file, leave the sync
tag as it is.
XML documentation:
~~~~~~~~~~~~~~~~~~
If you make changes to the XML documentation, doublecheck that the
documentation still builds by running make.
documentation still builds by running 'make' in the DOCS/xml/ subdirectory.

View File

@ -309,7 +309,7 @@ sources can be gotten with this command:
<application>MPlayer</application> sources are updated whenever
an <systemitem class="library">x264</systemitem> API change
occurs, so it is always suggested to use
<application>MPlayer</application> from GIT as well.
<application>MPlayer</application> from Subversion as well.
Perhaps this situation will change when and if an
<systemitem class="library">x264</systemitem> "release" occurs.
Meanwhile, <systemitem class="library">x264</systemitem> should

View File

@ -5504,7 +5504,7 @@ mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5519,7 +5519,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5534,7 +5534,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5549,7 +5549,7 @@ vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26146 -->
<!-- synced with r26729 -->
<chapter id="codecs">
<title>Codec-ek</title>
@ -193,8 +193,8 @@ mivel jobb a sebessége.
<para>
Az <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
egy függvénykönyvtár a H.264 videó folyamok létrehozásához.
Még nincs kész 100%-ig, de valamilyen szinten már támogatja a
H.264 legtöbb minőségjavító tulajdonságát.
Még nincs kész 100%-ig, de támogatja a H.264 legtöbb minőségjavító
tulajdonságát.
Van számos fejlett tulajdonság a H.264 specifikációjában, aminek
semmi köze a videó minőségéhez; ezek többsége még nincs implementálva
az <systemitem class="library">x264</systemitem>-ben.
@ -305,16 +305,16 @@ H.264 dekódolójában, tartsd figyelemmel az
és az <systemitem class="library">x264</systemitem>-gyel videót kódolni?</title>
<para>
Ha van feltelepítve subversion kliensed, a legújabb x264
Ha van feltelepítve GIT kliensed, a legújabb x264
forrást letöltheted ezzel a paranccsal:
<screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
<screen>git clone git://git.videolan.org/x264.git</screen>
Az <application>MPlayer</application> forrás mindig frissül, ha
egy <systemitem class="library">x264</systemitem> API változás
jelenik meg, így javasolt az <application>MPlayer</application>
Subversion verziójának használata.
Talán ez a szituáció változni fog ha egy
<systemitem class="library">x264</systemitem> "kiadás" megjelenik.
Addig az <systemitem class="library">x264</systemitem> nagyon
Addig az <systemitem class="library">x264</systemitem> egy kicsit
instabilként kezelendő, figyelembe véve, hogy a programozási
felülete is változik.
</para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26474 -->
<!-- synced with r26711 -->
<chapter id="encoding-guide">
<title>Kódolás a <application>MEncoder</application>rel</title>
@ -5470,7 +5470,7 @@ mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5485,7 +5485,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5500,7 +5500,7 @@ vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
@ -5515,7 +5515,7 @@ vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>

166
Makefile
View File

@ -6,6 +6,9 @@
include config.mak
###### variable declarations #######
COMMON_LDFLAGS += $(EXTRA_LIB)\
$(EXTRALIBS) \
@ -260,7 +263,8 @@ SRCS_COMMON-$(LIBASS) += libass/ass.c \
libass/ass_utils.c \
libmpcodecs/vf_ass.c \
SRCS_COMMON-$(LIBAVCODEC) += libaf/af_lavcresample.c \
SRCS_COMMON-$(LIBAVCODEC) += av_opts.c \
libaf/af_lavcresample.c \
libmpcodecs/ad_ffmpeg.c \
libmpcodecs/vd_ffmpeg.c \
libmpcodecs/vf_lavc.c \
@ -286,7 +290,6 @@ SRCS_COMMON-$(LIBDVDCSS_INTERNAL) += libdvdcss/css.c \
libdvdcss/error.c \
libdvdcss/ioctl.c \
libdvdcss/libdvdcss.c \
#libdvdcss/bsdi_ioctl \
SRCS_COMMON-$(FAAD_INTERNAL) += libfaad2/bits.c \
libfaad2/cfft.c \
@ -638,15 +641,9 @@ ALL_PRG += $(ALL_PRG-yes)
INSTALL_TARGETS-$(MPLAYER) += install-mplayer install-mplayer-man
INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mplayer-man
INSTALL_TARGETS-$(GUI) += install-gui
INSTALL_TARGETS-$(GUI_GTK) += install-gui
INSTALL_TARGETS += $(INSTALL_TARGETS-yes)
PARTS = ffmpeg/libavcodec \
ffmpeg/libavformat \
ffmpeg/libavutil \
ffmpeg/libpostproc \
libswscale \
DIRS = . \
dvdread \
gui \
@ -694,6 +691,16 @@ DIRS = . \
TOOLS \
vidix \
PARTS = ffmpeg/libavcodec \
ffmpeg/libavformat \
ffmpeg/libavutil \
ffmpeg/libpostproc \
libswscale \
###### generic rules #######
all: $(ALL_PRG)
%.d: %.c
@ -705,45 +712,18 @@ all: $(ALL_PRG)
%.d: %.m
$(MPDEPEND_CMD) > $@
%.ho: %.h
$(CC) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
%.o: %.m
$(CC) $(CFLAGS) -c -o $@ $<
codec-cfg.d: codecs.conf.h
mencoder.d mplayer.d vobsub.d gui/win32/gui.d libmpdemux/muxer_avi.d stream/network.d stream/stream_cddb.d: version.h
DEPS = $(filter-out %.S,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON) $(SRCS_MPLAYER:.m=.d) $(SRCS_MENCODER))))
$(DEPS): help_mp.h
%.ho: %.h
$(CC) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
ALLHEADERS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.h))
checkheaders: $(ALLHEADERS:.h=.ho)
dep depend: $(DEPS)
for part in $(PARTS); do $(MAKE) -C $$part depend; done
# rebuild version.h each time the working copy is updated
ifeq ($(wildcard .svn/entries),.svn/entries)
version.h: .svn/entries
endif
version.h:
./version.sh `$(CC) -dumpversion`
help_mp.h: help/help_mp-en.h $(HELP_FILE)
@echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h
@echo '// See the help/ subdir for the editable files.' >> help_mp.h
@echo '#ifndef MPLAYER_HELP_MP_H' >> help_mp.h
@echo '#define MPLAYER_HELP_MP_H' >> help_mp.h
ifeq ($(CHARSET),)
@echo '#include "$(HELP_FILE)"' >> help_mp.h
else
iconv -f UTF-8 -t $(CHARSET) "$(HELP_FILE)" >> help_mp.h
endif
@echo '#endif /* MPLAYER_HELP_MP_H */' >> help_mp.h
ifneq ($(HELP_FILE),help/help_mp-en.h)
@echo "Adding untranslated messages to help_mp.h"
@echo '// untranslated messages from the English master file:' >> help_mp.h
@help/help_diff.sh $(HELP_FILE) < help/help_mp-en.h >> help_mp.h
endif
define RECURSIVE_RULE
$(part)/$(notdir $(part)).a: recurse
$(MAKE) -C $(part)
@ -770,14 +750,51 @@ codec-cfg-test$(EXESUF): codecs.conf.h codec-cfg.h mp_msg.o osdep/getch2.o
$(CC) -I. -DTESTING codec-cfg.c mp_msg.o osdep/getch2.o -ltermcap -o $@
osdep/mplayer-rc.o: osdep/mplayer.rc version.h
$(WINDRES) -o $@ $<
$(WINDRES) -I. -o $@ $<
# ./configure must be rerun if it changed
config.mak: configure
@echo "############################################################"
@echo "####### Please run ./configure again - it's changed! #######"
@echo "############################################################"
# rebuild version.h each time the working copy is updated
ifeq ($(wildcard .svn/entries),.svn/entries)
version.h: .svn/entries
endif
version.h:
./version.sh `$(CC) -dumpversion`
help_mp.h: help/help_mp-en.h $(HELP_FILE)
@echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h
@echo '// See the help/ subdir for the editable files.' >> help_mp.h
@echo '#ifndef MPLAYER_HELP_MP_H' >> help_mp.h
@echo '#define MPLAYER_HELP_MP_H' >> help_mp.h
ifeq ($(CHARSET),)
@echo '#include "$(HELP_FILE)"' >> help_mp.h
else
iconv -f UTF-8 -t $(CHARSET) "$(HELP_FILE)" >> help_mp.h
endif
@echo '#endif /* MPLAYER_HELP_MP_H */' >> help_mp.h
ifneq ($(HELP_FILE),help/help_mp-en.h)
@echo '// untranslated messages from the English master file:' >> help_mp.h
@help/help_diff.sh $(HELP_FILE) < help/help_mp-en.h >> help_mp.h
endif
###### dependency declarations / specific CFLAGS ######
codec-cfg.d: codecs.conf.h
mencoder.d mplayer.d vobsub.d gui/win32/gui.d libmpdemux/muxer_avi.d stream/network.d stream/stream_cddb.d: version.h
DEPS = $(filter-out %.S,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON) $(SRCS_MPLAYER:.m=.d) $(SRCS_MENCODER))))
$(DEPS): help_mp.h
dvdread/%.o dvdread/%.d: CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE $(LIBDVDCSS_DVDREAD_FLAGS)
libdvdcss/%.o libdvdcss/%.d: CFLAGS += -D__USE_UNIX98 -D_GNU_SOURCE -DVERSION=\"1.2.9\"
libfaad2/%.o libfaad2/%.d: CFLAGS += -Ilibfaad2 -D_GNU_SOURCE
libmpdemux/demux_lavf.o libmpdemux/demux_lavf.d libmpdemux/mp_taglists.o libmpdemux/mp_taglists.d: CFLAGS += -Iffmpeg/libavcodec
loader/% loader/%: CFLAGS += -Iloader -fno-omit-frame-pointer $(CFLAG_NO_OMIT_LEAF_FRAME_POINTER)
#loader/%.o loader/%.d: CFLAGS += -Ddbg_printf=__vprintf -DTRACE=__vprintf -DDETAILED_OUT
loader/win32.o loader/win32.d: CFLAGS += $(CFLAG_STACKREALIGN)
@ -795,29 +812,9 @@ VIDIX_OBJS = $(filter vidix/%,$(SRCS_MPLAYER:.c=.o))
$(VIDIX_DEPS) $(VIDIX_OBJS): $(VIDIX_PCI_FILES)
TEST_OBJS = mp_msg-mencoder.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm
liba52/test$(EXESUF): liba52/test.c cpudetect.o $(filter liba52/%,$(SRCS_COMMON:.c=.o))
libvo/aspecttest$(EXESUF): libvo/aspecttest.c libvo/aspect.o libvo/geometry.o $(TEST_OBJS)
LOADER_TEST_OBJS = $(filter loader/%,$(SRCS_COMMON:.c=.o)) libmpdemux/aviprint.o osdep/mmap_anon.o cpudetect.o $(TEST_OBJS)
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): CFLAGS += -g
loader/qtx/list$(EXESUF): loader/qtx/list.c $(LOADER_TEST_OBJS)
loader/qtx/qtxload$(EXESUF): loader/qtx/qtxload.c $(LOADER_TEST_OBJS)
mp3lib/test$(EXESUF): mp3lib/test.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
mp3lib/test2$(EXESUF): mp3lib/test2.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
TESTS = liba52/test$(EXESUF) libvo/aspecttest$(EXESUF) \
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF) \
mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF)
tests: $(TESTS)
testsclean:
rm -f $(TESTS)
###### installation rules #######
install: install-dirs $(INSTALL_TARGETS)
@ -886,6 +883,11 @@ distclean: clean doxygen_clean testsclean toolsclean
codec-cfg$(EXESUF) codecs2html$(EXESUF) codec-cfg-test$(EXESUF) \
cpuinfo$(EXESUF) TAGS tags
doxygen:
doxygen DOCS/tech/Doxyfile
doxygen_clean:
-rm -rf DOCS/tech/doxygen
strip:
strip -s $(ALL_PRG)
@ -895,21 +897,33 @@ TAGS:
tags:
rm -f $@; ( find -name '*.[chS]' -print ) | xargs ctags -a
ALLHEADERS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.h))
checkheaders: $(ALLHEADERS:.h=.ho)
# ./configure must be rerun if it changed
config.mak: configure
@echo "############################################################"
@echo "####### Please run ./configure again - it's changed! #######"
@echo "############################################################"
doxygen:
doxygen DOCS/tech/Doxyfile
###### tests / tools #######
doxygen_clean:
-rm -rf DOCS/tech/doxygen
TEST_OBJS = mp_msg-mencoder.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm
liba52/test$(EXESUF): liba52/test.c cpudetect.o $(filter liba52/%,$(SRCS_COMMON:.c=.o))
libvo/aspecttest$(EXESUF): libvo/aspecttest.c libvo/aspect.o libvo/geometry.o $(TEST_OBJS)
LOADER_TEST_OBJS = $(filter loader/%,$(SRCS_COMMON:.c=.o)) libmpdemux/aviprint.o osdep/mmap_anon.o cpudetect.o $(TEST_OBJS)
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): CFLAGS += -g
loader/qtx/list$(EXESUF): loader/qtx/list.c $(LOADER_TEST_OBJS)
loader/qtx/qtxload$(EXESUF): loader/qtx/qtxload.c $(LOADER_TEST_OBJS)
mp3lib/test$(EXESUF): mp3lib/test.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
mp3lib/test2$(EXESUF): mp3lib/test2.c $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
TESTS = liba52/test$(EXESUF) libvo/aspecttest$(EXESUF) \
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF) \
mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF)
tests: $(TESTS)
testsclean:
rm -f $(TESTS)
TOOLS = TOOLS/alaw-gen$(EXESUF) \
TOOLS/asfinfo$(EXESUF) \

View File

@ -1,24 +1,23 @@
/*
* modify_reg.c
* A program to modify a registry file.
*
* Copyright (C) 2007 Alan Nisota
*
* This file is part of MPlayer, a free movie player.
*
* 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, 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
* 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.
*/
#include <unistd.h>

View File

@ -1,23 +1,21 @@
/*
* netstream.c
* Copyright (C) Alban Bedel - 04/2003
*
* Copyright (C) Alban Bedel - 04/2003
* This file is part of MPlayer.
*
* This file is part of MPlayer, a free movie player.
*
* 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, 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
* 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.
*/
#include <stdlib.h>

48
av_opts.c Normal file
View File

@ -0,0 +1,48 @@
/*
* AVOption parsing helper
* Copyright (C) 2008 Michael Niedermayer
*
* 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.
*/
#include <stdlib.h>
#include <string.h>
#include "libavcodec/opt.h"
int parse_avopts(void *v, char *str){
char *start;
start= str= strdup(str);
while(str && *str){
char *next_opt, *arg;
next_opt= strchr(str, ',');
if(next_opt) *next_opt++= 0;
arg = strchr(str, '=');
if(arg) *arg++= 0;
if(!av_set_string(v, str, arg)){
free(start);
return -1;
}
str= next_opt;
}
free(start);
return 0;
}

25
av_opts.h Normal file
View File

@ -0,0 +1,25 @@
/*
* AVOption parsing helper
* Copyright (C) 2008 Michael Niedermayer
*
* 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.
*/
/**
* Parses str and sets AVOptions in v accordingly.
*/
int parse_avopts(void *v, char *str);

View File

@ -12,8 +12,7 @@ vpath %.S $(SRC_DIR)
ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
CFLAGS = -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/ffmpeg\
$(addprefix -I$(SRC_PATH)/ffmpeg/lib,$(ALLFFLIBS)) $(OPTFLAGS)
-D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/ffmpeg $(OPTFLAGS)
%.o: %.c
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
@ -33,6 +32,8 @@ CFLAGS = -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
%.d: %.cpp
$(DEPEND_CMD) > $@
%$(EXESUF): %.c
install: install-libs install-headers
uninstall: uninstall-libs uninstall-headers
@ -70,11 +71,14 @@ LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map
DISTCLEANSUFFIXES = *.d
define RULES
$(SUBDIR)%: $(SUBDIR)%.o $(LIBNAME)
$(CC) $(FFLDFLAGS) -o $$@ $$^ $(FFEXTRALIBS)
$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
$(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS)
$(SUBDIR)%-test$(EXESUF): $(SUBDIR)%.c $(LIBNAME)
$(CC) $(CFLAGS) $(FFLDFLAGS) -DTEST -o $$@ $$^ $(FFEXTRALIBS)
$(SUBDIR)%-test.o: $(SUBDIR)%.c
$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
clean::
rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
@ -87,9 +91,6 @@ endef
$(eval $(RULES))
# Clear DIRS variable so that it is not used in other subdirectories.
DIRS =
tests: $(TESTS)
-include $(DEPS)

177
configure vendored
View File

@ -286,7 +286,9 @@ Codecs:
--disable-xanim disable XAnim codecs support [enabled]
--disable-real disable RealPlayer codecs support [enabled]
--disable-xvid disable XviD [autodetect]
--disable-xvid-lavc disable XviD in libavcodec [autodetect]
--disable-x264 disable x264 [autodetect]
--disable-x264-lavc disable x264 in libavcodec [autodetect]
--disable-libnut disable libnut [autodetect]
--disable-libavutil_a disable static libavutil [autodetect]
--disable-libavcodec_a disable static libavcodec [autodetect]
@ -308,9 +310,12 @@ Codecs:
--disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
--enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
--disable-faac disable support for FAAC (AAC encoder) [autodetect]
--disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
--disable-ladspa disable LADSPA plugin support [autodetect]
--disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
--disable-mad disable libmad (MPEG audio) support [autodetect]
--disable-mp3lame disable LAME MP3 encoding support [autodetect]
--disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
--disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
--disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
--enable-xmms enable XMMS input plugin support [disabled]
@ -553,6 +558,8 @@ _openal=auto
_libcdio=auto
_liblzo=auto
_mad=auto
_mp3lame=auto
_mp3lame_lavc=auto
_toolame=auto
_twolame=auto
_tremor_internal=yes
@ -569,6 +576,7 @@ _faad_internal=auto
_faad_external=auto
_faad_fixed=no
_faac=auto
_faac_lavc=auto
_ladspa=auto
_xmms=no
_dvdnav=auto
@ -615,7 +623,9 @@ _vidix_external=auto
_vidix_pcidb=yes
_joystick=no
_xvid=auto
_xvid_lavc=auto
_x264=auto
_x264_lavc=auto
_libnut=auto
_lirc=auto
_lircc=auto
@ -890,6 +900,10 @@ for ac_option do
--disable-openal) _openal=no ;;
--enable-mad) _mad=yes ;;
--disable-mad) _mad=no ;;
--enable-mp3lame) _mp3lame=yes ;;
--disable-mp3lame) _mp3lame=no ;;
--enable-mp3lame-lavc) _mp3lame_lavc=yes ;;
--disable-mp3lame-lavc) _mp3lame_lavc=no ;;
--enable-toolame) _toolame=yes ;;
--disable-toolame) _toolame=no ;;
--enable-twolame) _twolame=yes ;;
@ -928,6 +942,8 @@ for ac_option do
--disable-faad-fixed) _faad_fixed=no ;;
--enable-faac) _faac=yes ;;
--disable-faac) _faac=no ;;
--enable-faac-lavc) _faac_lavc=yes ;;
--disable-faac-lavc) _faac_lavc=no ;;
--enable-ladspa) _ladspa=yes ;;
--disable-ladspa) _ladspa=no ;;
--enable-xmms) _xmms=yes ;;
@ -1010,8 +1026,12 @@ for ac_option do
--disable-joystick) _joystick=no ;;
--enable-xvid) _xvid=yes ;;
--disable-xvid) _xvid=no ;;
--enable-xvid-lavc) _xvid_lavc=yes ;;
--disable-xvid-lavc) _xvid_lavc=no ;;
--enable-x264) _x264=yes ;;
--disable-x264) _x264=no ;;
--enable-x264-lavc) _x264_lavc=yes ;;
--disable-x264-lavc) _x264_lavc=no ;;
--enable-libnut) _libnut=yes ;;
--disable-libnut) _libnut=no ;;
--enable-libavutil_a) _libavutil_a=yes ;;
@ -2391,44 +2411,18 @@ echores $_asmalign_pot
#FIXME: This should happen before the check for CFLAGS..
if ppc ; then
if test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ; then
# check if altivec is supported by the compiler, and how to enable it
_altivec_gcc_flags=''
echocheck "GCC altivec support"
p=''
# check if AltiVec is supported by the compiler, and how to enable it
echocheck "GCC AltiVec flags"
cat > $TMPC << EOF
int main(void) { return 0; }
EOF
FSF_flags='-maltivec -mabi=altivec'
Darwin_flags='-faltivec'
# check for Darwin-style flags first, since gcc-3.3 (August Update
# from Apple) on MacOS 10.2.8 accepts but ignores FSF-style flags...
if test -z "$p"; then
cc_check $Darwin_flags && p='Darwin'
fi
if test -z "$p"; then
cc_check $FSF_flags && p='FSF'
fi
case $p in
FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
*) _altivec=no ;;
esac
if test -z "$p"; then
p=none
else
p="$p-style ($_altivec_gcc_flags)"
fi
echores "$p"
cc_check -maltivec -mabi=altivec \
&& _altivec_gcc_flags="-maltivec -mabi=altivec" \
|| cc_check -faltivec && _altivec_gcc_flags=-faltivec \
|| _altivec=no
echores "$_altivec_gcc_flags"
# check if <altivec.h> should be included
echocheck "altivec.h"
@ -2442,27 +2436,17 @@ EOF
&& _def_altivec_h='#define HAVE_ALTIVEC_H 1'
echores "$_have_altivec_h"
# disable runtime cpudetection if
# - we cannot generate altivec code
# - altivec is disabled by the user
# Disable runtime cpudetection if we cannot generate AltiVec code or
# AltiVec is disabled by the user.
test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
&& _runtime_cpudetection=no
if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
_runtime_cpudetection=no
fi
# Show that we are optimizing for AltiVec (if enabled and supported).
test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
&& _optimizing="$_optimizing altivec"
# show that we are optimizing for altivec (if enabled and supported)
if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
_optimizing="$_optimizing altivec"
fi
# if altivec is enabled, make sure the correct flags turn up in CFLAGS
if test "$_altivec" = yes ; then
#FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
#_mcpu="$_mcpu $_altivec_gcc_flags"
CFLAGS="$CFLAGS $_altivec_gcc_flags"
fi
# If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"
fi
if arm ; then
@ -6024,20 +6008,21 @@ EOF
fi
if test "$_faac" = yes ; then
_def_faac="#define HAVE_FAAC 1"
if echo $_libavencoders | grep -q FAAC ; then
_lavc_faac=yes
_def_lavc_faac="#define CONFIG_LIBFAAC 1"
test "$_faac_lavc" = auto && _faac_lavc=yes
if test "$_faac_lavc" = yes ; then
_def_faac_lavc="#define CONFIG_LIBFAAC 1"
_libs_mplayer="$_libs_mplayer $_ld_faac"
else
_lavc_faac=no
_def_lavc_faac="#undef CONFIG_LIBFAAC"
_libavencoders="$_libavencoders LIBFAAC_ENCODER"
fi
_codecmodules="faac $_codecmodules"
else
_faac_lavc=no
_def_faac="#undef HAVE_FAAC"
_def_faac_lavc="#undef CONFIG_LIBFAAC"
_nocodecmodules="faac $_nocodecmodules"
fi
echores "$_faac (in libavcodec: $_lavc_faac)"
_res_comment="in libavcodec: $_faac_lavc"
echores "$_faac"
echocheck "FAAD2 (AAC) support"
@ -6542,22 +6527,22 @@ else
fi
echores "$_xvid"
if test "$_xvid" = yes ; then
echocheck "XviD two pass plugin"
echocheck "XviD two pass plugin"
if test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
cat > $TMPC << EOF
#include <xvid.h>
int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
EOF
if cc_check ; then
_lavc_xvid=yes
_def_lavc_xvid='#define CONFIG_LIBXVID 1'
_libavencoders="$_libavencoders LIBXVID_ENCODER"
else
_lavc_xvid=no
_def_lavc_xvid='#undef CONFIG_LIBXVID'
fi
echores "$_lavc_xvid"
cc_check && _xvid_lavc=yes
fi
if test "$_xvid_lavc" = yes ; then
_def_xvid_lavc='#define CONFIG_LIBXVID 1'
_libavencoders="$_libavencoders LIBXVID_ENCODER"
else
_xvid_lavc=no
_def_xvid_lavc='#undef CONFIG_LIBXVID'
fi
echores "$_xvid_lavc"
echocheck "x264"
@ -6579,15 +6564,20 @@ fi
if test "$_x264" = yes ; then
_def_x264='#define HAVE_X264 1'
_codecmodules="x264 $_codecmodules"
_def_lavc_x264='#define CONFIG_LIBX264 1'
test "$_x264_lavc" = auto && _x264_lavc=yes
if test "$_x264_lavc" = yes ; then
_def_x264_lavc='#define CONFIG_LIBX264 1'
_libs_mplayer="$_libs_mplayer $_ld_x264"
_libavencoders="$_libavencoders LIBX264_ENCODER"
fi
else
_x264_lavc=no
_def_x264='#undef HAVE_X264'
_def_lavc_x264='#undef CONFIG_LIBX264'
_def_x264_lavc='#undef CONFIG_LIBX264'
_nocodecmodules="x264 $_nocodecmodules"
fi
echores "$_x264 (in libavcodec: $_lavc_x264)"
_res_comment="in libavcodec: $_x264_lavc"
echores "$_x264"
echocheck "libnut"
@ -6642,17 +6632,18 @@ echores "$_zr"
if test "$_mencoder" != no ; then
echocheck "libmp3lame (for mencoder)"
_mp3lame=no
_def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
_def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
cat > $TMPC <<EOF
if test "$_mp3lame" = auto ; then
_mp3lame=no
cat > $TMPC <<EOF
#include <lame/lame.h>
int main(void) { lame_version_t lv; (void) lame_init();
get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
return 0; }
EOF
# Note: libmp3lame usually depends on vorbis
cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
fi
if test "$_mp3lame" = yes ; then
_def_mp3lame="#define HAVE_MP3LAME"
_ld_mp3lame=-lmp3lame
@ -6667,18 +6658,18 @@ EOF
int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
EOF
cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
if echo $_libavencoders | grep -q MP3LAME ; then
_lavc_mp3lame=yes
_def_lavc_mp3lame="#define CONFIG_LIBMP3LAME 1"
test "$_mp3lame_lavc" = auto && _mp3lame_lavc=yes
if test "$_mp3lame_lavc" = yes ; then
_def_mp3lame_lavc="#define CONFIG_LIBMP3LAME 1"
_libavencoders="$_libavencoders LIBMP3LAME_ENCODER"
_libs_mplayer="$_libs_mplayer $_ld_mp3lame"
else
_lavc_mp3lame=no
_def_lavc_mp3lame="#undef CONFIG_LIBMP3LAME"
fi
else
_mp3lame_lavc=no
_def_mp3lame='#undef HAVE_MP3LAME'
_def_mp3lame_lavc="#undef CONFIG_LIBMP3LAME"
fi
_res_comment="in libavcodec: $_mp3lame_lavc"
echores "$_mp3lame"
fi
@ -7509,7 +7500,7 @@ if test "$cc_vendor" = "gnu" ; then
fi
CFLAGS_FFMPEG="-I../.. $CFLAGS"
CFLAGS="-I. -Iffmpeg -Iffmpeg/libavutil $CFLAGS"
CFLAGS="-I. -Iffmpeg $CFLAGS"
CXXFLAGS=" $CFLAGS -D__STDC_LIMIT_MACROS"
cc_check -mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER="-mno-omit-leaf-frame-pointer"
@ -7759,11 +7750,11 @@ CONFIG_MUXERS=$_mencoder
CONFIG_LIBAMR=$_libamr
CONFIG_LIBAMR_NB=$_libamr_nb
CONFIG_LIBAMR_WB=$_libamr_wb
CONFIG_LIBFAAC=$_lavc_faac
CONFIG_LIBMP3LAME=$_lavc_mp3lame
CONFIG_LIBFAAC=$_faac_lavc
CONFIG_LIBMP3LAME=$_mp3lame_lavc
CONFIG_LIBVORBIS=$_libvorbis
CONFIG_LIBX264=$_x264
CONFIG_LIBXVID=$_lavc_xvid
CONFIG_LIBX264=$_x264_lavc
CONFIG_LIBXVID=$_xvid_lavc
CONFIG_MLIB = $_mlib
# Prevent building libavcodec/imgresample.c with conflicting symbols
CONFIG_SWSCALE=yes
@ -8152,10 +8143,10 @@ $_def_libamr_wb
`ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
`ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
$_def_lavc_faac
$_def_lavc_xvid
$_def_lavc_mp3lame
$_def_lavc_x264
$_def_faac_lavc
$_def_mp3lame_lavc
$_def_x264_lavc
$_def_xvid_lavc
/* Use codec libs included in mplayer CVS / source dist: */
$_def_mp3lib

View File

@ -9,6 +9,14 @@ release 20070930
; VIDEO CODECS
;=============================================================================
videocodec ffsiff
info "FFmpeg Beam Software SIFF decoder"
status working
fourcc VBV1
driver ffmpeg
dll vb
out BGR8
videocodec ffmimic
info "FFmpeg Mimic video"
status working
@ -218,6 +226,14 @@ videocodec mpng
driver mpng
out BGR32,BGR24,BGR8,Y800
videocodec ffptx
info "FFmpeg V.Flash PTX decoder"
status working
fourcc "ptx " ; internal MPlayer FourCC
driver ffmpeg
dll ptx
out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
videocodec fftga
info "FFmpeg TGA decoder"
status untested
@ -2114,6 +2130,14 @@ videocodec ffbethsoftvid
dll bethsoftvid
out BGR8
videocodec ffrl2
info "FFmpeg RL2 decoder"
status working
fourcc RL2V ; internal MPlayer FourCC
driver ffmpeg
dll rl2
out BGR8
videocodec fftxd
info "FFmpeg Renderware TeXture Dictionary decoder"
status working
@ -3019,6 +3043,7 @@ audiocodec msgsm
status working
format 0x31
format 0x32
format 0x204D5347
fourcc agsm
driver msgsm

View File

@ -149,13 +149,13 @@ AR_VDOWN volume -1
## Requires dvdnav://
##
KP8 dvdnav 1 # DVDNav UP
KP2 dvdnav 2 # DVDNav DOWN
KP4 dvdnav 3 # DVDNav LEFT
KP6 dvdnav 4 # DVDNav RIGHT
KP5 dvdnav 5 # DVDNav MENU
KP_ENTER dvdnav 6 # DVDNav SELECT (ok)
KP7 dvdnav 7 # DVDNav PREVIOUS menu (in the order chapter->title->root)
UP {dvdnav} dvdnav 1 # DVDNav UP
DOWN {dvdnav} dvdnav 2 # DVDNav DOWN
LEFT {dvdnav} dvdnav 3 # DVDNav LEFT
RIGHT {dvdnav} dvdnav 4 # DVDNav RIGHT
ESC {dvdnav} dvdnav 5 # DVDNav MENU
ENTER {dvdnav} dvdnav 6 # DVDNav SELECT (ok)
BS {dvdnav} dvdnav 7 # DVDNav PREVIOUS menu (in the order chapter->title->root)
#? seek_chapter -1 # skip to previous dvd chapter
#? seek_chapter +1 # next

View File

@ -13,9 +13,9 @@
* 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
* 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_GET_PATH_H

View File

@ -1954,6 +1954,7 @@ static char help_text[]=
"[VO_XV] DOCS/HTML/en/video.html#xv!\n"\
"[VO_XV] See 'mplayer -vo help' for other (non-xv) video out drivers.\n"\
"[VO_XV] Try -vo x11.\n"
#define MSGTR_LIBVO_XV_Adaptor "[VO_XV] Using Xv Adaptor #%d (%s)\n"
// loader/ldt_keeper.c

View File

@ -3,7 +3,7 @@
//... Okay enough of the hw, now send the other two!
//
// Updated by: Gabrov <gabrov@freemail.hu>
// Sync'ed with help_mp-en.h r26067 (2008. 03. 01.)
// Sync'ed with help_mp-en.h r26649 (2008. 05. 11.)
// ========================= MPlayer help ===========================
@ -2033,7 +2033,7 @@ static char help_text[]=
#define MSGTR_LIBASS_ErrorOpeningFont "[ass] Hiba a betűtípus megnyitásakor: %s, %d\n"
// ass_fontconfig.c
#define MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne "[ass] fontconfig: A kiválasztott betűtípus család nem a kért: '%s' != '%s'\n"
#define MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne "[ass] fontconfig: A kiválasztott betűtípus nem a kért: '%s' != '%s'\n"
#define MSGTR_LIBASS_UsingDefaultFontFamily "[ass] fontconfig_select: Alapértelmezett betűtípus család használata: (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingDefaultFont "[ass] fontconfig_select: Alapértelmezett betűtípus használata: (%s, %d, %d) -> %s, %d\n"
#define MSGTR_LIBASS_UsingArialFontFamily "[ass] fontconfig_select: 'Arial' betűtípus család használata: (%s, %d, %d) -> %s, %d\n"
@ -2064,7 +2064,7 @@ static char help_text[]=
#define MSGTR_LIBASS_EventHeightHasChanged "[ass] Figyelem! Esemény magassága megváltozott! \n"
// ass_font.c
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 0x%X jel nem található, betűtípus újraválasztása ehhez: (%s, %d, %d)\n"
#define MSGTR_LIBASS_GlyphNotFoundReselectingFont "[ass] 0x%X jel nem található, még egy betűtípus választása ehhez: (%s, %d, %d)\n"
#define MSGTR_LIBASS_GlyphNotFound "[ass] 0x%X jel nem található a betűtípusban ehhez: (%s, %d, %d)\n"
#define MSGTR_LIBASS_ErrorOpeningMemoryFont "[ass] Hiba a betűtípus memóriában történő megnyitásakor: %s\n"
#define MSGTR_LIBASS_NoCharmaps "[ass] betűtípus leírás karaktertábla nélkül\n"

View File

@ -17,9 +17,9 @@
* 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
* 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.
*/
#include <IOKit/IOCFPlugIn.h>

View File

@ -15,9 +15,9 @@
* 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
* 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_AR_H

View File

@ -1218,7 +1218,7 @@ static mp_cmd_t *read_events(struct input_ctx *ictx, int time, int paused)
}
}
#else
if (!got_cmd)
if (!got_cmd && time)
usec_sleep(time * 1000);
#endif

View File

@ -1,25 +1,24 @@
/* ------------------------------------------------------------------------- */
/*
* af_ladspa.c, LADSPA plugin loader
*
* Written by Ivo van Poorten <ivop@euronet.nl>
* Copyright (C) 2004, 2005
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This file is part of MPlayer.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* ------------------------------------------------------------------------- */

View File

@ -15,9 +15,9 @@
* 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
* 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.
*/
#include <stdio.h>

View File

@ -13,9 +13,9 @@
* 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
* 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.
*/
#include <stdio.h>

View File

@ -1,5 +1,17 @@
/*
* scaletempo audio filter
*
* scale tempo while maintaining pitch
* (WSOLA technique with cross correlation)
* inspired by SoundTouch library by Olli Parviainen
*
* basic algorithm
* - produce 'stride' output samples per loop
* - consume stride*scale input samples per loop
*
* to produce smoother transitions between strides, blend next overlap
* samples from last stride with correlated samples of current input
*
* Copyright (c) 2007 Robert Juliano
*
* This file is part of MPlayer.
@ -14,21 +26,9 @@
* 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
*
* scale tempo while maintaining pitch
* (WSOLA technique with cross correlation)
* inspired by SoundTouch library by Olli Parviainen
*
* basic algorithm
* - produce 'stride' output samples per loop
* - consume stride*scale input samples per loop
*
* to produce smoother transitions between strides, blend next overlap
* samples from last stride with correlated samples of current input
*
* 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.
*/
#include <stdlib.h>

View File

@ -13,9 +13,9 @@
* 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
* 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.
*/
#include <stdio.h>

View File

@ -15,9 +15,9 @@
* 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
* 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.
*/
#include <stdio.h>

View File

@ -15,9 +15,9 @@
* 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
* 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_REORDER_CH_H

View File

@ -1,22 +1,25 @@
/******************************************************************************
* ao_dsound.c: Windows DirectSound interface for MPlayer
/*
* Windows DirectSound interface
*
* Copyright (c) 2004 Gabor Szecsi <deje@miki.hu>
*
* This program is free software; you can redistribute it and/or modify
* 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.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/**
\todo verify/extend multichannel support
*/

View File

@ -1,25 +1,28 @@
/*
* Copyright (C) 2006 Benjamin Zores
* Audio output for WinTV PVR-150/250/350 (a.k.a IVTV) cards.
* through Connexant hardware MPEG decoder.
* See http://ivtvdriver.org/index.php/Main_Page for more details on the
* cards supported by the ivtv driver.
* audio output for WinTV PVR-150/250/350 (a.k.a IVTV) cards
* through Connexant hardware MPEG decoder
* See http://ivtvdriver.org/index.php/Main_Page for more details on the
* cards supported by the ivtv driver.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* WARNING: You need to force -ac hwmpa for audio output to work.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* Copyright (C) 2006 Benjamin Zores
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* This file is part of MPlayer.
*
* WARNING: you need to force -ac hwmpa for audio output to work.
* 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.
*/
#include <inttypes.h>

View File

@ -15,10 +15,11 @@
* 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
* 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.
*/
#include <string.h>
#include <pulse/pulseaudio.h>
@ -116,10 +117,14 @@ static const struct format_map_s {
} format_maps[] = {
{AF_FORMAT_S16_LE, PA_SAMPLE_S16LE},
{AF_FORMAT_S16_BE, PA_SAMPLE_S16BE},
#ifdef PA_SAMPLE_S32NE
{AF_FORMAT_S32_LE, PA_SAMPLE_S32LE},
{AF_FORMAT_S32_BE, PA_SAMPLE_S32BE},
#endif
#ifdef PA_SAMPLE_FLOAT32NE
{AF_FORMAT_FLOAT_LE, PA_SAMPLE_FLOAT32LE},
{AF_FORMAT_FLOAT_BE, PA_SAMPLE_FLOAT32BE},
#endif
{AF_FORMAT_U8, PA_SAMPLE_U8},
{AF_FORMAT_MU_LAW, PA_SAMPLE_ULAW},
{AF_FORMAT_A_LAW, PA_SAMPLE_ALAW},

View File

@ -1,22 +1,25 @@
/*
* Copyright (C) 2007 Benjamin Zores
* Audio output for V4L2 hardware MPEG decoders.
* audio output for V4L2 hardware MPEG decoders
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* WARNING: You need to force -ac hwmpa for audio output to work.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* Copyright (C) 2007 Benjamin Zores
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* This file is part of MPlayer.
*
* WARNING: you need to force -ac hwmpa for audio output to work.
* 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.
*/
#include <inttypes.h>

View File

@ -1,22 +1,24 @@
/******************************************************************************
* ao_win32.c: Windows waveOut interface for MPlayer
* Copyright (c) 2002 - 2004 Sascha Sommer <saschasommer@freenet.de>.
/*
* Windows waveOut interface
*
* This program is free software; you can redistribute it and/or modify
* Copyright (c) 2002 - 2004 Sascha Sommer <saschasommer@freenet.de>
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_ASS_H
#define LIBASS_ASS_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <stdlib.h>
#include <string.h>

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_BITMAP_H
#define LIBASS_BITMAP_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_CACHE_H
#define LIBASS_CACHE_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_FONT_H
#define LIBASS_FONT_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
@ -50,6 +52,16 @@ struct fc_instance_s {
};
#ifdef HAVE_FONTCONFIG
// 4yo fontconfig does not have these.
// They are only needed for debug output, anyway.
#ifndef FC_FULLNAME
#define FC_FULLNAME "fullname"
#endif
#ifndef FC_EMBOLDEN
#define FC_EMBOLDEN "embolden"
#endif
/**
* \brief Low-level font selection.
* \param priv private data
@ -65,7 +77,7 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
{
FcBool rc;
FcResult result;
FcPattern *pat = 0, *rpat;
FcPattern *pat = 0, *rpat = 0;
int r_index, r_slant, r_weight;
FcChar8 *r_family, *r_style, *r_file, *r_fullname;
FcBool r_outline, r_embolden;
@ -73,6 +85,7 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
FcFontSet* fset = 0;
int curf;
char* retval = 0;
int family_cnt;
*index = 0;
@ -93,12 +106,16 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
// precedence in matching.
// An alternative approach could be to reimplement FcFontSort
// using FC_FULLNAME instead of FC_FAMILY.
if (strchr(family, ' ')) {
char *p, *s = strdup(family);
while (p = strrchr(s, ' ')) {
*p = '\0';
FcPatternAddString(pat, FC_FAMILY, (const FcChar8*)s);
}
family_cnt = 1;
{
char* s = strdup(family);
char* p = s + strlen(s);
while (--p > s)
if (*p == ' ' || *p == '-') {
*p = '\0';
FcPatternAddString(pat, FC_FAMILY, (const FcChar8*)s);
++ family_cnt;
}
free(s);
}
FcPatternAddBool(pat, FC_OUTLINE, FcTrue);
@ -114,16 +131,16 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
fset = FcFontSort(priv->config, pat, FcTrue, NULL, &result);
for (curf = 0; curf < fset->nfont; ++curf) {
rpat = fset->fonts[curf];
result = FcPatternGetBool(rpat, FC_OUTLINE, 0, &r_outline);
FcPattern* curp = fset->fonts[curf];
result = FcPatternGetBool(curp, FC_OUTLINE, 0, &r_outline);
if (result != FcResultMatch)
continue;
if (r_outline != FcTrue)
continue;
if (!code)
break;
result = FcPatternGetCharSet(rpat, FC_CHARSET, 0, &r_charset);
result = FcPatternGetCharSet(curp, FC_CHARSET, 0, &r_charset);
if (result != FcResultMatch)
continue;
if (FcCharSetHasChar(r_charset, code))
@ -133,8 +150,16 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
if (curf >= fset->nfont)
goto error;
rpat = fset->fonts[curf];
// Remove all extra family names from original pattern.
// After this, FcFontRenderPrepare will select the most relevant family
// name in case there are more than one of them.
for (; family_cnt > 1; --family_cnt)
FcPatternRemove(pat, FC_FAMILY, family_cnt - 1);
rpat = FcFontRenderPrepare(priv->config, pat, fset->fonts[curf]);
if (!rpat)
goto error;
result = FcPatternGetInteger(rpat, FC_INDEX, 0, &r_index);
if (result != FcResultMatch)
goto error;
@ -156,7 +181,7 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
if (!(r_family && strcasecmp((const char*)r_family, family) == 0) &&
!(r_fullname && strcasecmp((const char*)r_fullname, family) == 0))
mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne,
(const char*)(r_family ? r_family : r_fullname), family);
(const char*)(r_fullname ? r_fullname : r_family), family);
result = FcPatternGetString(rpat, FC_STYLE, 0, &r_style);
if (result != FcResultMatch)
@ -181,6 +206,7 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
error:
if (pat) FcPatternDestroy(pat);
if (rpat) FcPatternDestroy(rpat);
if (fset) FcFontSetDestroy(fset);
return retval;
}

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_FONTCONFIG_H
#define LIBASS_FONTCONFIG_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <inttypes.h>
#include <stdio.h>

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_LIBRARY_H
#define LIBASS_LIBRARY_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <inttypes.h>
#include <string.h>

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_MP_H
#define LIBASS_MP_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_TYPES_H
#define LIBASS_TYPES_H

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_UTILS_H
#define LIBASS_UTILS_H

View File

@ -1,3 +1,23 @@
/*
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* This file is part of libass.
*
* libass 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.
*
* libass 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 libass; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef LIBASS_MPUTILS_H
#define LIBASS_MPUTILS_H

View File

@ -1,770 +0,0 @@
#include "config.h"
/*
* Hacked version of the linux cdrom.c kernel module - everything except the
* DVD handling ripped out and the rest rewritten to use raw SCSI commands
* on BSD/OS 4.2 (but should work with earlier versions as well).
*/
#include <sys/types.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include </sys/dev/scsi/scsi.h>
#include </sys/dev/scsi/scsi_ioctl.h>
#include "bsdi_dvd.h"
/*
* Now get rid of the override/intercept macro so we can call the real ioctl()
* routine!
*/
#undef ioctl
#define CMD_READ_10 0x28
#define CMD_READ_TOC_PMA_ATIP 0x43
#define CMD_READ_CD 0xbe
#define CMD_START_STOP_UNIT 0x1b
#define CMD_SEND_KEY 0xa3
#define CMD_REPORT_KEY 0xa4
#define CMD_READ_DVD_STRUCTURE 0xad
#define copy_key(dest,src) memcpy((dest), (src), sizeof(dvd_key))
#define copy_chal(dest,src) memcpy((dest), (src), sizeof(dvd_challenge))
/* Define the Cdrom Generic Command structure */
typedef struct cgc
{
u_char cdb[12];
u_char *buf;
int buflen;
int rw;
int timeout;
scsi_user_sense_t *sus;
} cgc_t;
static int scsi_cmd(int, cgc_t *);
static int cdrom_ioctl(int, u_long, void *);
static int cdrom_tray_move(int, int);
static void cdrom_count_tracks(int, tracktype *);
static int dvd_ioctl(int, u_long, void *);
static int debug = 0;
void dvd_cdrom_debug(int flag)
{
debug = flag;
}
/*
* This is the published entry point. Actually applications should simply
* include <dvd.h> and not refer to this at all.
*/
int dvd_cdrom_ioctl(int fd, unsigned long cmd, void *arg)
{
switch (cmd)
{
case DVD_AUTH:
case DVD_READ_STRUCT:
return(dvd_ioctl(fd, cmd, arg));
case CDROMREADTOCHDR:
case CDROMREADTOCENTRY:
case CDROMEJECT:
case CDROMREADRAW:
case CDROMREADMODE1:
case CDROMREADMODE2:
case CDROMCLOSETRAY:
case CDROM_DRIVE_STATUS:
case CDROM_DISC_STATUS:
return(cdrom_ioctl(fd, cmd, arg));
default:
return(ioctl(fd, cmd, arg));
}
}
static void setup_report_key(cgc_t *cgc, u_int agid, u_int type)
{
cgc->cdb[0] = CMD_REPORT_KEY;
cgc->cdb[10] = type | (agid << 6);
switch (type)
{
case 0:
case 5:
case 8:
cgc->buflen = 8;
break;
case 1:
cgc->buflen = 16;
break;
case 2:
case 4:
cgc->buflen = 12;
break;
}
cgc->cdb[9] = cgc->buflen;
cgc->rw = SUC_READ;;
}
static void setup_send_key(cgc_t *cgc, u_int agid, u_int type)
{
cgc->cdb[0] = CMD_SEND_KEY;
cgc->cdb[10] = type | (agid << 6);
switch (type)
{
case 1:
cgc->buflen = 16;
break;
case 3:
cgc->buflen = 12;
break;
case 6:
cgc->buflen = 8;
break;
}
cgc->cdb[9] = cgc->buflen;
cgc->rw = SUC_WRITE;
}
static void cgc_init(cgc_t *cgc, void *buf, int len, int type)
{
memset(cgc, 0, sizeof (*cgc));
if (buf)
memset(buf, 0, len);
cgc->buf = (u_char *)buf;
cgc->buflen = len;
cgc->rw = type;
cgc->timeout = 5; /* 5 second timeout */
}
static int dvd_do_auth(int fd, dvd_authinfo *ai)
{
int ret;
u_char buf[20];
cgc_t cgc;
rpc_state_t rpc_state;
memset(buf, 0, sizeof(buf));
cgc_init(&cgc, buf, 0, SUC_READ);
switch (ai->type)
{
case DVD_LU_SEND_AGID: /* LU data send */
setup_report_key(&cgc, ai->lsa.agid, 0);
if (ret = scsi_cmd(fd, &cgc))
return ret;
ai->lsa.agid = buf[7] >> 6;
break;
case DVD_LU_SEND_KEY1:
setup_report_key(&cgc, ai->lsk.agid, 2);
if (ret = scsi_cmd(fd, &cgc))
return ret;
copy_key(ai->lsk.key, &buf[4]);
break;
case DVD_LU_SEND_CHALLENGE:
setup_report_key(&cgc, ai->lsc.agid, 1);
if (ret = scsi_cmd(fd, &cgc))
return ret;
copy_chal(ai->lsc.chal, &buf[4]);
break;
case DVD_LU_SEND_TITLE_KEY: /* Post-auth key */
setup_report_key(&cgc, ai->lstk.agid, 4);
cgc.cdb[5] = ai->lstk.lba;
cgc.cdb[4] = ai->lstk.lba >> 8;
cgc.cdb[3] = ai->lstk.lba >> 16;
cgc.cdb[2] = ai->lstk.lba >> 24;
if (ret = scsi_cmd(fd, &cgc))
return ret;
ai->lstk.cpm = (buf[4] >> 7) & 1;
ai->lstk.cp_sec = (buf[4] >> 6) & 1;
ai->lstk.cgms = (buf[4] >> 4) & 3;
copy_key(ai->lstk.title_key, &buf[5]);
break;
case DVD_LU_SEND_ASF:
setup_report_key(&cgc, ai->lsasf.agid, 5);
if (ret = scsi_cmd(fd, &cgc))
return ret;
ai->lsasf.asf = buf[7] & 1;
break;
case DVD_HOST_SEND_CHALLENGE: /* LU data receive (LU changes state) */
setup_send_key(&cgc, ai->hsc.agid, 1);
buf[1] = 0xe;
copy_chal(&buf[4], ai->hsc.chal);
if (ret = scsi_cmd(fd, &cgc))
return ret;
ai->type = DVD_LU_SEND_KEY1;
break;
case DVD_HOST_SEND_KEY2:
setup_send_key(&cgc, ai->hsk.agid, 3);
buf[1] = 0xa;
copy_key(&buf[4], ai->hsk.key);
if (ret = scsi_cmd(fd, &cgc))
{
ai->type = DVD_AUTH_FAILURE;
return ret;
}
ai->type = DVD_AUTH_ESTABLISHED;
break;
case DVD_INVALIDATE_AGID:
setup_report_key(&cgc, ai->lsa.agid, 0x3f);
if (ret = scsi_cmd(fd, &cgc))
return ret;
break;
case DVD_LU_SEND_RPC_STATE: /* Get region settings */
setup_report_key(&cgc, 0, 8);
memset(&rpc_state, 0, sizeof(rpc_state_t));
cgc.buf = (char *) &rpc_state;
if (ret = scsi_cmd(fd, &cgc))
{
ai->lrpcs.type = 0;
ai->lrpcs.rpc_scheme = 0;
}
else
{
ai->lrpcs.type = rpc_state.type_code;
ai->lrpcs.vra = rpc_state.vra;
ai->lrpcs.ucca = rpc_state.ucca;
ai->lrpcs.region_mask = rpc_state.region_mask;
ai->lrpcs.rpc_scheme = rpc_state.rpc_scheme;
}
break;
case DVD_HOST_SEND_RPC_STATE: /* Set region settings */
setup_send_key(&cgc, 0, 6);
buf[1] = 6;
buf[4] = ai->hrpcs.pdrc;
if (ret = scsi_cmd(fd, &cgc))
return ret;
break;
default:
return EINVAL;
}
return 0;
}
static int dvd_read_physical(int fd, dvd_struct *s)
{
int ret, i;
u_char buf[4 + 4 * 20], *base;
struct dvd_layer *layer;
cgc_t cgc;
cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
cgc.cdb[6] = s->physical.layer_num;
cgc.cdb[7] = s->type;
cgc.cdb[9] = cgc.buflen & 0xff;
if (ret = scsi_cmd(fd, &cgc))
return ret;
base = &buf[4];
layer = &s->physical.layer[0];
/* place the data... really ugly, but at least we won't have to
worry about endianess in userspace or here. */
for (i = 0; i < 4; ++i, base += 20, ++layer)
{
memset(layer, 0, sizeof(*layer));
layer->book_version = base[0] & 0xf;
layer->book_type = base[0] >> 4;
layer->min_rate = base[1] & 0xf;
layer->disc_size = base[1] >> 4;
layer->layer_type = base[2] & 0xf;
layer->track_path = (base[2] >> 4) & 1;
layer->nlayers = (base[2] >> 5) & 3;
layer->track_density = base[3] & 0xf;
layer->linear_density = base[3] >> 4;
layer->start_sector = base[5] << 16 | base[6] << 8 | base[7];
layer->end_sector = base[9] << 16 | base[10] << 8 | base[11];
layer->end_sector_l0 = base[13] << 16 | base[14] << 8 | base[15];
layer->bca = base[16] >> 7;
}
return 0;
}
static int dvd_read_copyright(int fd, dvd_struct *s)
{
int ret;
u_char buf[8];
cgc_t cgc;
cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
cgc.cdb[6] = s->copyright.layer_num;
cgc.cdb[7] = s->type;
cgc.cdb[8] = cgc.buflen >> 8;
cgc.cdb[9] = cgc.buflen & 0xff;
if (ret = scsi_cmd(fd, &cgc))
return ret;
s->copyright.cpst = buf[4];
s->copyright.rmi = buf[5];
return 0;
}
static int dvd_read_disckey(int fd, dvd_struct *s)
{
int ret, size;
u_char *buf;
cgc_t cgc;
size = sizeof(s->disckey.value) + 4;
if ((buf = (u_char *) malloc(size)) == NULL)
return ENOMEM;
cgc_init(&cgc, buf, size, SUC_READ);
cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
cgc.cdb[7] = s->type;
cgc.cdb[8] = size >> 8;
cgc.cdb[9] = size & 0xff;
cgc.cdb[10] = s->disckey.agid << 6;
if (!(ret = scsi_cmd(fd, &cgc)))
memcpy(s->disckey.value, &buf[4], sizeof(s->disckey.value));
free(buf);
return ret;
}
static int dvd_read_bca(int fd, dvd_struct *s)
{
int ret;
u_char buf[4 + 188];
cgc_t cgc;
cgc_init(&cgc, buf, sizeof(buf), SUC_READ);
cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
cgc.cdb[7] = s->type;
cgc.cdb[9] = cgc.buflen = 0xff;
if (ret = scsi_cmd(fd, &cgc))
return ret;
s->bca.len = buf[0] << 8 | buf[1];
if (s->bca.len < 12 || s->bca.len > 188)
return EIO;
memcpy(s->bca.value, &buf[4], s->bca.len);
return 0;
}
static int dvd_read_manufact(int fd, dvd_struct *s)
{
int ret = 0, size;
u_char *buf;
cgc_t cgc;
size = sizeof(s->manufact.value) + 4;
if ((buf = (u_char *) malloc(size)) == NULL)
return ENOMEM;
cgc_init(&cgc, buf, size, SUC_READ);
cgc.cdb[0] = CMD_READ_DVD_STRUCTURE;
cgc.cdb[7] = s->type;
cgc.cdb[8] = size >> 8;
cgc.cdb[9] = size & 0xff;
if (ret = scsi_cmd(fd, &cgc))
{
free(buf);
return ret;
}
s->manufact.len = buf[0] << 8 | buf[1];
if (s->manufact.len < 0 || s->manufact.len > 2048)
ret = -EIO;
else
memcpy(s->manufact.value, &buf[4], s->manufact.len);
free(buf);
return ret;
}
static int dvd_read_struct(int fd, dvd_struct *s)
{
switch (s->type)
{
case DVD_STRUCT_PHYSICAL:
return dvd_read_physical(fd, s);
case DVD_STRUCT_COPYRIGHT:
return dvd_read_copyright(fd, s);
case DVD_STRUCT_DISCKEY:
return dvd_read_disckey(fd, s);
case DVD_STRUCT_BCA:
return dvd_read_bca(fd, s);
case DVD_STRUCT_MANUFACT:
return dvd_read_manufact(fd, s);
default:
return EINVAL;
}
}
static u_char scsi_cdblen[8] = {6, 10, 10, 12, 12, 12, 10, 10};
static int scsi_cmd(int fd, cgc_t *cgc)
{
int i, scsistatus, cdblen;
unsigned char *cp;
struct scsi_user_cdb suc;
/* safety checks */
if (cgc->rw != SUC_READ && cgc->rw != SUC_WRITE)
return(EINVAL);
suc.suc_flags = cgc->rw;
cdblen = scsi_cdblen[(cgc->cdb[0] >> 5) & 7];
suc.suc_cdblen = cdblen;
bcopy(cgc->cdb, suc.suc_cdb, cdblen);
suc.suc_data = cgc->buf;
suc.suc_datalen = cgc->buflen;
suc.suc_timeout = cgc->timeout;
if (ioctl(fd, SCSIRAWCDB, &suc) == -1)
return(errno);
scsistatus = suc.suc_sus.sus_status;
/*
* If the device returns a scsi sense error and debugging is enabled print
* some hopefully useful information on stderr.
*/
if (scsistatus && debug)
{
cp = suc.suc_sus.sus_sense;
fprintf(stderr,"scsistatus = %x cdb =",
scsistatus);
for (i = 0; i < cdblen; i++)
fprintf(stderr, " %x", cgc->cdb[i]);
fprintf(stderr, "\nsense =");
for (i = 0; i < 16; i++)
fprintf(stderr, " %x", cp[i]);
fprintf(stderr, "\n");
}
if (cgc->sus)
bcopy(&suc.suc_sus, cgc->sus, sizeof (struct scsi_user_sense));
if (scsistatus)
return(EIO); /* generic i/o error for unsuccessful status */
return(0);
}
/*
* The entry point for the DVDioctls for BSD/OS.
*/
static int dvd_ioctl(int fd, u_long cmd, void *arg)
{
int ret;
switch (cmd)
{
case DVD_READ_STRUCT:
ret = dvd_read_struct(fd, (dvd_struct *)arg);
if (ret)
errno = ret;
return(ret ? -1 : 0);
case DVD_AUTH:
ret = dvd_do_auth(fd, (dvd_authinfo *)arg);
if (ret)
errno = ret;
return(ret ? -1 : 0);
default:
errno = EINVAL;
return(-1);
}
}
/*
* The entry point for the CDROMioctls for BSD/OS
*/
static int cdrom_read_block(int, cgc_t *, int, int, int, int);
static int cdrom_read_cd(int, cgc_t *, int, int, int );
int cdrom_blocksize(int, int );
static inline
int msf_to_lba(char m, char s, char f)
{
return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
}
cdrom_ioctl(int fd, u_long cmd, void *arg)
{
int ret;
cgc_t cgc;
switch (cmd)
{
case CDROMREADRAW:
case CDROMREADMODE1:
case CDROMREADMODE2:
{
struct cdrom_msf *msf;
int blocksize = 0, format = 0, lba;
switch (cmd)
{
case CDROMREADRAW:
blocksize = CD_FRAMESIZE_RAW;
break;
case CDROMREADMODE1:
blocksize = CD_FRAMESIZE;
format = 2;
break;
case CDROMREADMODE2:
blocksize = CD_FRAMESIZE_RAW0;
break;
}
msf = (struct cdrom_msf *)arg;
lba = msf_to_lba(msf->cdmsf_min0,msf->cdmsf_sec0,
msf->cdmsf_frame0);
ret = EINVAL;
if (lba < 0)
break;
cgc_init(&cgc, arg, blocksize, SUC_READ);
ret = cdrom_read_block(fd, &cgc, lba, 1, format, blocksize);
if (ret)
{
/*
* SCSI-II devices are not required to support CMD_READ_CD (which specifies
* the blocksize to read) so try switching the block size with a mode select,
* doing the normal read sector command and then changing the sector size back
* to 2048.
*
* If the program dies before changing the blocksize back sdopen()
* in the kernel will fail opens with a message that looks something like:
*
* "sr1: blksize 2336 not multiple of 512: cannot use"
*
* At that point the drive has to be power cycled (or reset in some other way).
*/
if (ret = cdrom_blocksize(fd, blocksize))
break;
ret = cdrom_read_cd(fd, &cgc, lba, blocksize, 1);
ret |= cdrom_blocksize(fd, 2048);
}
break;
}
case CDROMREADTOCHDR:
{
struct cdrom_tochdr *tochdr = (struct cdrom_tochdr *) arg;
u_char buffer[12];
cgc_init(&cgc, buffer, sizeof (buffer), SUC_READ);
cgc.cdb[0] = CMD_READ_TOC_PMA_ATIP;
cgc.cdb[1] = 0x2; /* MSF */
cgc.cdb[8] = 12; /* LSB of length */
ret = scsi_cmd(fd, &cgc);
if (!ret)
{
tochdr->cdth_trk0 = buffer[2];
tochdr->cdth_trk1 = buffer[3];
}
break;
}
case CDROMREADTOCENTRY:
{
struct cdrom_tocentry *tocentry = (struct cdrom_tocentry *) arg;
u_char buffer[12];
cgc_init(&cgc, buffer, sizeof (buffer), SUC_READ);
cgc.cdb[0] = CMD_READ_TOC_PMA_ATIP;
cgc.cdb[1] = (tocentry->cdte_format == CDROM_MSF) ? 0x02 : 0;
cgc.cdb[6] = tocentry->cdte_track;
cgc.cdb[8] = 12; /* LSB of length */
ret = scsi_cmd(fd, &cgc);
if (ret)
break;
tocentry->cdte_ctrl = buffer[5] & 0xf;
tocentry->cdte_adr = buffer[5] >> 4;
tocentry->cdte_datamode = (tocentry->cdte_ctrl & 0x04) ? 1 : 0;
if (tocentry->cdte_format == CDROM_MSF)
{
tocentry->cdte_addr.msf.minute = buffer[9];
tocentry->cdte_addr.msf.second = buffer[10];
tocentry->cdte_addr.msf.frame = buffer[11];
}
else
tocentry->cdte_addr.lba = (((((buffer[8] << 8)
+ buffer[9]) << 8)
+ buffer[10]) << 8)
+ buffer[11];
break;
}
case CDROMEJECT: /* NO-OP for now */
ret = cdrom_tray_move(fd, 1);
break;
case CDROMCLOSETRAY:
ret = cdrom_tray_move(fd, 0);
break;
/*
* This sucks but emulates the expected behaviour. Instead of the return
* value being the actual status a success/fail indicator should have been
* returned and the 3rd arg to the ioctl should have been an 'int *' to update
* with the actual status. Both the drive and disc status ioctl calls are
* similarily braindamaged.
*/
case CDROM_DRIVE_STATUS:
return(CDS_NO_INFO); /* XXX */
case CDROM_DISC_STATUS:
{
tracktype tracks;
int cnt;
cdrom_count_tracks(fd, &tracks);
if (tracks.error)
return(tracks.error);
if (tracks.audio > 0)
{
cnt = tracks.data + tracks.cdi + tracks.xa;
if (cnt == 0)
return(CDS_AUDIO);
else
return(CDS_MIXED);
}
if (tracks.cdi)
return(CDS_XA_2_2);
if (tracks.xa)
return(CDS_XA_2_1);
if (tracks.data)
return(CDS_DATA_1);
return(CDS_NO_INFO);
}
}
errno = ret;
return(ret ? -1 : 0);
}
static int cdrom_read_cd(int fd, cgc_t *cgc, int lba, int blocksize, int nblocks)
{
memset(&cgc->cdb, 0, sizeof(cgc->cdb));
cgc->cdb[0] = CMD_READ_10;
cgc->cdb[2] = (lba >> 24) & 0xff;
cgc->cdb[3] = (lba >> 16) & 0xff;
cgc->cdb[4] = (lba >> 8) & 0xff;
cgc->cdb[5] = lba & 0xff;
cgc->cdb[6] = (nblocks >> 16) & 0xff;
cgc->cdb[7] = (nblocks >> 8) & 0xff;
cgc->cdb[8] = nblocks & 0xff;
cgc->buflen = blocksize * nblocks;
return(scsi_cmd(fd, cgc));
}
static int cdrom_read_block(int fd, cgc_t *cgc,
int lba, int nblocks, int format, int blksize)
{
memset(&cgc->cdb, 0, sizeof(cgc->cdb));
cgc->cdb[0] = CMD_READ_CD;
/* expected sector size - cdda,mode1,etc. */
cgc->cdb[1] = format << 2;
/* starting address */
cgc->cdb[2] = (lba >> 24) & 0xff;
cgc->cdb[3] = (lba >> 16) & 0xff;
cgc->cdb[4] = (lba >> 8) & 0xff;
cgc->cdb[5] = lba & 0xff;
/* number of blocks */
cgc->cdb[6] = (nblocks >> 16) & 0xff;
cgc->cdb[7] = (nblocks >> 8) & 0xff;
cgc->cdb[8] = nblocks & 0xff;
cgc->buflen = blksize * nblocks;
/* set the header info returned */
switch (blksize)
{
case CD_FRAMESIZE_RAW0:
cgc->cdb[9] = 0x58;
break;
case CD_FRAMESIZE_RAW1:
cgc->cdb[9] = 0x78;
break;
case CD_FRAMESIZE_RAW:
cgc->cdb[9] = 0xf8;
break;
default:
cgc->cdb[9] = 0x10;
}
return(scsi_cmd(fd, cgc));
}
static void cdrom_count_tracks(int fd, tracktype *tracks)
{
struct cdrom_tochdr header;
struct cdrom_tocentry entry;
int ret, i;
memset(tracks, 0, sizeof (*tracks));
ret = cdrom_ioctl(fd, CDROMREADTOCHDR, &header);
/*
* This whole business is a crock anyhow so we don't bother distinguishing
* between no media, drive not ready, etc and on any error just say we have
* no info.
*/
if (ret)
{
tracks->error = CDS_NO_INFO;
return;
}
entry.cdte_format = CDROM_MSF;
for (i = header.cdth_trk0; i <= header.cdth_trk1; i++)
{
entry.cdte_track = i;
if (cdrom_ioctl(fd, CDROMREADTOCENTRY, &entry))
{
tracks->error = CDS_NO_INFO;
return;
}
if (entry.cdte_ctrl & CDROM_DATA_TRACK)
{
if (entry.cdte_format == 0x10)
tracks->cdi++;
else if (entry.cdte_format == 0x20)
tracks->xa++;
else
tracks->data++;
}
else
tracks->audio++;
}
return;
}
static int cdrom_tray_move(int fd, int flag)
{
cgc_t cgc;
cgc_init(&cgc, NULL, 0, SUC_READ);
cgc.cdb[0] = CMD_START_STOP_UNIT;
cgc.cdb[1] = 1; /* immediate */
cgc.cdb[4] = flag ? 0x2 : 0x3; /* eject : close */
return(scsi_cmd(fd, &cgc));
}
/*
* Required when we need to use READ_10 to issue other than 2048 block
* reads
*/
int cdrom_blocksize(int fd, int size)
{
cgc_t cgc;
struct modesel_head mh;
memset(&mh, 0, sizeof(mh));
mh.block_desc_length = 0x08;
mh.block_length_med = (size >> 8) & 0xff;
mh.block_length_lo = size & 0xff;
memset(&cgc, 0, sizeof(cgc));
cgc.cdb[0] = 0x15;
cgc.cdb[1] = 1 << 4;
cgc.cdb[4] = 12;
cgc.buflen = sizeof(mh);
cgc.buf = (u_char *) &mh;
cgc.rw = SUC_WRITE;
mh.block_desc_length = 0x08;
mh.block_length_med = (size >> 8) & 0xff;
mh.block_length_lo = size & 0xff;
return(scsi_cmd(fd, &cgc));
}

View File

@ -16,9 +16,9 @@
* 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
* 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.
*/
#include <stdlib.h>

View File

@ -61,25 +61,31 @@ static int ac3dts_fillbuff(sh_audio_t *sh_audio)
sh_audio->a_in_buffer[sh_audio->a_in_buffer_len++] = c;
}
length = dts_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
if(length >= 12)
if (sh_audio->format == 0x2001)
{
if(isdts != 1)
length = dts_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
if(length >= 12)
{
mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to DTS, %d bps, %d Hz\n", bit_rate, sample_rate);
isdts = 1;
if(isdts != 1)
{
mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to DTS, %d bps, %d Hz\n", bit_rate, sample_rate);
isdts = 1;
}
break;
}
break;
}
length = a52_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
if(length >= 7 && length <= 3840)
else
{
if(isdts != 0)
length = a52_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
if(length >= 7 && length <= 3840)
{
mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to AC3, %d bps, %d Hz\n", bit_rate, sample_rate);
isdts = 0;
if(isdts != 0)
{
mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to AC3, %d bps, %d Hz\n", bit_rate, sample_rate);
isdts = 0;
}
break; /* we're done.*/
}
break; /* we're done.*/
}
/* bad file => resync*/
memcpy(sh_audio->a_in_buffer, sh_audio->a_in_buffer + 1, 11);

View File

@ -1,6 +1,7 @@
/*
* ad_libdca.c : DTS Coherent Acoustics stream decoder using libdca
* DTS Coherent Acoustics stream decoder using libdca
* This file is partially based on dtsdec.c r9036 from FFmpeg and ad_liba52.c
*
* Copyright (C) 2007 Roberto Togni
*
* This file is part of MPlayer.
@ -15,10 +16,9 @@
* 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
*
* 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.
*/
#include <stdio.h>

View File

@ -4,7 +4,7 @@
const char *vo_format_name(int format)
{
static char unknow_format[20];
static char unknown_format[20];
switch(format)
{
case IMGFMT_RGB1: return("RGB 1-bit");
@ -68,6 +68,6 @@ const char *vo_format_name(int format)
case IMGFMT_XVMC_MOCO_MPEG2: return("MPEG1/2 Motion Compensation");
case IMGFMT_XVMC_IDCT_MPEG2: return("MPEG1/2 Motion Compensation and IDCT");
}
snprintf(unknow_format,20,"Unknown 0x%04x",format);
return unknow_format;
snprintf(unknown_format,20,"Unknown 0x%04x",format);
return unknown_format;
}

View File

@ -7,6 +7,7 @@
#include "mp_msg.h"
#include "help_mp.h"
#include "options.h"
#include "av_opts.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
@ -90,26 +91,20 @@ const m_option_t lavc_decode_opts_conf[]={
OPT_STRING("skipframe", lavc_param.skip_frame_str, 0),
OPT_INTRANGE("threads", lavc_param.threads, 0, 1, 8),
OPT_FLAG_CONSTANTS("bitexact", lavc_param.bitexact, 0, 0, CODEC_FLAG_BITEXACT),
OPT_STRING("o", lavc_param.avopt, 0),
{NULL, NULL, 0, 0, 0, 0, NULL}
};
static enum AVDiscard str2AVDiscard(char *str) {
if (!str)
if (!str) return AVDISCARD_DEFAULT;
if (strcasecmp(str, "none" ) == 0) return AVDISCARD_NONE;
if (strcasecmp(str, "default") == 0) return AVDISCARD_DEFAULT;
if (strcasecmp(str, "nonref" ) == 0) return AVDISCARD_NONREF;
if (strcasecmp(str, "bidir" ) == 0) return AVDISCARD_BIDIR;
if (strcasecmp(str, "nonkey" ) == 0) return AVDISCARD_NONKEY;
if (strcasecmp(str, "all" ) == 0) return AVDISCARD_ALL;
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unknown discard value %s\n", str);
return AVDISCARD_DEFAULT;
if (strcasecmp(str, "none") == 0)
return AVDISCARD_NONE;
if (strcasecmp(str, "default") == 0)
return AVDISCARD_DEFAULT;
if (strcasecmp(str, "nonref") == 0)
return AVDISCARD_NONREF;
if (strcasecmp(str, "bidir") == 0)
return AVDISCARD_BIDIR;
if (strcasecmp(str, "nonkey") == 0)
return AVDISCARD_NONKEY;
if (strcasecmp(str, "all") == 0)
return AVDISCARD_ALL;
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Unknown discard value %s\n", str);
return AVDISCARD_DEFAULT;
}
// to set/get/query special features/parameters
@ -296,6 +291,15 @@ static int init(sh_video_t *sh){
avctx->skip_loop_filter = str2AVDiscard(lavc_param->skip_loop_filter_str);
avctx->skip_idct = str2AVDiscard(lavc_param->skip_idct_str);
avctx->skip_frame = str2AVDiscard(lavc_param->skip_frame_str);
if(lavc_param->avopt){
if(parse_avopts(avctx, lavc_param->avopt) < 0){
mp_msg(MSGT_DECVIDEO,MSGL_ERR, "Your options /%s/ look like gibberish to me pal\n", lavc_param->avopt);
uninit(sh);
return 0;
}
}
mp_dbg(MSGT_DECVIDEO,MSGL_DBG2,"libavcodec.size: %d x %d\n",avctx->width,avctx->height);
switch (sh->format) {
case mmioFOURCC('S','V','Q','3'):

View File

@ -1,25 +1,25 @@
/*****************************************************************************
/*
* - XviD 1.x decoder module for mplayer/mencoder -
*
* - XviD 1.x decoder module for mplayer/mencoder -
* Copyright(C) 2003 Marco Belli <elcabesa@inwind.it>
* 2003-2004 Edouard Gomez <ed.gomez@free.fr>
*
* Copyright(C) 2003 Marco Belli <elcabesa@inwind.it>
* 2003-2004 Edouard Gomez <ed.gomez@free.fr>
* This file is part of MPlayer.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*****************************************************************************
* Includes

View File

@ -14,6 +14,7 @@
#include "mp_msg.h"
#include "help_mp.h"
#include "av_opts.h"
#include "codec-cfg.h"
#include "stream/stream.h"
@ -157,6 +158,7 @@ char *lavc_param_acodec = "mp2";
int lavc_param_atag = 0;
int lavc_param_abitrate = 224;
int lavc_param_audio_global_header= 0;
static char *lavc_param_avopt = NULL;
#include "m_option.h"
@ -302,6 +304,7 @@ m_option_t lavcopts_conf[]={
{"refs", &lavc_param_refs, CONF_TYPE_INT, CONF_RANGE, 1, 16, NULL},
{"b_sensitivity", &lavc_param_b_sensitivity, CONF_TYPE_INT, CONF_RANGE, 1, INT_MAX, NULL},
{"level", &lavc_param_level, CONF_TYPE_INT, CONF_RANGE, INT_MIN, INT_MAX, NULL},
{"o", &lavc_param_avopt, CONF_TYPE_STRING, 0, 0, 0, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
#endif
@ -578,6 +581,13 @@ static int config(struct vf_instance* vf,
lavc_venc_context->b_sensitivity = lavc_param_b_sensitivity;
lavc_venc_context->level = lavc_param_level;
if(lavc_param_avopt){
if(parse_avopts(lavc_venc_context, lavc_param_avopt) < 0){
mp_msg(MSGT_MENCODER,MSGL_ERR, "Your options /%s/ look like gibberish to me pal\n", lavc_param_avopt);
return 0;
}
}
mux_v->imgfmt = lavc_param_format;
switch(lavc_param_format)
{

View File

@ -1,25 +1,25 @@
/*****************************************************************************
/*
* - XviD 1.x decoder module for mplayer/mencoder -
*
* - XviD 1.x export module for mplayer/mencoder -
* Copyright(C) 2003 Marco Belli <elcabesa@inwind.it>
* 2003-2004 Edouard Gomez <ed.gomez@free.fr>
*
* Copyright(C) 2003 Marco Belli <elcabesa@inwind.it>
* 2003-2004 Edouard Gomez <ed.gomez@free.fr>
* This file is part of MPlayer.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*****************************************************************************
* Includes

View File

@ -1,22 +1,24 @@
// -*- c-basic-offset: 8; indent-tabs-mode: t -*-
// vim:ts=8:sw=8:noet:ai:
/*
Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
*
* 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.
*/
#include "config.h"

View File

@ -1,7 +1,5 @@
/* vf_blackframe.c - detect frames that are (almost) black
*
* $Id$
*
/*
* detect frames that are (almost) black
* search for black frames to detect scene transitions
* (c) 2006 Julian Hall
*
@ -10,19 +8,21 @@
*
* cleanup, simplify, speedup (c) 2006 by Ivo van Poorten
*
* This program is free software; you can redistribute it and/or modify
* 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.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* 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.
*/
#include <stdio.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Jindrich Makovicka <makovick@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Jindrich Makovicka <makovick@gmail.com>
*
* 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.
*/
/* A very simple tv station logo remover */

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,21 +1,23 @@
/*
Copyright (C) 2003 Michael Niedermayer <michaelni@gmx.at>
Copyright (C) 2005 Nikolaj Poroshin <porosh3@psu.ru>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2003 Michael Niedermayer <michaelni@gmx.at>
* Copyright (C) 2005 Nikolaj Poroshin <porosh3@psu.ru>
*
* 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.
*/
/*
* This implementation is based on an algorithm described in

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,23 @@
/*
Original AVISynth Filter Copyright (C) 2003 Donald A. Graft
Adapted to MPlayer by Tobias Diedrich
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Original AVISynth Filter Copyright (C) 2003 Donald A. Graft
* Adapted to MPlayer by Tobias Diedrich
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
/*

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
/**
* @todo try to change to int

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2005 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2005 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -114,6 +114,7 @@ static int config(struct vf_instance* vf,
int vo_flags;
int int_sws_flags=0;
int round_w=0, round_h=0;
int i;
SwsFilter *srcFilter, *dstFilter;
enum PixelFormat dfmt, sfmt;
@ -250,7 +251,6 @@ static int config(struct vf_instance* vf,
switch(best){
case IMGFMT_RGB8: {
/* set 332 palette for 8 bpp */
int i;
vf->priv->palette=malloc(4*256);
for(i=0; i<256; i++){
vf->priv->palette[4*i+0]=4*(i>>6)*21;
@ -261,7 +261,6 @@ static int config(struct vf_instance* vf,
break; }
case IMGFMT_BGR8: {
/* set 332 palette for 8 bpp */
int i;
vf->priv->palette=malloc(4*256);
for(i=0; i<256; i++){
vf->priv->palette[4*i+0]=4*(i&3)*21;
@ -272,7 +271,6 @@ static int config(struct vf_instance* vf,
break; }
case IMGFMT_BGR4:
case IMGFMT_BG4B: {
int i;
vf->priv->palette=malloc(4*16);
for(i=0; i<16; i++){
vf->priv->palette[4*i+0]=4*(i&1)*63;
@ -283,7 +281,6 @@ static int config(struct vf_instance* vf,
break; }
case IMGFMT_RGB4:
case IMGFMT_RG4B: {
int i;
vf->priv->palette=malloc(4*16);
for(i=0; i<16; i++){
vf->priv->palette[4*i+0]=4*(i>>3)*63;

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2003 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2003 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
/*
* This implementation is based on an algorithm described in

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2003 Michael Zucchi <notzed@ximian.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2003 Michael Zucchi <notzed@ximian.com>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,21 +1,22 @@
/*
Copyright (C) 2002 Remi Guyomarch <rguyom@pobox.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2002 Remi Guyomarch <rguyom@pobox.com>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2005 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2005 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,20 +1,22 @@
/*
Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Copyright (C) 2004 Michael Niedermayer <michaelni@gmx.at>
*
* 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.
*/
// #include <stdio.h>
#include <stdlib.h>
@ -25,6 +27,7 @@
#include "options.h"
#include "mp_msg.h"
#include "help_mp.h"
#include "av_opts.h"
#include "stream/stream.h"
#include "demuxer.h"
@ -47,12 +50,14 @@ static unsigned int opt_analyzeduration = 0;
static char *opt_format;
static char *opt_cryptokey;
extern int ts_prog;
static char *opt_avopt = NULL;
const m_option_t lavfdopts_conf[] = {
{"probesize", &(opt_probesize), CONF_TYPE_INT, CONF_RANGE, 32, INT_MAX, NULL},
{"format", &(opt_format), CONF_TYPE_STRING, 0, 0, 0, NULL},
{"analyzeduration", &(opt_analyzeduration), CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL},
{"cryptokey", &(opt_cryptokey), CONF_TYPE_STRING, 0, 0, 0, NULL},
{"o", &opt_avopt, CONF_TYPE_STRING, 0, 0, 0, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
@ -434,6 +439,13 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){
if(!opt) mp_msg(MSGT_HEADER,MSGL_ERR, "demux_lavf, couldn't set option analyzeduration to %u\n", opt_analyzeduration);
}
if(opt_avopt){
if(parse_avopts(avfc, opt_avopt) < 0){
mp_msg(MSGT_HEADER,MSGL_ERR, "Your options /%s/ look like gibberish to me pal\n", opt_avopt);
return NULL;
}
}
if(demuxer->stream->url)
strncpy(mp_filename + 3, demuxer->stream->url, sizeof(mp_filename)-3);
else

View File

@ -67,6 +67,7 @@ static const struct {
{ "jpg", mmioFOURCC('I', 'J', 'P', 'G') },
{ "pcx", mmioFOURCC('p', 'c', 'x', ' ') },
{ "png", mmioFOURCC('M', 'P', 'N', 'G') },
{ "ptx", mmioFOURCC('p', 't', 'x', ' ') },
{ "tga", mmioFOURCC('M', 'T', 'G', 'A') },
{ "tif", mmioFOURCC('t', 'i', 'f', 'f') },
{ "sgi", mmioFOURCC('S', 'G', 'I', '1') },

View File

@ -1,19 +1,21 @@
/*
* Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com>
* Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com>
*
* 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.
* This file is part of MPlayer.
*
* 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.
* 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.
*
* 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
* 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.
*/
#include <stdlib.h>
#include <stdio.h>

View File

@ -11,21 +11,21 @@
* However, no code in the following subsection is directly copied from
* either author.
*
* This file is part of MPlayer.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* 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.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

View File

@ -1,20 +1,21 @@
/*
* Copyright (C) 2002-2004 Balatoni Denes and A'rpi
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This file is part of MPlayer.
*
* This program is distributed in the hope that it will be useful,
* 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 this program; 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
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
// This is not reentrant because of global static variables, but most of

View File

@ -67,6 +67,7 @@ static const AVCodecTag mp_bmp_tags[] = {
{ CODEC_ID_FLIC, MKTAG('F', 'L', 'I', 'C')},
{ CODEC_ID_IDCIN, MKTAG('I', 'D', 'C', 'I')},
{ CODEC_ID_INTERPLAY_VIDEO, MKTAG('I', 'N', 'P', 'V')},
{ CODEC_ID_RL2, MKTAG('R', 'L', '2', 'V')},
{ CODEC_ID_ROQ, MKTAG('R', 'o', 'Q', 'V')},
{ CODEC_ID_THP, MKTAG('T', 'H', 'P', 'V')},
{ CODEC_ID_TIERTEXSEQVIDEO, MKTAG('T', 'S', 'E', 'Q')},

View File

@ -1,25 +1,28 @@
/*
* Copyright (C) 2006 Benjamin Zores
* Set of helper routines for building MPEG 1/2 PS/PES packets.
* set of helper routines for building MPEG 1/2 PS/PES packets
*
* Based on various code bororwed from vo_mpegpes/vo_dxr2 :
* (C) 2000 Ralph Metzler <ralph@convergence.de>
* Marcus Metzler <marcus@convergence.de>
* Gerard Lantau
* Copyright (C) 2006 Benjamin Zores
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Based on code borrowed from vo_mpegpes/vo_dxr2:
* (C) 2000 Ralph Metzler <ralph@convergence.de>
* Marcus Metzler <marcus@convergence.de>
* Gerard Lantau
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This file is part of MPlayer.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* 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.
*/
#include <unistd.h>

Some files were not shown because too many files have changed in this diff Show More