//-------------------------------------------------------- ADMVideoStabilize::ADMVideoStabilize(AVDMGenericVideoStream *in,CONFcouple *couples) { if(distMatrixDone==false) { buildDistMatrix(); distMatrixDone=true; } //uint32_t frame; _uncompressed=NULL; _in=in; memcpy(&_info,in->getInfo(),sizeof(_info)); _info.encoding=1; if(couples) { _param=NEW(uint32_t); ADM_assert(couples->getCouple((char *)"param",_param)); } else { _param=NEW( uint32_t); *_param=30; } vidCache=new VideoCache(5,_in); }
ADMVideoDenoise::ADMVideoDenoise( AVDMGenericVideoStream *in,CONFcouple *couples) { if(distMatrixDone==false) { buildDistMatrix(); distMatrixDone=true; } _in=in; memcpy(&_info,_in->getInfo(),sizeof(_info)); uint32_t page; _info.encoding=1; page= _in->getInfo()->width*_in->getInfo()->height; // _uncompressed=new uint8_t [page]; _uncompressed=new ADMImage(_in->getInfo()->width,_in->getInfo()->height); ADM_assert(_uncompressed); // _locked=new uint8_t [page]; _locked=new ADMImage(_in->getInfo()->width,_in->getInfo()->height); ADM_assert(_locked); // _lockcount=new uint8_t [page]; _lockcount=new ADMImage(_in->getInfo()->width,_in->getInfo()->height); memset(YPLANE(_lockcount),0,page); memset(UPLANE(_lockcount),0,page>>2); memset(VPLANE(_lockcount),0,page>>2); _param=NULL; if(couples) { _param=NEW(NOISE_PARAM); GET(lumaLock); GET(lumaThreshold); GET(chromaLock); GET(chromaThreshold); GET(sceneChange); } else { #define XXX 1 _param=NEW(NOISE_PARAM); _param->lumaLock= 4*XXX; _param->lumaThreshold= 10*XXX; _param->chromaLock= 8*XXX; _param->chromaThreshold= 16*XXX; _param->sceneChange= 30*XXX; } _lastFrame=0xfffffff0; }
int main(int argc, char *argv[]) { // Check for big files #ifdef __USE_LARGEFILE #ifdef __USE_LARGEFILE64 printf("\n LARGE FILE AVAILABLE : %d offset\n", __USE_FILE_OFFSET64 ); #endif #endif /* Initialize Gettext if available */ #ifdef HAVE_DCGETTEXT setlocale (LC_ALL, ""); //#define ALOCALES "/usr/local/share/locale" bindtextdomain ("avidemux", ADMLOCALE); textdomain ("avidemux"); printf("Locales for %s appear to be in %s\n","avidemux", ADMLOCALE); printf("\nI18N : %s \n",dgettext("avidemux","_File")); #endif // thx smurf uk :) signal(11, sig_segfault_handler); // show stacktrace on default printf("\n*******************\n"); printf(" Avidemux 2, v " VERSION "\n"); printf("*******************\n"); printf(" http://fixounet.free.fr/avidemux\n"); printf(" Code : Mean & JSC \n"); printf(" GFX : Nestor Di , [email protected]\n"); printf(" Testing : Jakub Misak\n"); printf(" FreeBSD : Anish Mistry, [email protected]\n"); #if (defined( ARCH_X86) || defined(ARCH_X86_64)) printf("Arcc X86 X86_64 activated.\n"); #endif #ifdef USE_XX_XVID_CVS printf("Probing XvidCVS library....\n"); dloadXvidCVS( ); #endif VPInitLibrary(); register_Encoders( ); atexit(onexit); #ifndef CYG_MANGLING g_thread_init(NULL); gdk_threads_init(); #endif gdk_threads_enter(); gtk_set_locale(); gtk_init(&argc, &argv); gdk_rgb_init(); #ifdef USE_XVID_4 xvid4_init(); #endif initFileSelector(); CpuCaps::init(); ADM_InitMemcpy(); // Load .avidemuxrc quotaInit(); prefs->load(); if(!initGUI()) { printf("\n Fatal : could not init GUI\n"); exit(-1); } video_body = new ADM_Composer; #ifdef HAVE_ENCODER registerVideoFilters( ); #endif #ifdef USE_FFMPEG avcodec_init(); avcodec_register_all(); mpegps_init(); #endif #ifdef HAVE_AUDIO AVDM_audioInit(); #endif buildDistMatrix(); initScaleTab(); loadEncoderConfig(); COL_init(); if (argc >= 2) { global_argc=argc; global_argv=argv; gtk_timeout_add( 300, (GtkFunction )automation, NULL ); //automation(); } #ifdef USE_SDL printf("Global SDL init...\n"); SDL_Init(0); //SDL_INIT_AUDIO+SDL_INIT_VIDEO); #endif oplug_mpegInit(); if(SpidermonkeyInit() == true) printf("Spidermonkey initialized.\n"); gtk_main(); gdk_threads_leave(); return 0; }