1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-24 20:31:37 +00:00

Merge svn changes up to r28204

This commit is contained in:
Uoti Urpala 2008-12-27 17:40:57 +02:00
commit c1b80dcbbb
24 changed files with 239 additions and 461 deletions

View File

@ -13,6 +13,32 @@ MPlayer (1.0)
* image decoders: Sun rasterfile, PCX image
* MLP decoder via lavc
* use lavc ADPCM codecs by default
* support for progressive jpeg in ffmjpeg
* ACDSystems mjpeg (ACDV) via binary DLL and lavc
* SIF1 via binary DLL
* wincam screen capture (WCMV) via binary DLL
* Creative Labs Video Blaster Webcam mjpeg (CJPG) via binary DLL and ijpg library
* kensington webcam (AJPG,ABYR) via binary DLL
* centre for wavelets (wavc) via binary DLL
* GeoVision Advanced MPEG-4 (GMP4,GM40) via binary DLL
* Xiricam jpg from Veo PC Camera (XJPG) via binary DLL
* WorldConnect Wavelet Video (SMSV) via binary DLL
* VDOWave 3 advanced (VDO3,VDOM,VDOW) via binary DLL
* VoxWare MetaVoice (format 0x0074) via binary DLL
* Ulead DV Audio (0x215,0x216) via binary DLL
* GoToMeeting codec (G2M2,G2M3) via binary DLL
* SP4x codec - used by Aiptek MegaCam (SP4x) via binary DLL
* Broadway MPEG Capture Codec (BW10) via binary DLL
* ZDSoft screen recorder (ZDSV) via binary DLL
* WebTrain Communication lossless screen recorder (WTVC) via binary DLL
* xfire video (XFR1) via binary DLL
* VFAPI rgb transcode (vifp) via binary DLL
* ETI CamCorder EYECON (NUB0,NUB1,NUB2) via binary DLL
* fox motion (FMVC) via binary DLL
* Trident video (TY2C,TY2N,TY0N) via binary DLL
* 10-bit video (v210) via Cinewave binary DLL
* Brooktree YUV 4:1:1 Raw (Y41P) via binary DLL
* many rare/obscure fourccs for known formats added
Demuxers:
* -lavfdopts cryptokey allows decrypting MXF and ASF files
@ -53,6 +79,9 @@ MPlayer (1.0)
* VP3 decoder speedup
* Split-Radix FFT (speedup multiple audio codecs)
* MMX/SSE/ARM and other misc speedups
* QCELP decoder
* RV30 decoder
* RV40 decoder
libmpeg2:
* enable Alpha/ARM optimizations in libmpeg2
@ -66,8 +95,8 @@ MPlayer (1.0)
* VIDIX driver for SuperH Mobile VEU hardware block.
* support -border on vo_gl/gl2 in x11
* Direct3D Windows video output driver added.
* initial code duplication cleanup between vo_wii and vo_fbdev2
* initial code duplication cleanup between vo_x11,vo_xv,vo_xvmc
* factorize code in vo_wii
* removed unnecessary code from vo x11, xv, xvmc
MEncoder:
* check for system-wide configuration file in MEncoder

View File

@ -6,7 +6,7 @@
Thanks for reading MPlayer documentation !!!
1. For "release" version users (i.e. non-CVS):
1. For "release" version users (i.e. non-Subversion):
a, Enter the HTML/ directory, and there you'll find the documentation,
each language in its own subdirectory.
@ -19,7 +19,7 @@ Thanks for reading MPlayer documentation !!!
try the subdirectories in this very same folder.
2. For "development" version users (i.e. CVS or CVS snapshots):
2. For "development" version users (i.e. Subversion or Subversion snapshots):
a, Enter the xml/ directory, and read the README file there to find
out how to build a HTML version of the XML documentation. It will

View File

