Mercurial > mplayer.hg
annotate loader/loader.h @ 30857:77ce62f13d42
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.
author | sesse |
---|---|
date | Mon, 15 Mar 2010 12:05:56 +0000 |
parents | 26f673ba0675 |
children | db0bb7511440 |
rev | line source |
---|---|
1 | 1 /******************************************************** |
2 | |
3 Win32 binary loader interface | |
128 | 4 Copyright 2000 Eugene Kuznetsov (divx@euro.ru) |
1 | 5 Shamelessly stolen from Wine project |
6 | |
7 *********************************************************/ | |
8 | |
15166
f5537cc95b02
Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents:
7386
diff
changeset
|
9 /* |
18783 | 10 * Modified for use with MPlayer, detailed changelog at |
11 * http://svn.mplayerhq.hu/mplayer/trunk/ | |
15166
f5537cc95b02
Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents:
7386
diff
changeset
|
12 */ |
f5537cc95b02
Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents:
7386
diff
changeset
|
13 |
26045 | 14 #ifndef MPLAYER_LOADER_H |
15 #define MPLAYER_LOADER_H | |
7386 | 16 |
17 #include "wine/windef.h" | |
18 #include "wine/driver.h" | |
19 #include "wine/mmreg.h" | |
20 #include "wine/vfw.h" | |
21 #include "wine/msacm.h" | |
1494 | 22 |
25794
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
24422
diff
changeset
|
23 unsigned int GetPrivateProfileIntA_(const char* appname, const char* keyname, int default_value, const char* filename); |
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
24422
diff
changeset
|
24 int GetPrivateProfileStringA_(const char* appname, const char* keyname, |
1 | 25 const char* def_val, char* dest, unsigned int len, const char* filename); |
25794
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
24422
diff
changeset
|
26 int WritePrivateProfileStringA_(const char* appname, const char* keyname, |
1 | 27 const char* string, const char* filename); |
28 | |
1307
d8c1b0b38edc
Add prototypes to wine/loader stuff, so that we can catch __stdcall function
jkeil
parents:
128
diff
changeset
|
29 INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, |
d8c1b0b38edc
Add prototypes to wine/loader stuff, so that we can catch __stdcall function
jkeil
parents:
128
diff
changeset
|
30 LPSTR buffer, INT buflen ); |
128 | 31 |
26045 | 32 #endif /* MPLAYER_LOADER_H */ |