From: Milan C. <mil...@us...> - 2004-08-20 08:58:15
|
Update of /cvsroot/ffdshow/ffdshow/src/imgFilters/avisynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23807/src/imgFilters/avisynth Modified Files: Tavisynth.cpp Tavisynth.h Log Message: simplified avisynth script extraction from extradata Index: Tavisynth.h =================================================================== RCS file: /cvsroot/ffdshow/ffdshow/src/imgFilters/avisynth/Tavisynth.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Tavisynth.h 16 Mar 2004 07:00:41 -0000 1.1 --- Tavisynth.h 20 Aug 2004 08:58:04 -0000 1.2 *************** *** 12,15 **** --- 12,17 ---- IScriptEnvironment* (__stdcall *CreateScriptEnvironment)(int version/* = AVISYNTH_INTERFACE_VERSION*/); //TODO: uncomment when VC6 support will be dropped + static const char *getScriptVideo(const char *extradata,unsigned int extradatasize); + static const char *getScriptAudio(const char *extradata,unsigned int extradatasize,unsigned int d=0); }; Index: Tavisynth.cpp =================================================================== RCS file: /cvsroot/ffdshow/ffdshow/src/imgFilters/avisynth/Tavisynth.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Tavisynth.cpp 30 Mar 2004 10:35:54 -0000 1.4 --- Tavisynth.cpp 20 Aug 2004 08:58:04 -0000 1.5 *************** *** 56,57 **** --- 56,88 ---- return res; } + + const char* Tavisynth::getScriptVideo(const char *extradata,unsigned int extradatasize) + { + return getScriptAudio(extradata,extradatasize,4+1); + } + const char* Tavisynth::getScriptAudio(const char *extradata,unsigned int extradatasize,unsigned int d) + { + char *script; + switch (extradata[0]) + { + case 1: + script=(char*)malloc(extradatasize); + memcpy(script,extradata+1+d,extradatasize-(1+d)); + break; + case 2: + { + FILE *f=fopen(extradata+1+d,"rb"); + if (!f) return NULL; + int len=filelength(fileno(f)); + script=(char*)malloc(len+1); + fread(script,1,len,f); + script[len]='\0'; + fclose(f); + break; + } + default: + return NULL; + } + return script; + } + |