1
mirror of https://github.com/mpv-player/mpv synced 2024-09-05 02:48:21 +02:00
Commit Graph

665 Commits

Author SHA1 Message Date
Uoti Urpala
e2fc1f640f build: remove OS/2 support 2012-04-06 17:45:56 +03:00
wm4
24be34f1e9 cleanup: Silence compilation warnings on MinGW-w64
Some of the code, especially the dshow and windows codec loader parts,
are extremely hacky and likely full of bugs. The goal is merely getting
rid of warnings that could obscure more important warnings and actual
bugs, instead of fixing actual problems. This reduces the number of
warnings from over 500 to almost the same as when compiling on Linux.

Note that many problems stem from using the ancient wine-derived
windows headers. There are some differences to the "proper" windows
header. Changing the code to compile with the proper headers would be
too much trouble, and it still has to work on Unix.

Some of the changes might actually break compilation on legacy MinGW,
but we don't support that anymore. Always use MinGW-w64, even when
compiling to 32 bit.

Fixes some warnings in the win32 loader code on Linux too.
2012-03-01 00:22:30 +02:00
reimar
d68a606fd6 loader/module.c: Fix compilation with --disable-qtx
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33756 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-07-06 13:01:08 +03:00
reimar
7c87946c69 loader: Remove __ptr32 and __ptr64 typedefs
We do not need them and they cause compilation errors with cygwin's
mingw-w64 cross-compilers (32 bit target) since its _mingw.h has a
"#define __ptr32", which makes these typedefs an invalid syntax.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32728 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-01-29 04:05:28 +02:00
cboesch
fe3c4810e1 cleanup: remove NULL checks before free() all over the code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-14 13:11:20 +02:00
diego
34e211820d cosmetics: Remove some obsolete and misleading comments
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32482 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:37 +02:00
diego
ed8e92afcc Remove #warning preprocessor directives
The #warning preprocessor directive is non-standard and not available with all
compilers. Furthermore, the warnings it causes are noisy and have not led to
getting any of the underlying issues fixed in the space of a decade.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32480 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:10 +02:00
reimar
db90a65d11 Remove remaining %lf printf conversions
Most cases are just code in comments.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32438 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:08 +02:00
diego
39f7201ea4 cosmetics: Remove vim/emacs coding style hints from sources
The hints are inconsistent and pointless if only present in a few files.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32223 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:48 +02:00
reimar
fe6c4fcae2 cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr)
Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32181 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32182 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32183 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace some sizeof(type) by sizeof(*pointer)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32184 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32186 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32187 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32188 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizoef(type) by sizeof(*ptrvar).
Besides being consistent with FFmpeg style,
this reduces the size of a patch to rename these
types to not conflict with the windows.h definitions.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32189 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32191 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32192 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(type) by sizeof(*ptrvar)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32193 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove a useless cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32194 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(type)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32195 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove a useless cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32196 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace several sizeof(WAVEFORMATEX)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32197 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace one more instance of sizeof(WAVEFORMATEX); fix compilation.
patch by Clément Bœsch, ubitux gmail com

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32199 b3059339-0415-0410-9bf9-f77b7e298cf2

Avoid some pointless uses of sizeof() and one related cast.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32200 b3059339-0415-0410-9bf9-f77b7e298cf2

Merge one malloc() + memset() invocation into calloc().

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32202 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32203 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(WAVEFORMATEX) occurrences.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32205 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace malloc+memset by calloc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32206 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace sizeof(BITMAPINFOHEADER)

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32207 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego
be67d71493 loader: Move local_wm extern variable declaration to loader.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32161 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego
3b43c4fee5 loader: Move fs_seg extern variable declaration to ldt_keeper.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32133 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:45 +02:00
reimar
5c083f82ca loader: Disable loading codecs from the current directory
While convenient, it is too risky.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32025 b3059339-0415-0410-9bf9-f77b7e298cf2

100l, we need to search for SetDllDirectoryA instead of SetDllDirectory

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32026 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:49 +02:00
alexc
9e218d2df1 loader: Add msvcr100 support to the win32 loader
This is required for the Expression Screen Codec binary decoder.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31906 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:01 +02:00
reimar
04ce30b2fd loader: Reuse do_cpuid from cpudetect.c in loader/win32.c
Also avoids several "used uninitialized" warnings.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31905 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:01 +02:00
reimar
1605194717 loader/win32.c: misc cleanup
Make library/export function tables static const.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31898 b3059339-0415-0410-9bf9-f77b7e298cf2

Avoid mixing code and declarations.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31899 b3059339-0415-0410-9bf9-f77b7e298cf2

