+ /* Choose the best IDCT module */
+ p_vpar->p_module = module_Need( p_main->p_module_bank,
+ MODULE_CAPABILITY_IDCT, NULL );
+
+ if( p_vpar->p_module == NULL )
+ {
+ intf_ErrMsg( "vpar error: no suitable IDCT module" );
+ free( p_vpar );
+ return( 0 );
+ }
+
+#define idct_functions p_vpar->p_module->p_functions->idct.functions.idct
+ p_vpar->pf_init = idct_functions.pf_init;
+ p_vpar->pf_sparse_idct = idct_functions.pf_sparse_idct;
+ p_vpar->pf_idct = idct_functions.pf_idct;
+ p_vpar->pf_norm_scan = idct_functions.pf_norm_scan;
+#undef idct_functions
+