20 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
21 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 |
* |
* |
23 |
* $Id: CXvidDecoder.cpp,v 1.23 2010-10-29 16:39:07 Isibaar Exp $ |
* $Id: CXvidDecoder.cpp,v 1.24 2010-12-18 10:16:46 Isibaar Exp $ |
|
* |
|
|
****************************************************************************/ |
|
|
|
|
|
/**************************************************************************** |
|
|
* |
|
|
* 2003/12/11 - added some additional options, mainly to make the deblocking |
|
|
* code from xvidcore available. Most of the new code is taken |
|
|
* from Nic's dshow filter, (C) Nic, http://nic.dnsalias.com |
|
24 |
* |
* |
25 |
****************************************************************************/ |
****************************************************************************/ |
26 |
|
|
331 |
memset(&init, 0, sizeof(init)); |
memset(&init, 0, sizeof(init)); |
332 |
init.version = XVID_VERSION; |
init.version = XVID_VERSION; |
333 |
|
|
334 |
|
xvid_gbl_info_t info; |
335 |
|
memset(&info, 0, sizeof(info)); |
336 |
|
info.version = XVID_VERSION; |
337 |
|
|
338 |
m_hdll = LoadLibrary(XVID_DLL_NAME); |
m_hdll = LoadLibrary(XVID_DLL_NAME); |
339 |
if (m_hdll == NULL) { |
if (m_hdll == NULL) { |
340 |
DPRINTF("dll load failed"); |
DPRINTF("dll load failed"); |
369 |
return E_FAIL; |
return E_FAIL; |
370 |
} |
} |
371 |
|
|
372 |
|
if (xvid_global_func(0, XVID_GBL_INFO, &info, NULL) < 0) |
373 |
|
{ |
374 |
|
xvid_global_func = NULL; |
375 |
|
xvid_decore_func = NULL; |
376 |
|
FreeLibrary(m_hdll); |
377 |
|
m_hdll = NULL; |
378 |
|
MessageBox(0, "xvid_global() failed", "Error", MB_TOPMOST); |
379 |
|
return E_FAIL; |
380 |
|
} |
381 |
|
|
382 |
memset(&m_create, 0, sizeof(m_create)); |
memset(&m_create, 0, sizeof(m_create)); |
383 |
m_create.version = XVID_VERSION; |
m_create.version = XVID_VERSION; |
384 |
m_create.handle = NULL; |
m_create.handle = NULL; |
385 |
|
m_create.num_threads = (!g_config.num_threads) ? info.num_threads : g_config.num_threads; |
386 |
|
|
387 |
memset(&m_frame, 0, sizeof(m_frame)); |
memset(&m_frame, 0, sizeof(m_frame)); |
388 |
m_frame.version = XVID_VERSION; |
m_frame.version = XVID_VERSION; |