Make function declarations proper prototypes.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31900 b3059339-0415-0410-9bf9-f77b7e298cf2

Fix type in conditional.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31901 b3059339-0415-0410-9bf9-f77b7e298cf2

Avoid arithmetic on void * pointers.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31902 b3059339-0415-0410-9bf9-f77b7e298cf2

Add const to avoid warnings.
The const on the return type is not correct compared to the real win32 API
functions, but that really does not matter for us, avoiding the warning is
more useful.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31903 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:01 +02:00
compn
0c9034f030 loader/win32.c: remove sys/timeb.h include
It is obsolete and breaks compilation with new gcc.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31868 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:46 +02:00
diego
ff10cf70bd loader/dshow/graph.h: Add prototypes for exported FilterGraph_ functions
This fixes a bunch of missing prototype warnings.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31551 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:11:43 +02:00
diego
9fa2cd5c82 loader: Rename loader/qt_comp.h --> loader/qt_comp_template.c
It is not a header file but rather a template that is #included multiple
times with different DECL_COMPONENT macro definitions.
All other similar files follow the _template.c suffix naming scheme.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31456 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:10:48 +02:00
diego
29bdac6cd6 loader/qtx: cleanup
Remove unused function ComponentDummy().

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31406 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove unnecessary get_path() declaration.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31408 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove unnecessary get_path() declaration.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31409 b3059339-0415-0410-9bf9-f77b7e298cf2

Replace forward declarations by loader/wine/winbase.h #include.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31410 b3059339-0415-0410-9bf9-f77b7e298cf2

Remove unnecessary and unused #defines.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31411 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:07:42 +02:00
Uoti Urpala
9b68a49d01 Merge svn changes up to r31197 2010-05-30 15:58:55 +03:00
Uoti Urpala
a286506467 Merge svn changes up to r31176 2010-05-30 15:37:34 +03:00
sesse
46f30279e7 Add final missing bits of CineForm HD support on Linux (via the Windows
DirectShow codec).

Required changes:

 - codecs.conf entry (of course).
 - Allow opening files with “.col” in the file name, just like “vp3” and “.fpf”
   already was allowed. (CineForm expects to be able to do this, presumably
   for some color management code.)
 - In registry.c, fake a few registry keys that the codec expects the installer
   to have written. Also, change a few magic numbers (0, 2) to the appropriate
   constants (ERROR_SUCCESS, ERROR_FILE_NOT_FOUND) where appropriate, so the code
   is easier to follow.

SMP works fine, but seemingly performs suboptimally (e.g., on my dual-core
laptop, CineForm performs better if I lie to it and tell it I have four cores).
I don't know if this is inherent in the codec, or some inefficiency in the
emulated synchronization primitives.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31196 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-23 16:01:12 +00:00
diego
90ccea6639 Remove unused function MODULE_DecRefCount(), fixes the warning:
loader/module.c:618: warning: 'MODULE_DecRefCount' defined but not used


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31195 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-23 15:50:49 +00:00
cehoyos
aaba0aea70 Silence a gcc warning about char trying to be packed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31172 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-13 20:48:55 +00:00
Uoti Urpala
e913d6c5da Merge svn changes up to r31004 2010-04-26 17:55:05 +03:00
Uoti Urpala
4785c2617e Merge svn changes up to r30967 2010-04-26 17:42:20 +03:00
Uoti Urpala
95fba94860 Merge svn changes up to r30917 2010-04-26 17:11:04 +03:00
Uoti Urpala
ff559b8e90 Merge svn changes up to r30907 2010-04-26 16:57:25 +03:00
diego
275efd21b1 Mark parameterless function declarations as (void). Fixes the warnings:
loader/wine/msacm.h:693: warning: function declaration isn't a prototype
loader/wine/msacm.h:901: warning: function declaration isn't a prototype


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31003 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-04-04 16:21:07 +00:00
sesse
af6fb3740e Don't try to delete the global memory mutex in the Win32 loader code,
since it's now statically allocated and will not be reallocated if a new
allocation comes along.