@ -49,8 +49,8 @@ data, search for sample media of both types. If a video codec is known to
work at 7 different bit depths, then, as painful as it may be, do what you
can to obtain sample media encoded for each of the 7 bit depths.
- Latest CVS snapshot: It's always useful to develop code for the very
latest development version of MPlayer. Be sure to update your local CVS
- Latest Subversion snapshot: It's always useful to develop code for the very
latest development version of MPlayer. Be sure to update your local Subversion
copy often.
- General programming knowledge, working Linux development environment: I
@ -143,7 +143,7 @@ with the parameters passed into the decoding function (if you set it up to
take those parameters). Such data should match up. If it doesn't, issue a
warning and make an executive decision in the code about which data to
believe (personally, I always lend more weight to the data that was passed
into the decoder function, the data that comes from the container file's
into the decoder function, than the data that comes from the container file's
header). If there's supposed to be a magic number embedded in, or computed
from, the chunk's header, issue a warning if it isn't correct.
@ -190,7 +190,8 @@ files:
- ad.c or vd.c
Of course, you will need to include your newly-created file(s):
vd_<name>.c -OR- ad_<name>.c. If you contribute enough decoders, the
development team may even grant you write privileges to the CVS repository.
development team may even grant you write privileges to the Subversion
repository.
5) Wait for bug reports to start rolling in
You may think you're finished when you release the codec and if you're

View File

@ -7,22 +7,18 @@ preparations:
all docs are up to date, etc.
- Verify man page, remove obsolete options, mention new ones.
- Ask translation maintainers to update their help_mp*.h file.
- Update the ChangeLog file (according to CVS log), ask other developers
- Update the ChangeLog file (according to Subversion log), ask other developers
to verify their parts, etc. Ask Diego to spellcheck it.
- Consult at -dev-eng about unstable parts of the code which should be
disabled for the release.
- Find a codename for the release
create the release tree:
- tag cvs with release name
- tag Subversion with release name
- update release.sh script with version number
***the following steps are done automatically by release.sh script***
- cvs checkout the mplayer src tree
- check out libavcodec and libavformat from FFmpeg CVS
- remove the CVS subdirs:
find main -name CVS -exec rm -rf {} \;
- remove the .cvsignore files:
find main -name .cvsignore -exec rm {} \;
- checkout the mplayer src tree
- check out FFmpeg subdirs
- remove obsolete DOCS translations, help files
- replace version.sh with this (change version number too...):

View File

@ -0,0 +1,87 @@
============================
Win32 codecs importing HOWTO
============================
This document describes how to extract the information necessary to hook
up Win32 binary codecs in MPlayer from a Windows system. Different methods
exist depending on which video API your codec uses and which Windows
version you have.
If you have gathered all the necessary information (fourcc, GUID, codec file,
sample file) as described below, notify the mplayer-dev-eng mailing list.
If you want to add a codec yourself, read DOCS/tech/codecs.conf.txt.
VFW codecs
~~~~~~~~~~
VFW (Video for Windows) is the old video API for Windows. Its codecs have
the '.dll' or (rarely) '.drv' extension. If MPlayer fails at playing your
AVI with this kind of message:
UNKNOWN video codec: HFYU (0x55594648)
It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you
have to find out which DLL Windows loads in order to play this file. In our
case, the 'system.ini' contains this information in a line that reads:
VIDC.HFYU=huffyuv.dll
So you need the 'huffyuv.dll' file. Note that the audio codecs are
specified by the MSACM prefix:
msacm.l3acm=L3codeca.acm
This is the MP3 codec.
DirectShow codecs:
~~~~~~~~~~~~~~~~~~
DirectShow is the newer video API, which is even worse than its predecessor.
Things are harder with DirectShow, since 'system.ini' does not contain the
needed information, instead it is stored in the registry and we need the
GUID of the codec.
New Method:
-----------
Using Microsoft GraphEdit (fast)
- Get GraphEdit from either DirectX SDK or doom9.
- Start 'graphedit.exe'.
- From the menu select "Graph -> Insert Filters".
- Expand item "DirectShow Filters".
- Select the right codec name and expand item.
- In the entry "DisplayName" look at the text in winged brackets after the
backslash and write it down (five dash-delimited blocks, the GUID).
- The codec binary is the file specified in the "Filename" entry.
If there is no "Filename" and "DisplayName" contains something like
'device:dmo', then it is a DMO-Codec.
Old Method:
-----------
Take a deep breath and start searching the registry...
- Start 'regedit'.
- Press "Ctrl-F", disable the first two checkboxes, and enable the third.
Type in the fourcc of the codec (e.g. "TM20").
- You should see a field which contains the path and the filename (e.g.
"C:\WINDOWS\SYSTEM\TM20DEC.AX").
- Now that you have the file, we need the GUID. Try searching again, but
now search for the codec's name, not the fourcc. Its name can be acquired
when Media Player is playing the file, by checking
"File -> Properties -> Advanced".
If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
- If the GUID is found you should see a "FriendlyName" and a "CLSID" field.
Write down the 16 byte CLSID, this is the GUID we need.
If searching fails, try enabling all the checkboxes. You may have
false hits, but you may get lucky...

