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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /********************************************************
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 Win32 binary loader interface
128
28091b3caff9 DLL loader updated from avifile-0.60beta4
arpi_esp
parents: 1
diff changeset
4 Copyright 2000 Eugene Kuznetsov (divx@euro.ru)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 Shamelessly stolen from Wine project
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 *********************************************************/
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 7386
diff changeset
9 /*
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
10 * Modified for use with MPlayer, detailed changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15166
diff changeset
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
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
14 #ifndef MPLAYER_LOADER_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
15 #define MPLAYER_LOADER_H
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
16
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
17 #include "wine/windef.h"
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
18 #include "wine/driver.h"
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
19 #include "wine/mmreg.h"
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
20 #include "wine/vfw.h"
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 1494
diff changeset
21 #include "wine/msacm.h"
1494
d11e510d0c04 SetCodecPath -> win32_codec_name
arpi
parents: 1307
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 const char* string, const char* filename);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
28091b3caff9 DLL loader updated from avifile-0.60beta4
arpi_esp
parents: 1
diff changeset
31
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25849
diff changeset
32 #endif /* MPLAYER_LOADER_H */