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:
commit
c1b80dcbbb
33
Changelog
33
Changelog
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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...):
|
||||
|
||||
|
87
DOCS/tech/win32-codec-howto.txt
Normal file
87
DOCS/tech/win32-codec-howto.txt
Normal 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...
|
@ -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>
|
||||
|
@ -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>
|
@ -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><codecname></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><codecname></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>
|
@ -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;
|
||||
|
@ -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>
|
||||
|
||||
|
2
Makefile
2
Makefile
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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
30
configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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];
|
||||
|
@ -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];
|
||||
|
@ -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);
|
||||
|
@ -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') ||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user