View File

@ -154,8 +154,7 @@ so please use <emphasis role="bold">only Subversion</emphasis> to report bugs.
This includes binary packages of <application>MPlayer</application>.
Subversion instructions can be found at the bottom of
<ulink url="http://www.mplayerhq.hu/dload.html">this page</ulink> or in
the README. If this did not help please refer to the list of
<link linkend="bugs">known bugs</link> and the rest of the documentation.
the README. If this did not help please refer to the rest of the documentation.
If your problem is not known or not solvable by our instructions,
then please report the bug.
</para>

View File

@ -1,137 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<appendix id="bugs">
<title>Known bugs</title>
<sect1 id="bugs-special">
<title>Special system/CPU-specific bugs/problems</title>
<itemizedlist>
<listitem>
<para>General SIGILL (signal 4):</para>
<para>
Problem: you compiled and run <application>MPlayer</application> on
different machines (for example compiled on P3 and running on Celeron)
</para>
<para>
Solution: compile <application>MPlayer</application> on the same machine
where you will use it!
</para>
<para>
Workaround: You can forget all this by configuring with the
<option>--enable-runtime-cpudetection</option> option or you can
disable particular CPU instruction sets with more specific options (like
<option>--disable-mmx</option>, <option>--disable-3dnow</option>, etc).
</para>
</listitem>
<listitem>
<para>Crashes when dumping streams:</para>
<para>Problem: core dump</para>
<para>Solution: Don't panic. Make sure you know where your towel is.</para>
</listitem>
</itemizedlist>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="bugs-audio">
<title>Various A-V sync and other audio problems</title>
<sect2 id="bugs-delay-all">
<title>General audio delay or jerky sound
(exists with all or many files)</title>
<itemizedlist>
<listitem><para>
most common: buggy audio driver! - try to use different drivers, try ALSA OSS
emulation with <option>-ao oss</option>, also try <option>-ao sdl</option>,
sometimes it helps. If your file plays fine with <option>-nosound</option>,
then you can be sure it's sound card (driver) problem.
</para></listitem>
<listitem>
<para>audio buffer problems (buffer size badly detected)</para>
<para>
Workaround: <application>MPlayer</application>'s <option>-abs</option> option
</para>
</listitem>
<listitem><para>
samplerate problems - maybe your card doesn't support the samplerate used in
your files - try the resampling filter (<option>-af resample=...</option>)
</para></listitem>
<listitem>
<para>slow machine (CPU or VGA)</para>
<para>
try with <option>-vo null</option>, if it plays well, then you have slow
VGA card/driver
</para>
<para>
Workaround: buy a faster card or read this documentation about how to speed up
</para>
<para>Also try <option>-framedrop</option></para>
</listitem>
</itemizedlist>
</sect2>
<!-- ********** -->
<sect2 id="bugs-delay-specific">
<title>Audio delay/desync specific to one or a few files</title>
<itemizedlist>
<listitem>
<para>bad file</para>
<para>
Workaround:
<itemizedlist>
<listitem>
<para>
<option>-ni</option> or <option>-nobps</option> option
(for non-interleaved or bad files)
</para>
<para>and/or</para>
</listitem>
<listitem>
<para>
<option>-mc 0</option>
(required for files with badly interleaved VBR audio)
</para>
<para>and/or</para>
</listitem>
<listitem>
<para>
<option>-delay</option> or <keycap>+</keycap>/<keycap>-</keycap>
keys at runtime to adjust delay
</para>
</listitem>
</itemizedlist>
If none of these help, please upload the file, we'll check (and fix).
</para>
</listitem>
<listitem>
<para>your sound card doesn't support 48kHz playback</para>
<para>
Workaround: buy a better sound card... or try to decrease fps by 10%
(use <option>-fps 27</option> for a 30fps movie) or use the resample filter
</para>
</listitem>
<listitem>
<para>
slow machine (if A-V is not around 0,
and the last number in the status line increasing)
</para>
<para>Workaround: <option>-framedrop</option></para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
</appendix>

View File

