--- branches/dev-api-4/xvidcore/dshow/src/CXvidDecoder.h 2003/11/15 02:51:41 1208 +++ branches/dev-api-4/xvidcore/dshow/src/CXvidDecoder.h 2004/01/30 03:21:20 1341 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: CXvidDecoder.h,v 1.1.2.3 2003-11-15 02:51:41 suxen_drol Exp $ + * $Id: CXvidDecoder.h,v 1.1.2.7 2004-01-30 03:21:20 syskin Exp $ * ****************************************************************************/ @@ -47,6 +47,16 @@ DPRINTF(char *fmt, ...) { } #endif +/* registry stuff */ +#define XVID_REG_KEY HKEY_CURRENT_USER +#define XVID_REG_SUBKEY "Software\\GNU\\XviD" +#define XVID_REG_CLASS "config" + +#define REG_GET_N(X, Y, Z) size=sizeof(int);if(RegQueryValueEx(hKey, X, 0, 0, (LPBYTE)&Y, &size) != ERROR_SUCCESS) {Y=Z;} +#define REG_GET_S(X, Y, Z) size=MAX_PATH;if(RegQueryValueEx(hKey, X, 0, 0, Y, &size) != ERROR_SUCCESS) {lstrcpy(Y, Z);} +#define REG_SET_N(X, Y) RegSetValueEx(hKey, X, 0, REG_DWORD, (LPBYTE)&Y, sizeof(int)) +#define REG_SET_S(X, Y) RegSetValueEx(hKey, X, 0, REG_SZ, Y, lstrlen(Y)+1) + #define XVID_NAME_L L"XviD MPEG-4 Video Decoder" /* --- fourcc --- */ @@ -54,6 +64,11 @@ #define FOURCC_XVID mmioFOURCC('X','V','I','D') #define FOURCC_DIVX mmioFOURCC('D','I','V','X') #define FOURCC_DX50 mmioFOURCC('D','X','5','0') +#define FOURCC_MP4V mmioFOURCC('m','p','4','v') + +#define SUPPORT_DX50 (1<<0) +#define SUPPORT_DIVX (1<<1) +#define SUPPORT_MP4V (1<<2) /* --- media uids --- */ @@ -63,6 +78,7 @@ DEFINE_GUID(CLSID_DIVX_UC, mmioFOURCC('D','I','V','X'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); DEFINE_GUID(CLSID_DX50, mmioFOURCC('d','x','5','0'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); DEFINE_GUID(CLSID_DX50_UC, mmioFOURCC('D','X','5','0'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); +DEFINE_GUID(CLSID_MP4V, mmioFOURCC('m','p','4','v'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); /* MEDIATYPE_IYUV is not always defined in the directx headers */ @@ -99,6 +115,11 @@ xvid_dec_create_t m_create; xvid_dec_frame_t m_frame; + + HINSTANCE m_hdll; + int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2); + int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2); + int ar_x, ar_y; };