This also fixes an issue where the mutex would not always be properly
unlocked, leading to deadlocks. I thought I'd committed that ages ago,
but obviously not, and it broke CineForm initialization.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30957 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-25 12:58:41 +00:00
diego
b78d83301a Remove /usr[/local]/lib/win32 from the list of Win32 codec search paths.
These paths have been deprecated a long time ago, just searching the
default binary codec path is enough nowadays.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30955 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-24 01:07:11 +00:00
diego
983b920137 loader: Remove commented-out extra_ld_library_path cruft.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30953 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-23 20:24:14 +00:00
diego
5e480c7b81 Get rid of pointless def_path variable; use codec_path directly instead.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30949 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-23 18:01:00 +00:00
diego
70c66c0476 Rename get_path.[ch] --> path.[ch].
These files now contain different functions related to path handling.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30943 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-20 23:38:27 +00:00
diego
a06a3d476d Move SetCodecPath() from loader to get_path.c and make it unconditional.
This fixes compilation with the Win32 loader disabled but other binary
codec loaders enabled.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30942 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-20 23:27:07 +00:00
reimar
a743c0a738 Split codec path related code into a separate file to fix Windows build.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30930 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-18 20:44:01 +00:00
sesse
67b20ea611 Fix thread safety issue in mreq_private: last_alloc was accessed from multiple
threads without being under a mutex.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30928 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-17 23:42:11 +00:00
sesse
c7dbfb6467 Announce Windows XP SP2 instead of Windows 95 OSR2.
It's time we move to 2010: Announce Windows XP SP2 to codecs instead of Win95
OSR2.

Note: We still don't support the *Ex fields in the version info struct
properly (we shouldn't really overwrite the structure size, but rather check
it to see if it's safe to fill the extra fields). No codec I've found seems
to care.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30927 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-17 23:38:26 +00:00
sesse
d5f3f8caab Announce SMP support for Win32.
Don't hardcode dwNumberOfProcessors=1 for Win32 anymore; the mutex/event code
is still far from perfect, but now good enough that I can't find any codecs
that breaks with this (tested on a quad with various codecs). This tells
codecs they can use more than one core if they want to (some already did, by
launching multiple threads even when told there was only a single core).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30926 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-17 23:33:26 +00:00
sesse
f414a15b33 Fix return value of InitializeCriticalSectionAndSpinCount.
InitializeCriticalSectionAndSpinCount returns a nonzero value on success,
and some codecs (notably VP7) seemingly got confused when it didn't, if and
only if we tried to emulate NT or newer.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30913 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-16 22:08:56 +00:00
sesse
2990ec1682 Fix indentation in GetVersionExW.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30902 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 16:09:35 +00:00
sesse
95f68d3976 Add support for Apple's ProRes and AIC codecs, now that all prerequisites
are in place.

Add codecs.conf entry for both codecs, and qt_comp.h entry for ProRes
(not used except for debugging, so mainly for completeness). Both work
with -demuxer mov only, as all other QuickTime binary codecs.
AIC support is for OS X only, and untested.

Split out from a patch Andrew Wason (r e c t a l o g i c <at> rectalogic
<dot> com) posted in June.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30901 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 12:58:17 +00:00
sesse
22ede70e58 Implement GetVersionExW with the same data as GetVersionExA but taking in a
different structure, and CreateMutexW, CreateEventW and CreateSemaphoreW as
simple wrappers around the A versions.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30900 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 12:54:54 +00:00
sesse
45fd2e0457 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
friends) instead of the unsupported, internal ones (ImageCodecBeginBand
etc.). This is a prerequisite for, among others, Apple ProRes 4:2:2 support,
and simplifies the file by quite a bit.

Tested on Linux with all existing QuickTime codecs I could get to work in the
first place; qt261, qtavui, qtsvq3 have no change. qtcvid appears to not give
bit-exact the same output as before, but it looks just the same in playback
to me. qt3ivx stops crashing on exit (so works better than before). With some
extra patches and a codecs.conf entry, ProRes 4:2:2 also works, including on
Linux.

Since codec initialization is now actually done on decoder init instead of on
first frame, fallback should also work a bit better (although usually, qtvideo
is last in the chain). Also made the decoder complain explicitly if the
demuxer data is not there (ie., the user tried to run without -demuxer mov).

This patch is a cleaned up version of what Andrew Wason (rectalogic A
rectalogic D com) posted to mplayer-dev-eng in June.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30899 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-15 12:05:56 +00:00
diego
aee9749bca Replace separate Win32, XAnim and Real codec directories by one global dir.
Nowadays MPlayer does not use the codecs from other installed programs.
A runtime setting will soon take over the rare case that binary codecs
should be searched for in non-standard directories.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30888 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-14 16:13:32 +00:00
Uoti Urpala
00323c06e2 Delete things related to old translation system
Remove the help/ subdirectory, configure code to create toplevel
help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
2010-03-10 03:47:14 +02:00
Uoti Urpala
0269d22d32 Merge svn changes up to r30876 2010-03-10 03:18:42 +02:00
Uoti Urpala
240550bbb9 Merge svn changes up to r30848 2010-03-10 03:00:14 +02:00
Uoti Urpala
e74708f619 Merge svn changes up to r30748 2010-03-10 01:50:55 +02:00