@ -1,256 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter id="codecs">
<title>Codecs</title>
<para>
The <ulink url="../../codecs-status.html">codec status table</ulink> is a
complete list of all supported codecs, regenerated daily.
Some binary codecs for use with MPlayer are available in the
<ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">download section</ulink>
of our homepage.
</para>
<para>
If you have a Win32 codec which is not supported yet,
please read the <link linkend="codec-importing">codec importing HOWTO</link>
and help us add support for it.
</para>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="audio-codecs">
<title>Audio codecs</title>
<sect2 id="swac3">
<title>Software AC-3 decoding</title>
<para>
This is the default decoder used for files with AC-3 audio.
</para>
<para>
The AC-3 decoder can create audio output mixes for 2, 4, or 6 speakers.
When configured for 6 speakers, this decoder provides separate output of
all the AC-3 channels to the sound driver, allowing for full "surround
sound" experience without the external AC-3 decoder required to use the
hwac3 codec.
</para>
<para>
Use the <option>-channels</option> option to select the number of output
channels. Use <option>-channels 2</option> for a stereo downmix. For a 4
channel downmix (Left Front, Right Front, Left Surround and Right Surround
outputs), use <option>-channels 4</option>. In this case, any center
channel will be mixed equally to the front channels.
<option>-channels 6</option> will output all the AC-3 channels as they are
encoded - in the order Left, Right, Left Surround, Right Surround, Center and
LFE.
</para>
<para>
The default number of output channels is 2.
</para>
<para>
To use more than 2 output channels, you will need to use OSS, and have a
sound card that supports the appropriate number of output channels via the
SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1
(used by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is
also supposed to work).
</para>
</sect2>
<!-- ********** -->
<sect2 id="hwac3">
<title>Hardware AC-3 decoding</title>
<para>
You need an AC-3 capable sound card, with digital out (S/PDIF). The card's
driver must properly support the AFMT_AC3 format (C-Media does). Connect
your AC-3 decoder to the S/PDIF output, and use the <option>-ac
hwac3</option> option. It is experimental but known to work with C-Media
cards and Soundblaster Live! + ALSA (but not OSS) drivers and DXR3/Hollywood+
MPEG decoder cards.
</para>
</sect2>
<!-- ********** -->
<sect2 id="hwmpa">
<title>Hardware MPEG audio codec</title>
<para>
This codec (selected by <option>-ac hwmpa</option>) passes through MPEG audio
packets to hardware decoders, such as the ones found in full-featured DVB cards
and DXR2 adapters.
Don't use it in combination with any other audio output device
(such as OSS and ALSA) that isn't able to decode it (you will hear
only white noise).
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="codec-importing">
<title>Win32 codecs importing HOWTO</title>
<!-- TODO: a short paragraph of text would be nice here... -->
<sect2 id="vfw-codecs">
<title>VFW codecs</title>
<para>
VFW (Video for Windows) is the old Video API for Windows. Its codecs have
the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename>
extension. If <application>MPlayer</application> fails at playing your AVI
with this kind of message:
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you
have to find out which DLL Windows loads in order to play this file. In our
case, the <filename>system.ini</filename> contains this information in a
line that reads:
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para>
So you need the <filename>huffyuv.dll</filename> file. Note that the audio
codecs are specified by the MSACM prefix:
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para>
This is the MP3 codec. Now that you have all the necessary information
(fourcc, codec file, sample AVI), submit your codec support request by
mail, and upload these files to the FTP site:
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;codecname&gt;</replaceable>/</systemitem>
</para>
<note><para>
On Windows NT/2000/XP search for this info in the registry,
e.g. search for "VIDC.HFYU". To find out how to do this, look at
the old DirectShow method below.
</para></note>
</sect2>
<!-- ********** -->
<sect2 id="dshow-codecs">
<title>DirectShow codecs</title>
<para>
DirectShow is the newer Video API, which is even worse than its predecessor.
Things are harder with DirectShow, since
<itemizedlist>
<listitem><para>
<filename>system.ini</filename> does not contain the needed information,
instead it is stored in the registry and
</para></listitem>
<listitem><para>
we need the GUID of the codec.
</para></listitem>
</itemizedlist>
</para>
<procedure>
<title>New Method:</title>
<para>
Using <application>Microsoft GraphEdit</application> (fast)
</para>
<step><para>
Get <application>GraphEdit</application> from either DirectX SDK or
<ulink url="http://doom9.net">doom9</ulink>.
</para></step>
<step><para>
Start <command>graphedit.exe</command>.
</para></step>
<step><para>
From the menu select
<menuchoice><guimenu>Graph</guimenu>
<guisubmenu>Insert Filters</guisubmenu></menuchoice>.
</para></step>
<step><para>
Expand item <systemitem>DirectShow Filters</systemitem>.
</para></step>
<step><para>
Select the right codec name and expand item.
</para></step>
<step><para>
In the entry <systemitem>DisplayName</systemitem> look at the text in
winged brackets after the backslash and write it down (five dash-delimited
blocks, the GUID).
</para></step>
<step><para>
The codec binary is the file specified in the
<systemitem>Filename</systemitem> entry.
</para></step>
</procedure>
<note><para>
If there is no <systemitem>Filename</systemitem> and
<systemitem>DisplayName</systemitem> contains something like
<systemitem>device:dmo</systemitem>, then it is a DMO-Codec.
</para></note>
<procedure>
<title>Old Method:</title>
<para>
Take a deep breath and start searching the registry...
</para>
<step><para>
Start <command>regedit</command>.
</para></step>
<step><para>
Press <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>, disable
the first two checkboxes, and enable the third. Type in the fourcc of the
codec (e.g. <userinput>TM20</userinput>).
</para></step>
<step><para>
You should see a field which contains the path and the filename (e.g.
<filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
</para></step>
<step><para>
Now that you have the file, we need the GUID. Try searching again, but
now search for the codec's name, not the fourcc. Its name can be acquired
when Media Player is playing the file, by checking
<menuchoice><guimenu>File</guimenu> <guisubmenu>Properties</guisubmenu>
<guimenuitem>Advanced</guimenuitem></menuchoice>.
If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
</para></step>
<step><para>
If the GUID is found you should see a <guilabel>FriendlyName</guilabel>
and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID,
this is the GUID we need.
</para></step>
</procedure>
<note><para>
If searching fails, try enabling all the checkboxes. You may have
false hits, but you may get lucky...
</para></note>
<para>
Now that you have all the necessary information (fourcc, GUID, codec file,
sample AVI), submit your codec support request by mail, and upload these files
to the FTP site:
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;codecname&gt;</replaceable>/</systemitem>
</para>
<para>
If you want to add a codec yourself, read
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
</para>
</sect2>
</sect1>
</chapter>

View File

@ -166,18 +166,15 @@ can be distributed under the terms of the GNU General Public License Version 2.
&usage.xml;
&cd-dvd.xml;
&faq.xml;
&codecs.xml;
&video.xml;
&audio.xml;
&tvinput.xml;
&radio.xml;
&video.xml;
&audio.xml;
&ports.xml;
&mencoder.xml;
&encoding-guide.xml;
&faq.xml;
&bugreports.xml;
&bugs.xml;
&skin.xml;
&history.xml;

View File

@ -235,8 +235,20 @@ I have problems playing files with the ... codec. Can I use them?
<answer><para>
Check the <ulink url="../../codecs-status.html">codec status</ulink>,
if it doesn't contain your codec, read the
<link linkend="codecs">codec documentation</link>, especially the
<link linkend="codec-importing">codec importing HOWTO</link> and contact us.
<ulink url="../../tech/win32-codec-howto">Win32 codec HOWTO</ulink>
and contact us.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
I get a core dump when trying to dump streams, what's wrong?
</para></question>
<answer><para>
Don't panic. Make sure you know where your towel is.</para>
<para>
Seriously, notice the smiley and start looking for files that end in
<filename>.dump</filename>.
</para></answer>
</qandaentry>

View File

@ -728,7 +728,7 @@ DIRS = . \
ffmpeg/libavcodec/alpha \
ffmpeg/libavcodec/arm \
ffmpeg/libavcodec/bfin \
ffmpeg/libavcodec/i386 \
ffmpeg/libavcodec/x86 \
ffmpeg/libavcodec/mlib \
ffmpeg/libavcodec/ppc \
ffmpeg/libavcodec/sh4 \

View File

@ -7,6 +7,7 @@
{"msgcolor", &mp_msg_color, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
{"nomsgcolor", &mp_msg_color, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
{"msgmodule", &mp_msg_module, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
{"nomsgmodule", &mp_msg_module, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
#ifdef CONFIG_ICONV
{"msgcharset", &mp_msg_charset, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
#endif

View File

@ -80,7 +80,7 @@ $(SUBDIR)%-test.o: $(SUBDIR)%.c
$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
$(SUBDIR)i386/%.o: $(SUBDIR)i386/%.asm
$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
$(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$<
$(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$@ $$< > $$(@:%.o=%.d)

30
configure vendored
View File

@ -1339,8 +1339,8 @@ if test -z "$_target" ; then
i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;;
ia64) host_arch=ia64 ;;
x86_64|amd64)
if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
-z "`echo $CFLAGS | grep -- -m32`" ]; then
if [ -n "$($_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p')" -a \
-z "$(echo $CFLAGS $_cc | grep -- -m32)" ]; then
host_arch=x86_64
else
host_arch=i386
@ -1681,7 +1681,7 @@ EOF
fi
_arch_all='X86 X86_32 X86_64 IA64 SPARC ARM SH POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
_arch_all='X86 X86_32 X86_64 IA64 SPARC ARM SH PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
case "$host_arch" in
i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
_arch='X86 X86_32'
@ -1907,6 +1907,12 @@ EOF
esac
fi
if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
_fast_cmov="yes"
else
_fast_cmov="no"
fi
echores "$proc"
;;
@ -1931,6 +1937,7 @@ EOF
else
cpuopt=-mcpu
fi
test $_fast_cmov = "auto" && _fast_cmov=yes
if test "$_runtime_cpudetection" = no ; then
case "$pvendor" in
AuthenticAMD)
@ -1942,7 +1949,6 @@ EOF
# 64-bit prescotts exist, but as far as GCC is concerned they
# have the same capabilities as a nocona.
proc=nocona
test $_fast_cmov = "auto" && _fast_cmov=no
;;
esac
;;
@ -2007,6 +2013,7 @@ EOF
if test "$host_arch" = "sparc64" ; then
_vis='yes'
proc='ultrasparc'
def_fast_64bit='#define HAVE_FAST_64BIT 1'
elif sunos ; then
echocheck "CPU type"
karch=`uname -m`
@ -2040,12 +2047,15 @@ EOF
;;
ppc|ppc64|powerpc|powerpc64)
_arch='POWERPC PPC'
_arch='PPC'
_def_dcbzl='#undef HAVE_DCBZL'
_target_arch='ARCH_POWERPC = yes'
_target_arch='ARCH_PPC = yes'
_def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
iproc='ppc'
if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
def_fast_64bit='#define HAVE_FAST_64BIT 1'
fi
echocheck "CPU type"
case $system_name in
Linux)
@ -2257,12 +2267,6 @@ EOF
;;
esac # case "$host_arch" in
if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
_fast_cmov="yes"
else
_fast_cmov="no"
fi
if test "$_runtime_cpudetection" = yes ; then
if x86 ; then
test "$_cmov" != no && _cmov=yes
@ -8541,8 +8545,8 @@ $_def_libswscale_so
$_def_dcbzl
$_def_extern_prefix
$_def_fast_unaligned
$def_fast_64bit
$_def_fast_unaligned
$_def_mkstemp
$_def_pthreads
$_def_threads

View File

@ -570,7 +570,7 @@ void GetCpuCaps( CpuCaps *caps)
mp_msg(MSGT_CPUDETECT,MSGL_INFO,"CPU: ARM\n");
#endif
#ifdef ARCH_POWERPC
#ifdef ARCH_PPC
mp_msg(MSGT_CPUDETECT,MSGL_INFO,"CPU: PowerPC\n");
#endif

View File

@ -1173,6 +1173,14 @@ videocodec LEAD
dll "LCodcCMP.dll"
out BGR24,BGR15
videocodec acdsee
info "ACDSee mjpeg"
status working
fourcc ACDV
driver vfw
dll "ACDV.dll"
out BGR32,BGR24,BGR15 flip
videocodec imagepower
info "ImagePower MJPEG2000"
status buggy
@ -1508,7 +1516,7 @@ videocodec 3ivX
videocodec rv3040
info "Linux RealPlayer 10 RV30/40 decoder"
status working
status buggy ; tries to use multi-threaded decoding on SMP systems and crashes on exit
fourcc RV30,rv30
fourcc RV40,rv40
driver realvid
@ -1944,6 +1952,16 @@ videocodec sif1vfw
dll "Sif1_vfw.dll"
out YV12,YUY2
videocodec sif1ds
info "sif1 alpha4"
status buggy
comment "one frame every 5 seconds?"
fourcc SIF1
driver dshow
dll "Sif1Dec.ax"
guid 0x31666973, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
out BGR32
videocodec ffamv
info "Modified MJPEG, used in AMV files"
status working
@ -2904,6 +2922,13 @@ audiocodec qtmace6
driver qtaudio
dll "QuickTime.qts"
audiocodec zygoaudio
info "Zygo audio"
status working
fourcc SPXN
driver qtaudio
dll "ZyGoAudioS.qtx"
audiocodec ffra144
info "FFmpeg RealAudio 1.0"
status working
@ -3875,4 +3900,4 @@ audiocodec uleaddva
format 0x215
format 0x216
driver acm
dll "dvacm.acm"
dll "dvacm.acm"

View File

@ -949,11 +949,11 @@ static inline void yuv2rgbXinC_full(SwsContext *c, int16_t *lumFilter, int16_t *
#define COMPILE_C
#endif
#ifdef ARCH_POWERPC
#ifdef ARCH_PPC
#if (defined (HAVE_ALTIVEC) || defined (RUNTIME_CPUDETECT)) && defined (CONFIG_GPL)
#define COMPILE_ALTIVEC
#endif //HAVE_ALTIVEC
#endif //ARCH_POWERPC
#endif //ARCH_PPC
#if defined(ARCH_X86)
@ -1628,7 +1628,7 @@ static SwsFunc getSwsFunc(int flags){
return swScale_C;
#else
#ifdef ARCH_POWERPC
#ifdef ARCH_PPC
if (flags & SWS_CPU_CAPS_ALTIVEC)
return swScale_altivec;
else

View File

@ -47,8 +47,8 @@ void ff_bfin_yuv2rgb565_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
void ff_bfin_yuv2rgb24_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
int w, uint32_t *coeffs) L1CODE;
typedef void (* ltransform_t)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
int w, uint32_t *coeffs);
typedef void (* ltransform)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
int w, uint32_t *coeffs);
static void bfin_prepare_coefficients (SwsContext *c, int rgb, int masks)
@ -92,7 +92,7 @@ static int core_yuv420_rgb (SwsContext *c,
uint8_t **in, int *instrides,
int srcSliceY, int srcSliceH,
uint8_t **oplanes, int *outstrides,
ltransform_t lcscf, int rgb, int masks)
ltransform lcscf, int rgb, int masks)
{
uint8_t *py,*pu,*pv,*op;
int w = instrides[0];

View File

@ -407,7 +407,10 @@ static void autodetectGlExtensions(void) {
int is_ati = strstr(vendor, "ATI") != NULL;
if (ati_hack == -1) ati_hack = is_ati;
if (force_pbo == -1) force_pbo = strstr(extensions, "_pixel_buffer_object") ? is_ati : 0;
if (use_rectangle == -1) use_rectangle = strstr(extensions, "_texture_non_power_of_two") ? 2 : 0;
if (use_rectangle == -1) use_rectangle = strstr(extensions, "_texture_non_power_of_two") ? 0 : 0;
if (is_ati && (lscale == 1 || lscale == 2 || cscale == 1 || cscale == 2))
mp_msg(MSGT_VO, MSGL_WARN, "Selected scaling mode may be broken on ATI cards.\n"
"Tell _them_ to fix GL_REPEAT if you have issues.\n");
}
/**
@ -782,6 +785,18 @@ static uint32_t get_image(mp_image_t *mpi) {
return VO_TRUE;
}
static void clear_border(uint8_t *dst, int start, int stride, int height, int full_height, int value) {
int right_border = stride - start;
int bottom_border = full_height - height;
while (height > 0) {
memset(dst + start, value, right_border);
dst += stride;
height--;
}
if (bottom_border > 0)
memset(dst, value, stride * bottom_border);
}
static uint32_t draw_image(mp_image_t *mpi) {
int slice = slice_height;
int stride[3];
@ -799,6 +814,13 @@ static uint32_t draw_image(mp_image_t *mpi) {
memcpy_pic(mpi2.planes[1], mpi->planes[1], mpi->w >> 1, mpi->h >> 1, mpi2.stride[1], mpi->stride[1]);
memcpy_pic(mpi2.planes[2], mpi->planes[2], mpi->w >> 1, mpi->h >> 1, mpi2.stride[2], mpi->stride[2]);
}
if (ati_hack) { // since we have to do a full upload we need to clear the borders
clear_border(mpi2.planes[0], mpi->w * bpp / 8, mpi2.stride[0], mpi->h, mpi2.height, 0);
if (mpi->imgfmt == IMGFMT_YV12) {
clear_border(mpi2.planes[1], mpi->w >> 1, mpi2.stride[1], mpi->h >> 1, mpi2.height >> 1, 128);
clear_border(mpi2.planes[2], mpi->w >> 1, mpi2.stride[2], mpi->h >> 1, mpi2.height >> 1, 128);
}
}
mpi = &mpi2;
}
stride[0] = mpi->stride[0]; stride[1] = mpi->stride[1]; stride[2] = mpi->stride[2];

View File

@ -53,7 +53,6 @@ static const vo_info_t info = {
const LIBVO_EXTERN(x11)
/* private prototypes */
static void Display_Image(XImage * myximage, unsigned char *ImageData);
static void (*draw_alpha_fnc) (int x0, int y0, int w, int h,
unsigned char *src, unsigned char *srca,
int stride);

View File

@ -578,7 +578,6 @@ void vo_x11_putkey(struct vo *vo, int key)
{
static const char *passthrough_keys = " -+*/<>`~!@#$%^&()_{}:;\"\',.?\\|=[]";
int mpkey = 0;
int i;
if ((key >= 'a' && key <= 'z') ||
(key >= 'A' && key <= 'Z') ||
(key >= '0' && key <= '9') ||

View File

@ -72,9 +72,9 @@ static void dump_exports( HMODULE hModule )
{
char *Module;
unsigned int i, j;
u_short *ordinal;
u_long *function,*functions;
u_char **name;
unsigned short *ordinal;
unsigned long *function,*functions;
unsigned char **name;
unsigned int load_addr = hModule;
DWORD rva_start = PE_HEADER(hModule)->OptionalHeader
@ -88,9 +88,9 @@ static void dump_exports( HMODULE hModule )
TRACE("Module name is %s, %ld functions, %ld names\n",
Module, pe_exports->NumberOfFunctions, pe_exports->NumberOfNames);
ordinal=(u_short*) RVA(pe_exports->AddressOfNameOrdinals);
functions=function=(u_long*) RVA(pe_exports->AddressOfFunctions);
name=(u_char**) RVA(pe_exports->AddressOfNames);
ordinal=(unsigned short*) RVA(pe_exports->AddressOfNameOrdinals);
functions=function=(unsigned long*) RVA(pe_exports->AddressOfFunctions);
name=(unsigned char**) RVA(pe_exports->AddressOfNames);
TRACE(" Ord RVA Addr Name\n" );
for (i=0;i<pe_exports->NumberOfFunctions;i++, function++)
@ -126,15 +126,15 @@ FARPROC PE_FindExportedFunction(
LPCSTR funcName,
WIN_BOOL snoop )
{
u_short * ordinals;
u_long * function;
u_char ** name;
unsigned short * ordinals;
unsigned long * function;
unsigned char ** name;
const char *ename = NULL;
int i, ordinal;
PE_MODREF *pem = &(wm->binfmt.pe);
IMAGE_EXPORT_DIRECTORY *exports = pem->pe_export;
unsigned int load_addr = wm->module;
u_long rva_start, rva_end, addr;
unsigned long rva_start, rva_end, addr;
char * forward;
if (HIWORD(funcName))
@ -149,9 +149,9 @@ FARPROC PE_FindExportedFunction(
WARN("Module %08x(%s)/MODREF %p doesn't have a exports table.\n",wm->module,wm->modname,pem);
return NULL;
}
ordinals= (u_short*) RVA(exports->AddressOfNameOrdinals);
function= (u_long*) RVA(exports->AddressOfFunctions);
name = (u_char **) RVA(exports->AddressOfNames);
ordinals= (unsigned short*) RVA(exports->AddressOfNameOrdinals);
function= (unsigned long*) RVA(exports->AddressOfFunctions);
name = (unsigned char **) RVA(exports->AddressOfNames);
forward = NULL;
rva_start = PE_HEADER(wm->module)->OptionalHeader
.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress;

View File

@ -76,7 +76,7 @@ connect2Server_with_af(char *host, int port, int af,int verb) {
char buf[255];
#ifdef HAVE_WINSOCK2_H
u_long val;
unsigned long val;
int to;
#else
struct timeval to;

View File

@ -29,7 +29,7 @@ $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR)
$(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS)
$(SLIB_CREATE_DEF_CMD)
$(CC) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$^ $(FFEXTRALIBS) $(EXTRAOBJS)
$(CC) $(SHFLAGS) $(FFLDFLAGS) -o $$@ $$(filter-out $(DEP_LIBS),$$^) $(FFEXTRALIBS) $(EXTRAOBJS)
$(SLIB_EXTRA_CMD)
ifdef SUBDIR