VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 55
  1. Hi cats,

    please can you tell the complete set of filter in virtualdub to reduce a video of my *** from 50P to a 25i (interlaced)

    thanks!!
    Quote Quote  
  2. sorry, I missed this:

    I have to resize from HD to 720x576. But the source is progressive, so have I to apply the deinterlace filter before the resize? and in the resize: have I to check the box "interlaced" or leave it empty?


    So the correct sequence is:

    resize
    interlace
    interlace

    ?
    Quote Quote  
  3. If your source is progressive just resize it then apply the interlace filter.
    Quote Quote  
  4. ahn, thnaks

    and the "interlaced" flag have to be checked?

    consider my target is 25i, interlaced Click image for larger version

Name:	RESIZE.jpg
Views:	272
Size:	52.0 KB
ID:	27761





    This is the source, the video of my cat !!!

    https://www.dropbox.com/s/utp5oe5t7sudjrj/C0016.MXF?dl=0

    please consider source is not 1920x1080 but 1280x720 because my camera, when swtched to 50P, can only records only @ 1280x720

    I wonder: my target is fixed to the SD 720x576 16:9 aspect ratio, is possible that I notice of aliasing or crispening in details of image due to the source is 1280x720 rather than 1920x1080?
    Last edited by marcorocchini; 29th Sep 2014 at 13:59.
    Quote Quote  
  5. https://www.dropbox.com/s/va74tph4qlk0p3o/C0014.MXF?dl=0

    this is my brother shooted @ 1920x1080: as the gopro, its strange but out of 1920x1080 I see aliasing in details of image

    In the video 1280x720 I see some artifacts in details that in the 1920x1080 ones I don't see: this alwais in the original .mxf files so I think the problem of aliasing is already present in the original 1280x720 file

    Seems that the "interlaced" flag of the resize, reduce the bad aliasing
    Quote Quote  
  6. With camcorders you have , why don't you just deliver 1280x720, 50p? You'd get away with that perhaps. Who do you deliver for? You have full HD camcorders, now even HD GoPro to only have SD interlace coming out.
    Quote Quote  
  7. they want only fullHD resolution, but the camcorder cannot do the 50P @ 1920x1080 (seems to me).

    Also with gopro, if you have to reduce to SD resolution from fullHD all is ok (no aliasing ecc..), from medium resolution is problematic the HD-->SD conversion.

    I cannot understand why sony don't have include the 50P @ 1920x1080 resolution, the camera do only 25P @ 1920x1080

    The gopro hero3+ do the 50fps and cost 1/100 of a broadcast "serious" camera...
    Quote Quote  
  8. please cats I have a problem with Virtualdub:

    In virtualdub 1.10.4 I have load the C0016.mxf

    --> insert the "interlace filter" (set to TFF) to convert into 25i

    set compressor and Save AVI ---> all is ok
    file .avi is generated and ok

    BUT if I do File ---> "save processing setting" --> cat.vcf

    --> close virtualdub

    open virtualdub, load C0016.mxf
    --> "load processing settings" cat.vcf

    --> save AVI ......... resultant avi have the double of time-lenght, video is ok but lenght of video is doubled and at the half image freeze

    maybe I think this is for the use of the "interlace" filter in batch mode, and maybe is a bug of virtuldub

    I wonder: is there anhother way to pass from 50P into 25i that is not the "interlace" filter? (in the VIDEO--->FrameRate section of virtualdub I can do something?)
    Quote Quote  
  9. Originally Posted by marcorocchini View Post
    and the "interlaced" flag have to be checked?
    Of course not. The video is progressive at that point.
    Quote Quote  
  10. Originally Posted by _Al_ View Post
    With camcorders you have , why don't you just deliver 1280x720, 50p? You'd get away with that perhaps. Who do you deliver for? You have full HD camcorders, now even HD GoPro to only have SD interlace coming out.

    and I cannot understand why in 1280x720/50P this camera do a lot of aliasing, also in viewfinder and also with the detail level=0 I see a lot of aliasing in contour image. When I switch in fullHD mode image become correct, no aliasing, no artifatcs all is ok and usually I keep the detail level from 9 to 20 and this is normal

    honestly I don't understand sony
    Quote Quote  
  11. Originally Posted by jagabo View Post
    Originally Posted by marcorocchini View Post
    and the "interlaced" flag have to be checked?
    Of course not. The video is progressive at that point.
    yes, video is progressive so that "interlaced" flag don't have to be cheched... but I see a lot of aliasing.

    If I check the flag, resultant video is almost acceptable, considering that when the camera work on this "loser" resolution produce inexplicably a certain degree of aliasing
    Quote Quote  
  12. Originally Posted by marcorocchini View Post
    Originally Posted by _Al_ View Post
    With camcorders you have , why don't you just deliver 1280x720, 50p? You'd get away with that perhaps. Who do you deliver for? You have full HD camcorders, now even HD GoPro to only have SD interlace coming out.

    and I cannot understand why in 1280x720/50P this camera do a lot of aliasing, also in viewfinder and also with the detail level=0 I see a lot of aliasing in contour image. When I switch in fullHD mode image become correct, no aliasing, no artifatcs all is ok and usually I keep the detail level from 9 to 20 and this is normal

    honestly I don't understand sony
    The reason in most cameras, is the on board processor isn't fast enough for a proper interpolated scaling algorithm, so they skip lines on the sensor output.
    Quote Quote  
  13. Originally Posted by marcorocchini View Post
    I see a lot of aliasing.
    Because you're over sharpening. Sharp video = aliasing
    Quote Quote  
  14. Originally Posted by poisondeathray View Post

    The reason in most cameras, is the on board processor isn't fast enough for a proper interpolated scaling algorithm, so they skip lines on the sensor output.
    ok but at this point is preferable that don't support or don't have resolutions for which the image is incorrect, in three years me and my colleagues and I have done a lot of confusion with formats unusable or problematic by their nature
    I still do not understand why sony put in circle losers formats as this 1280x720/50P that do aliasing from itself
    Quote Quote  
  15. Originally Posted by jagabo View Post
    Originally Posted by marcorocchini View Post
    I see a lot of aliasing.
    Because you're over sharpening. Sharp video = aliasing
    my start point is a correct shooting file although 1280x720/50P and although camera have a native aliasing (not esagerate but is visible)

    However in Edius I have import the C0016.mxf and export it with the "project setting" SD 720x576 16:9 ---> I get an uncompressed .avi and it have a mostruous lot lot of aliasing

    Same experiment: import C0016.mxf in Mainconcept totalcode ---> export to uncompressed 4:2:2 .avi 50i file : results: my cat have is a monster of aliasing ^^

    In virtualdub, if I keep cheched the "interlaced" flags in the resize box image become almost accettable, otherwise I get eaten from aliasing
    Quote Quote  
  16. Originally Posted by marcorocchini View Post
    Originally Posted by poisondeathray View Post

    The reason in most cameras, is the on board processor isn't fast enough for a proper interpolated scaling algorithm, so they skip lines on the sensor output.
    ok but at this point is preferable that don't support or don't have resolutions for which the image is incorrect, in three years me and my colleagues and I have done a lot of confusion with formats unusable or problematic by their nature
    I still do not understand why sony put in circle losers formats as this 1280x720/50P that do aliasing from itself
    Tell that to the marketing department. It's important for companies to offer more frame rates and resolutions as a selling point. But the truth is , most cameras have some poor quality resolution modes. Usually there is 1 optimal sweet spot. It's not just Sony, most cameras have this problem
    Quote Quote  
  17. Originally Posted by poisondeathray View Post

    Tell that to the marketing department. It's important for companies to offer more frame rates and resolutions as a selling point. But the truth is , most cameras have some poor quality resolution modes. Usually there is 1 optimal sweet spot. It's not just Sony, most cameras have this problem
    it would be enough if the camera do the 1080 50/60P but this does not even (or at least I think, it have a special function "called" undercranking/overcranking 50P but don't have audio and resolution becomes something like 1920x576 )

    When I shot in 1080/25P I see images too jerk
    Quote Quote  
  18. Originally Posted by marcorocchini View Post
    Originally Posted by poisondeathray View Post

    Tell that to the marketing department. It's important for companies to offer more frame rates and resolutions as a selling point. But the truth is , most cameras have some poor quality resolution modes. Usually there is 1 optimal sweet spot. It's not just Sony, most cameras have this problem
    it would be enough if the camera do the 1080 50/60P but this does not even (or at least I think, it have a special function "called" undercranking/overcranking 50P but don't have audio and resolution becomes something like 1920x576 )
    But your sony is getting old, newer sony's certainly have 1080p50/60 modes

    It's a broadcast spec ENG camera. 1080 - 50p/60p isn't supported by broadcast. There was no reason back then to support it

    Also the chips are CCD's - interlaced, not progressive like newer CMOS sensors

    When I shot in 1080/25P I see images too jerk
    25p is for cinematic shots. You need better technique, stabilization
    Quote Quote  
  19. Originally Posted by marcorocchini View Post
    In virtualdub, if I keep cheched the "interlaced" flags in the resize box image become almost accettable, otherwise I get eaten from aliasing
    Because interlaced resizing is blurring the video vertically. But that also creates buzzing edges and double edges. Just use a less sharp resizing filter when you downscale from 1280x720 instead -- precise bilinear. That will also reduce interlace flicker.
    Quote Quote  
  20. is the pdw-f800, maybe not too older as camera but I'm not updated about new sony camera. However the gopro can do the 50P ...

    However I try to resolve the drama of my cat: shooted in 50P, when I load the .vcf that contains the "interlaced" filter I get an .avi file that doubles in duration. If I manually load the filter all is ok but I need to batch automate the procedure, please cats is there a way to resolve using virtualdub?
    Quote Quote  
  21. Originally Posted by marcorocchini View Post
    Originally Posted by jagabo View Post
    Originally Posted by marcorocchini View Post
    i see a lot of aliasing.
    because you're over sharpening. Sharp video = aliasing
    my start point is a correct shooting file although 1280x720/50p and although camera have a native aliasing (not esagerate but is visible)

    however in edius i have import the c0016.mxf and export it with the "project setting" sd 720x576 16:9 ---> i get an uncompressed .avi and it have a mostruous lot lot of aliasing

    same experiment: Import c0016.mxf in mainconcept totalcode ---> export to uncompressed 4:2:2 .avi 50i file : Results: My cat have is a monster of aliasing ^^

    in virtualdub, if i keep cheched the "interlaced" flags in the resize box image become almost accettable, otherwise i get eaten from aliasing

    WAAAAIT !!!!. EDIUS ? STOP THE INTERNET!!!! Are you cheating on speedrazor?!!!

    Wasn't all this discussed over and over again a few times ? You need to low pass when you make SD interlaced. Sharp = bad for interlace

    If source is already aliased, consider using antialiasing (AA) filters first





    Originally Posted by marcorocchini View Post
    is the pdw-f800, maybe not too older as camera but I'm not updated about new sony camera. However the gopro can do the 50P ...
    Yes, but gopro isn't an ENG camera. CMOS wobble (jello skew) is terrible for run and gun news types scenarios. Hell some phones shoot 4k/UHD (and 60p at lower resolutions, some even 120p)
    Quote Quote  
  22. Originally Posted by poisondeathray View Post

    Also the chips are CCD's - interlaced, not progressive like newer CMOS sensors
    now I'm informed: "2/3” full HD Progressive CCD (Power HAD FX) 2.2M pixels (1920 x 1080) RGB 3 CCD Sensors "
    so seems this camera is CCD and progressive. But don't do the 50/60 P
    Quote Quote  
  23. The 1280x720 source is already oversharpened. Downscaling with a sharpening filter is going to accentuate the oversharpening halos and aliasing. Consider a blur filter to reduce the halos and aliasing.
    Quote Quote  
  24. Originally Posted by poisondeathray View Post


    WAAAAIT !!!!. EDIUS ? STOP THE INTERNET!!!! Are you cheating on speedrazor?!!!
    Name:  wowcat.gif
Views: 606
Size:  173.2 KB

    NONONONONONONO cat: I don't use edius. I have used the edius and totalcode to have a reference of levels and outputted images from anytype of .mxf files. BECAUSE in this days I build a batch that transcode all .mxf formats (including the 50P version) into SD and fullHD resolution. So that I have to transcode from anytype versus 720x576 or 1920x1080 because with speedrazor I "build" 2 preset of progect settings: "SD" and "HD". Because speed razor cannot import directly (FOR THE MOMENT) I'm building this batch:


    Code:
    @rem unless otherwise specified for debugging reasons turn echo off
    @if "%EMode%"=="" Set EMode=ON
    @ECHO %EMode%
    @ECHO off
    
    xcopy /y v:\automazioneclip\system\morgan\m3jpegHD.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\morgan\MMIJG32.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\morgan\m3jpegSD.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\x264VFW.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\pvmjpg40.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\morgan\MMIJG30.dll c:\windows\system32
    xcopy /y v:\automazioneclip\system\morgan\m3jpSD.INI c:\windows
    xcopy /y v:\automazioneclip\system\morgan\m3jpHD.ini c:\windows
    
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\morgan\m3jpegHD.dll c:\windows\SysWOW64
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\morgan\MMIJG32.dll c:\windows\SysWOW64
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\morgan\m3jpegSD.dll c:\windows\SysWOW64
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\morgan\MMIJG30.dll c:\windows\SysWOW64
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\x264VFW.dll c:\windows\SysWOW64
    if exist c:\windows\SysWOW64 xcopy /y v:\automazioneclip\system\pvmjpg40.dll c:\windows\SysWOW64
    
    md c:\windows\spvideo
    xcopy /y v:\automazioneclip\system\wavdest.ocx c:\windows\spvideo
    xcopy /y v:\automazioneclip\system\SamplesDropper.ocx c:\windows\spvideo
    xcopy /y v:\automazioneclip\system\SP_audio.ocx c:\windows\spvideo
    xcopy /y v:\automazioneclip\system\dv_grabber.ocx c:\windows\spvideo
    xcopy /y v:\automazioneclip\system\SP_video.ocx c:\windows\spvideo
    
    regsvr32 /s c:\windows\spvideo\wavdest.ocx
    regsvr32 /s c:\windows\spvideo\SamplesDropper.ocx
    regsvr32 /s c:\windows\spvideo\SP_audio.ocx
    regsvr32 /s c:\windows\spvideo\dv_grabber.ocx
    regsvr32 /s c:\windows\spvideo\SP_video.ocx
    
    regedit /s v:\automazioneclip\system\VDreg.reg
    regedit /s v:\automazioneclip\system\PICreg.reg
    regedit /s v:\automazioneclip\system\drivers.reg
    
    cls
    
    SetLocal DisableDelayedExpansion
    
    Set "EXTLIST=*.*"
    Set "DoPop=0"
    Set "ARGLVL=0"
    Set "FileName-DQ="
    Set VD_LOC="v:\automazioneclip\VirtualDub\vdub.exe"
    
    set "DestFolder=."
    Set "WorkFolder=%DestFolder%"
    
    rem process the arguments one by one
    :ARGS
    	
    	rem if there are no further arguments then exit the batch.
    	if [%1]==[] (
    		if "%ARGLVL%"=="0" (
    			CALL :GetTargetName		
    			EndLocal
    			pause
    		)
    		goto :eof
    	)
    
    	rem wildcard processing
    	Set "FileName=%~1"
    	if "%FileName%"=="" (
    		SHIFT
    		goto :ARGS
    	)
    
    	rem if the argument doesn't exist in the file system in any form skip it.
    	if NOT EXIST %1 (
    		SHIFT
    		goto :ARGS
    	)
    
    	if NOT [%1]==[] if NOT "%FileName:^*=%%FileName:^?=%"=="%FileName%%FileName%" (
    		for %%w in (%1) DO (
    			Set /a ARGLVL+=1
    			CALL :ARGS "%%~fw"
    			Set /a ARGLVL-=1
    		)
    		SHIFT
    		goto :ARGS
    	)
    	Set "FileName="
    		
    	rem Set search/recursion variables
    	Set "Pattern=%EXTLIST%"
    	Set "STARTLVL=0"
    	Set "FOUNDLVL=1024"
    	
    	rem if the argument is the current directory then process everything in it.
    	if "%~f1"=="%CD%" (
    		rem echo Processing Directory "%CD%"
    		CALL :START %1
    		SHIFT
    		goto :ARGS
    	)
    	rem Test if the argument is a directory, if it is move to it then process everything in it, if not then move to the file's parent directory and process the file.  Then return to starting directory.
    	Type NUL
    	pushd "%~f1" 2> nul
    	if NOT "%errorlevel%"=="0" (
    		if NOT "%CD%\"=="%~dp1" (
    			pushd "%~dp1"
    			Set "DoPop=1"
    		)
    		Set Pattern="%~nx1"
    	) else (
    		rem echo Processing Directory "%~f1"
    		Set "DoPop=1"
    	)
    	CALL :START %1
    	if "%DoPop%"=="1" (
    		popd
    		Set "DoPop=0"
    	)
    	SHIFT
    
    goto :ARGS
    
    :START <CURRENT_ARG>
    
    	rem Count is superseded by FOUNDLVL but may still be useful for renaming purposes
    	Set "Count=0"
    	rem Process all files in the current directory fitting the arguments search pattern.
    	for /f "delims=" %%y in ('dir %Pattern% /b /od /a-d') do (
    		if /I NOT "%%~y"=="File Not Found" CALL :Process_File "%%~fy"
    	)
    	rem if it didn't find anything search all directories instead
    goto :eof
    	if "%Count%"=="0" if %STARTLVL% LSS %FOUNDLVL% (
    		for /d %%b in (*) do (
    			pushd "%%~fb"
    			rem echo Processing Directory "%%~fb"
    			Set /a STARTLVL+=1
    			CALL :START "%%~fb"
    			Set /a STARTLVL-=1
    			popd
    		)
    	)
    
    goto :eof
    
    
    :Process_File <FILENAME>
    
    	Set /a Count+=1
    	Set "FOUNDLVL=%STARTLVL%"
    	SetLocal DisableDelayedExpansion
            if exist "%~dpn1.wav" (
            set "Audio=%~dpn1.wav"
            ) else (
            set "Audio=v:\automazioneclip\system\empty.wav")
            rem Find TimeCode Info
         	Set AUCount=0;
    	for /f "tokens=1,2 delims=^=" %%g in ('v:\automazioneclip\virtualdubmod\FFProbe -hide_banner -loglevel fatal -pretty -show_streams -select_streams v:0 -show_entries stream^=codec_type^,r_frame_rate^,width^,height^,sample_aspect_ratio:stream_disposition^=:format_tags^=timecode^,company_name^,product_name^,product_version "%~1" 2^>^&1') DO (
    		 if "%%~g"=="TAG:company_name" set "T_Company_Name=%%~h"
    		 if "%%~g"=="TAG:product_name" set "T_Product_Name=%%~h"
    		 if "%%~g"=="TAG:product_version" set "T_Product_Version=%%~h"
    		 if "%%~g"=="TAG:timecode" set "TIMECODE=%%~h"
                     if "%%~g"=="r_frame_rate" set "Frame_Rate=%%~h"
    		 if "%%~g"=="width" set "V_Width=%%~h"
    		 if "%%~g"=="height" set "V_Height=%%~h"
    		 if "%%~g"=="sample_aspect_ratio" set "V_PAR=%%~h"
    		 if "%%~g"=="codec_type" if "%%~h"=="audio" set /a AUCount+=1
    	)
    	if "%V_Width%"=="" (
    		echo  ERROR: Video Width NOT FOUND!
    		pause
    		goto :eof
    	)
    	if "%V_Height%"=="" (
    		echo  ERROR: Video Height NOT FOUND!
    		pause
    		goto :eof
    	)
            if "%Frame_Rate%"=="" (
    		echo  ERROR: Frame_Rate NOT FOUND!
    		)
    	if "%V_PAR%"=="" (
    		echo  ERROR: Video PAR NOT FOUND!
    		pause
    		goto :eof
    	)
    	rem Set "V_Q=UD"
    	rem if %V_Width% LEQ 1920 if %V_Height% LEQ 1120 \\
    	Set "V_Q=HD"
    	rem if %V_Width% LEQ 1280 if %V_Height% LEQ 752 Set "V_Q=MD"
    	if %V_Width% LEQ 1024 if %V_Height% LEQ 608 Set "V_Q=SD"
           	echo  Using %V_Q% Mode
    	echo  PAR = %V_PAR%
            echo  Frame_Rate = %Frame_Rate%
    	if "%TimeCode%"=="" echo Warning! no TimeCode Found!
    	if NOT "%TimeCode%"=="" echo Timecode= %TIMECODE%
    
            v:\automazioneclip\virtualdub\mediainfo.exe "%CD%\%~n1.mxf" dumpinfo:unicodefile.txt
            TYPE unicodefile.txt>mediainfo.txt
            findstr /c:"Codec ID                                 : 0D01030102020201-0401020202010200" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "dvcam=1")
            
            set "PROGRESSIVE=0"
            findstr /c:"Scan type                                : Progressive" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "PROGRESSIVE=1")
    
            set "doubleframrate=0"
            findstr /c:"Frame rate                               : 50.000 fps" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "doubleframrate=1")
               
            set "fullHD=0" 
            set "xdcamhd422=unknown"
            set "fps=unknown"
            set "ch_sub=unknown"
            findstr /c:"Commercial name                          : XDCAM HD422" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "xdcamhd422=yes")
            findstr /c:"Frame rate                               : 25.000 fps" "mediainfo.txt"  
            IF NOT ERRORLEVEL 1 (set "fps25=yes")
            findstr /c:"Chroma subsampling                       : 4:2:2" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "ch_sub=yes")
            if "%xdcamhd422%"=="yes" if  "%fps25%"=="yes" if "%ch_sub%"=="yes" set "fullHD=1"
    
            set "IMX=0"
            findstr /c:"Commercial name                          : IMX 50" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "IMX=1")
    
            set "XDCAM35=0" 
            set "xdcamhd422=unknown"
            set "fps=unknown"
            set "ch_sub=unknown"
            findstr /c:"Commercial name                          : XDCAM HD 35" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "xdcamhd35=yes")
            findstr /c:"Frame rate                               : 25.000 fps" "mediainfo.txt"  
            IF NOT ERRORLEVEL 1 (set "fps25=yes")
            findstr /c:"Chroma subsampling                       : 4:2:0" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "ch_sub=yes")
            if "%xdcamhd35%"=="yes" if  "%fps25%"=="yes" if "%ch_sub%"=="yes" set "XDCAM35=1"
    
    
    
            rem *** check if file is MXF and - at the same time - any HD
            Set "TokenS=0"
            Set "isMXF=0"
            set "HDformat=0"
            set "mxfHD422=0"
            set "mxfHD420=0"
            set "Ch_Sub422=unknown"
            set "Ch_Sub420=unknown"
    	if %V_Height% GEQ 720 (Set "HDformat=1")
            IF "%~x1"==".MXF" Set "TokenS=1" 
            IF "%~x1"==".mxf" Set "TokenS=1"
            If "%TokenS%"=="1" Set "isMXF=1"
            findstr /c:"Chroma subsampling                       : 4:2:2" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "Ch_Sub422=yes")
            findstr /c:"Chroma subsampling                       : 4:2:0" "mediainfo.txt"
            IF NOT ERRORLEVEL 1 (set "Ch_Sub420=yes")
    
            if "%isMXF%"=="1" if "%HDformat%"=="1" if "%Ch_Sub422%"=="yes" if "%PROGRESSIVE%"=="1" if "%doubleframrate%"=="1" (set "mxfHD422progressiveDoubleFrameRate=1")
    
    
            if "%isMXF%"=="1" if "%HDformat%"=="1" if "%Ch_Sub420%"=="yes" (set "mxfHD420=1")
         
            if "%fullHD%"=="1" (CALL :Make_File_HD2SD "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")
            
            if "%mxfHD422progressiveDoubleFrameRate%"=="1" (CALL :Make_File_mxfHD422progressivemode50fps "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")
            if "%mxfHD420%"=="1" (CALL :Make_File_mxfHD420 "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")
            
            if "%IMX%"=="1" (CALL :Make_File_IMX "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")  
            if "%xdcam35%"=="1" (CALL :Make_File_xdcam35 "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")
            if "%dvcam%"=="1" (CALL :Make_File_dvcam "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1")  
    
            if not "%mxfHD420%"=="1" if not "%mxfHD422progressiveDoubleFrameRate%"=="1" if not "%dvcam%"=="1" if not "%xdcam35%"=="1" if not "%IMX%"=="1" if not "%fullHD%"=="1"  CALL :Make_File_generic "%WorkFolder%\%~n1.vcf" "%WorkFolder%\%~n1.avs" "%WorkFolder%\%~n1.avi" "%~f1"
    
    	echo  FATTO
    	echo.
    	echo ---------------------------------------------
    	echo.
    	EndLocal
    	
    goto :eof
    
    :Make_File_HD2SD <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
    
    echo *** procedura da MXF HD 1920x1080 4:2:2 25fps a SD (morgan mjpeg) AVI usando solo virtualdub per velocizzare ***
    
             rem v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"
             rem v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav"
            
             echo VirtualDub.audio.SetSource^(0^);>%1
             echo VirtualDub.audio.SetMode^(0^);>>%1
             echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^);>>%1
             echo VirtualDub.audio.SetClipMode^(1,1^);>>%1
             echo VirtualDub.audio.SetEditMode^(1^);>>%1
             echo VirtualDub.audio.SetConversion^(0,0,0,0,0^);>>%1
             echo VirtualDub.audio.SetVolume^(^);>>%1
             echo VirtualDub.audio.SetCompression^(^);>>%1
             echo VirtualDub.audio.EnableFilterGraph^(0^);>>%1
             echo VirtualDub.video.SetInputFormat^(0^);>>%1
             echo VirtualDub.video.SetOutputFormat^(11^);>>%1
             echo VirtualDub.video.SetMode^(3^);>>%1
             echo VirtualDub.video.SetSmartRendering^(0^);>>%1
             echo VirtualDub.video.SetPreserveEmptyFrames^(0^);>>%1
             echo VirtualDub.video.SetFrameRate2^(0,0,1^);>>%1
             echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^);>>%1
             echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^);>>%1
             echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^);>>%1
             echo VirtualDub.video.filters.Clear^(^);>>%1
             echo VirtualDub.video.filters.Add^("alias format"^);>>%1
             echo VirtualDub.video.filters.instance[0].Config^(2, 0^);>>%1
             echo VirtualDub.video.filters.Add^("deinterlace"^);>>%1
             echo VirtualDub.video.filters.instance[1].Config^(0,1,1^);>>%1
             echo VirtualDub.video.filters.Add^("resize"^);>>%1
             echo VirtualDub.video.filters.instance[2].Config^(720,576,0,4,3,0,320,240,4,3,0,135,1,0x000000^);>>%1
             echo VirtualDub.video.filters.Add^("interlace"^);>>%1
             echo VirtualDub.video.filters.instance[3].Config^(0, 0^);>>%1
             echo VirtualDub.video.filters.Add^("convert format"^);>>%1
             echo VirtualDub.video.filters.instance[4].Config^(39^);>>%1
             echo VirtualDub.audio.filters.Clear^(^);>>%1
     if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
     if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1
    	 echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^);>>%1
    	 echo VirtualDub.Close^(^);>>%1
    
    
     %VD_LOC% /min %4 /s %1
        	 for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           rem DEL "%DestFolder%\*.VCF"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
    
           
     goto :eof
    
    
    
    
    :Make_File_mxfHD422progressivemode50fps <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
    
    echo *** procedura da MXF HD 4:2:2 PROGRESSIVO qualsiasi risoluzione HD tranne fullHD da ridurre a SD (morgan mjpeg) AVI usando solo virtualdub per velocizzare ***
    pause
             v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"
             v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav"
            
             echo VirtualDub.audio.SetSource^(0^);>%1
             echo VirtualDub.audio.SetMode^(0^);>>%1
             echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^);>>%1
             echo VirtualDub.audio.SetClipMode^(1,1^);>>%1
             echo VirtualDub.audio.SetEditMode^(1^);>>%1
             echo VirtualDub.audio.SetConversion^(0,0,0,0,0^);>>%1
             echo VirtualDub.audio.SetVolume^(^);>>%1
             echo VirtualDub.audio.SetCompression^(^);>>%1
             echo VirtualDub.audio.EnableFilterGraph^(0^);>>%1
             echo VirtualDub.video.SetInputFormat^(0^);>>%1
             echo VirtualDub.video.SetOutputFormat^(11^);>>%1
             echo VirtualDub.video.SetMode^(3^);>>%1
             echo VirtualDub.video.SetSmartRendering^(0^);>>%1
             echo VirtualDub.video.SetPreserveEmptyFrames^(0^);>>%1
             echo VirtualDub.video.SetFrameRate2^(0,0,1^);>>%1
             echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^);>>%1
             echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^);>>%1
             echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^);>>%1
             echo VirtualDub.video.filters.Clear^(^);>>%1
             echo VirtualDub.video.filters.Add^("alias format"^);>>%1
             echo VirtualDub.video.filters.instance[0].Config^(2, 0^);>>%1
             echo VirtualDub.video.filters.Add^("resize"^);>>%1
             echo VirtualDub.video.filters.instance[1].Config^(720,576,0,4,3,0,320,240,4,3,0,135,1,0x000000^);>>%1
             echo VirtualDub.video.filters.Add^("interlace"^);>>%1
             echo VirtualDub.video.filters.instance[2].Config^(0, 0^);>>%1
             echo VirtualDub.video.filters.Add^("convert format"^);>>%1
             echo VirtualDub.video.filters.instance[3].Config^(32^);>>%1
             echo VirtualDub.audio.filters.Clear^(^);>>%1
             if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
             if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1
    	 echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^);>>%1
    	 echo VirtualDub.Close^(^);>>%1
    
     %VD_LOC% /min %4 /s %1
        	 for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           DEL "%DestFolder%\*.VCF"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
    
           
     goto :eof
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    :Make_File_xdcam35 <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
    
    echo *** procedura da MXF HD 1440x1080 4:2:0 25fps a SD (morgan mjpeg) AVI usando solo virtualdub per velocizzare ***
    
             v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"
             v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav"
            
             echo VirtualDub.audio.SetSource^(0^);>%1
             echo VirtualDub.audio.SetMode^(0^);>>%1
             echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^);>>%1
             echo VirtualDub.audio.SetClipMode^(1,1^);>>%1
             echo VirtualDub.audio.SetEditMode^(1^);>>%1
             echo VirtualDub.audio.SetConversion^(0,0,0,0,0^);>>%1
             echo VirtualDub.audio.SetVolume^(^);>>%1
             echo VirtualDub.audio.SetCompression^(^);>>%1
             echo VirtualDub.audio.EnableFilterGraph^(0^);>>%1
             echo VirtualDub.video.SetInputFormat^(0^);>>%1
             echo VirtualDub.video.SetOutputFormat^(11^);>>%1
             echo VirtualDub.video.SetMode^(3^);>>%1
             echo VirtualDub.video.SetSmartRendering^(0^);>>%1
             echo VirtualDub.video.SetPreserveEmptyFrames^(0^);>>%1
             echo VirtualDub.video.SetFrameRate2^(0,0,1^);>>%1
             echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^);>>%1
             echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^);>>%1
             echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^);>>%1
             echo VirtualDub.video.filters.Clear^(^);>>%1
             echo VirtualDub.video.filters.Add^("Auto YUY2 v1.2.0"^);>>%1
             echo VirtualDub.video.filters.instance[0].Config^(0, 1, 4^);>>%1
             echo VirtualDub.video.filters.Add^("alias format"^);>>%1
             echo VirtualDub.video.filters.instance[1].Config^(2, 0^);>>%1
             echo VirtualDub.video.filters.Add^("deinterlace"^);>>%1
             echo VirtualDub.video.filters.instance[2].Config^(0,1,1^);>>%1
             echo VirtualDub.video.filters.Add^("resize"^);>>%1
             echo VirtualDub.video.filters.instance[3].Config^(720,576,0,4,3,0,320,240,4,3,0,135,1,0x000000^);>>%1
             echo VirtualDub.video.filters.Add^("interlace"^);>>%1
             echo VirtualDub.video.filters.instance[4].Config^(0, 0^);>>%1
             echo VirtualDub.video.filters.Add^("convert format"^);>>%1
             echo VirtualDub.video.filters.instance[5].Config^(39^);>>%1
             echo VirtualDub.audio.filters.Clear^(^);>>%1
             if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
             if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1
    	 echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^);>>%1
    	 echo VirtualDub.Close^(^);>>%1
    
     %VD_LOC% /min %4 /s %1
        	 for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           DEL "%DestFolder%\*.VCF"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
    
           
     goto :eof
    
    :Make_File_IMX <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
    
    echo *** procedura da MXF IMX a morgan mjpeg AVI usando solo virtualdub per velocizzare ***
    
    
            v:\automazioneclip\core\ffmpeg.exe -loglevel fatal -y -i %4 -map_channel 0.1.0 -map_channel 0.1.1 -af "volume=volume=9dB:precision=fixed" "%DestFolder%\%~n1_SD.wav"
            v:\automazioneclip\core\ffmpeg.exe -loglevel fatal -y -i %4 -map_channel 0.1.2 -map_channel 0.1.3 -af "volume=volume=9dB:precision=fixed" "%DestFolder%\%~n1ch3ch4_SD.wav"
    
    	rem ***Make The .vcf Script File***
    	echo VirtualDub.audio.SetSource^(0^)^;>%1
    	echo VirtualDub.audio.SetMode^(0^)^;>>%1
    	echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^)^;>>%1
    	echo VirtualDub.audio.SetClipMode^(1,1^)^;>>%1
    	echo VirtualDub.audio.SetEditMode^(1^)^;>>%1
    	echo VirtualDub.audio.SetConversion^(0,0,0,0,0^)^;>>%1
    	echo VirtualDub.audio.SetVolume^(^)^;>>%1
    	echo VirtualDub.audio.SetCompression^(^)^;>>%1
    	echo VirtualDub.audio.EnableFilterGraph^(0^)^;>>%1
    	echo VirtualDub.video.SetInputFormat^(0^)^;>>%1
    	echo VirtualDub.video.SetOutputFormat^(11^)^;>>%1
    	echo VirtualDub.video.SetMode^(3^)^;>>%1
    	echo VirtualDub.video.SetSmartRendering^(0^)^;>>%1
    	echo VirtualDub.video.SetPreserveEmptyFrames^(0^)^;>>%1
    	echo VirtualDub.video.SetFrameRate2^(0,0,1^)^;>>%1
    	echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^)^;>>%1
    	echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^)^;>>%1
    	echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^)^;>>%1
    	echo VirtualDub.video.filters.Clear^(^);>>%1
    	echo VirtualDub.video.filters.Add^("null transform"^)^;>>%1
    	echo VirtualDub.video.filters.instance[0].SetClipping^(0,32,0,0^)^;>>%1
            echo VirtualDub.audio.filters.Clear^(^);>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^)^;>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^)^;>>%1
    	echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^)^;>>%1
    	echo VirtualDub.Close^(^)^;>>%1
    
            %VD_LOC% /min %4 /s %1
        	 for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           DEL "%DestFolder%\*.VCF"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           
    goto :eof
    
    
    :Make_File_dvcam <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
            echo *** procedura DVCAM versus SD AVI (Morgan) solo virtualdub per velocizzare ***
            echo  Frame_Rate = %Frame_Rate%
    pause
            v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"
            v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav"
    
    
            rem ***Make The .vcf Script File***
    	echo VirtualDub.audio.SetSource^(0^)^;>%1
    	echo VirtualDub.audio.SetMode^(0^)^;>>%1
    	echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^)^;>>%1
    	echo VirtualDub.audio.SetClipMode^(1,1^)^;>>%1
    	echo VirtualDub.audio.SetEditMode^(1^)^;>>%1
    	echo VirtualDub.audio.SetConversion^(0,0,0,0,0^)^;>>%1
    	echo VirtualDub.audio.SetVolume^(^)^;>>%1
    	echo VirtualDub.audio.SetCompression^(^)^;>>%1
    	echo VirtualDub.audio.EnableFilterGraph^(0^)^;>>%1
    	echo VirtualDub.video.SetInputFormat^(0^)^;>>%1
    	echo VirtualDub.video.SetOutputFormat^(11^)^;>>%1
    	echo VirtualDub.video.SetMode^(3^)^;>>%1
    	echo VirtualDub.video.SetSmartRendering^(0^)^;>>%1
    	echo VirtualDub.video.SetPreserveEmptyFrames^(0^)^;>>%1
    	echo VirtualDub.video.SetFrameRate2^(0,0,1^)^;>>%1
    	echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^)^;>>%1
    	echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^)^;>>%1
    	echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^)^;>>%1
    	echo VirtualDub.video.filters.Clear^(^);>>%1
            echo VirtualDub.video.filters.Add^("Auto YUY2 v1.2.0"^);>>%1
            echo VirtualDub.video.filters.instance[0].Config^(0, 1, 4^);>>%1
            echo VirtualDub.video.filters.Add^("field delay"^);>>%1
            echo VirtualDub.video.filters.instance[1].Config^(0^);>>%1
            echo VirtualDub.video.filters.Add^("convert format"^);>>%1
            echo VirtualDub.video.filters.instance[2].Config^(11^);>>%1
            echo VirtualDub.audio.filters.Clear^(^);>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1
    	echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^);>>%1
    	echo VirtualDub.Close^(^);>>%1
    
            %VD_LOC% /min %4 /s %1
        	 for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
           DEL "%DestFolder%\*.VCF"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
          
    goto :eof
    
    
    :Make_File_generic <VCF_FILENAME> <AVS_FILENAME> <FILENAME> <ORG_FILENAME>
    
    echo inizio routine generic
    
    pause
    
            rem *** TRY extract audio from .MXF IMX SD FILE ***
            Set "TokenS=0"
            IF "%~x4"==".MXF" Set "TokenS=1" 
            IF "%~x4"==".mxf" Set "TokenS=1"
            If "%TokenS%"=="1" (if "%V_Width%"=="720" (v:\automazioneclip\core\ffmpeg.exe -loglevel fatal -y -i %4 -map_channel 0.1.0 -map_channel 0.1.1 -af "volume=volume=9dB:precision=fixed" "%DestFolder%\%~n1_SD.wav"))
            If "%TokenS%"=="1" (if "%V_Width%"=="720" (v:\automazioneclip\core\ffmpeg.exe -loglevel fatal -y -i %4 -map_channel 0.1.2 -map_channel 0.1.3 -af "volume=volume=9dB:precision=fixed" "%DestFolder%\%~n1ch3ch4_SD.wav"))
    
            rem *** TRY extract audio from .MXF XDCAM-HD 4:2:2 FILE ***
            Set "TokenS=0"
            IF "%~x4"==".MXF" Set "TokenS=1" 
            IF "%~x4"==".mxf" Set "TokenS=1"
            If "%TokenS%"=="1" (if "%V_Width%"=="1920" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"))
            If "%TokenS%"=="1" (if "%V_Width%"=="1920" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav")) 
    
            rem *** TRY extract audio from .MXF DVCAM ***
            Set "TokenS=0"
            IF "%~x4"==".MXF" Set "TokenS=1" 
            IF "%~x4"==".mxf" Set "TokenS=1"
            If "%TokenS%"=="1" (if "%dvcam%"=="1" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] [0:2] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav"))
            If "%TokenS%"=="1" (if "%dvcam%"=="1" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:3] [0:4] amerge,volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1ch3ch4_SD.wav"))   
    
            rem *** TRY extract audio from GOPRO MP4 file ***
            Set "TokenS=0"
            IF "%~x4"==".MP4" Set "TokenS=1" 
            IF "%~x4"==".mp4" Set "TokenS=1"
            If "%TokenS%"=="1" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:1] volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav")
    
            rem *** TRY extract audio from .MP4 OTHER TYPE ***
            Set "TokenS=0"
            IF "%~x4"==".MP4" Set "TokenS=1" 
            IF "%~x4"==".mp4" Set "TokenS=1"
            If "%TokenS%"=="1" (v:\automazioneclip\core\ffmpeg.exe  -y -i %4 -filter_complex "[0:0] volume=1.5" -c:a pcm_s16le "%DestFolder%\%~n1_SD.wav")
                            
            echo *** from various format to MorganMJPEG AVI SD 720x576i@25fps using Avisynth+Virtualdub ***
         	
            rem ***Make The .vcf Script File***
    	echo VirtualDub.audio.SetSource^(0^);>%1
    	echo VirtualDub.audio.SetMode^(0^);>>%1
    	echo VirtualDub.audio.SetInterleave^(1,500,1,0,0^);>>%1
    	echo VirtualDub.audio.SetClipMode^(1,1^);>>%1
    	echo VirtualDub.audio.SetEditMode^(1^);>>%1
    	echo VirtualDub.audio.SetConversion^(0,0,0,0,0^);>>%1
    	echo VirtualDub.audio.SetVolume^(^);>>%1
    	echo VirtualDub.audio.SetCompression^(^);>>%1
    	echo VirtualDub.audio.EnableFilterGraph^(0^);>>%1
    	echo VirtualDub.video.SetInputFormat^(0^);>>%1
    	echo VirtualDub.video.SetOutputFormat^(11^);>>%1
            echo VirtualDub.video.SetMode^(1^);>>%1
            echo VirtualDub.video.SetSmartRendering^(0^);>>%1
    	echo VirtualDub.video.SetPreserveEmptyFrames^(0^);>>%1
    	echo VirtualDub.video.SetFrameRate2^(0,0,1^);>>%1
    	echo VirtualDub.video.SetIVTC^(0, 0, 0, 0^);>>%1
    	echo VirtualDub.video.SetCompression^(0x6a6d7674,0,10000,0^);>>%1
    	echo VirtualDub.video.SetCompData^(28,"TUpQRxgAAAAAAAAAAgAAAAgAAAACAAAAAQAAAA=="^);>>%1
    	echo VirtualDub.video.filters.Clear^(^);>>%1
            echo VirtualDub.video.filters.Add^("deinterlace"^);>>%1
            echo VirtualDub.video.filters.instance[0].Config^(0,1,1^);>>%1
            echo VirtualDub.video.filters.Add^("resize"^);>>%1
            echo VirtualDub.video.filters.instance[1].Config^(720,576,0,4,3,0,320,240,4,3,0,135,1,0x000000^);>>%1
            echo VirtualDub.video.filters.Add^("interlace"^);>>%1
            echo VirtualDub.video.filters.instance[2].Config^(0, 0^);>>%1
            echo VirtualDub.audio.filters.Clear^(^);>>%1        
            echo VirtualDub.audio.filters.Clear^(^);>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
            if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1
    	echo VirtualDub.SaveAVI^("%DestFolder%\\%~n1_SD.avi"^);>>%1
    	echo VirtualDub.Close^(^);>>%1
    
    
     rem ***Make The .avs Script File***
          
            echo Import("C:\Program Files\AviSynth\plugins\IResize.avsi")>%2
            echo FFVideoSource^(%4^)>>%2
            echo ConvertToYUY2^(interlaced=true^)>>%2
            if "%dvcam%"=="1" echo ReverseFieldDominance^(^)>>%2
            echo src = last >>%2
            echo src = src.width==720^&^&src.height==608?src.crop^(0,32,0,0^):src >>%2
            echo src = src.width==1920 ^&^& src.height==1088 ? src.crop^(0,0,1920,1080^): src >>%2
            echo src = src.width^>720 ^|^| src.height^>608?src.ColorMatrix^(mode="Rec.709->Rec.601"^): src >>%2
            echo src.width!=720 ^|^| src.height!=576 ? src.IResize^(720,576^): src >>%2
            if "%Frame_Rate%" == "50/1" echo src.framerate^<26 ? AssumeTFF^(^).SeparateFields^(^).SelectEvery^(4,0,3^).Weave^(^) >>%2
            echo AssumeFPS^(25^)>>%2
                    
            echo processing source file %4
        
            rem ***Call VirtualDub***
    	if NOT EXIST %VD_LOC% (
    		echo  Um, where the hell is VirtualDubMod?
    		pause
    	)
    	
            %VD_LOC% /min %2 /s %1
        	
           
    	for %%v in ("%DestFolder%\\%~n1_SD.avi") do (
    		if %%~zv LSS 128 (
    			echo  ERROR!!!  Extra Small File Size Detected!!!
    			pause
    		)
    	)
           
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
          
           DEL "%DestFolder%\*.ffindex"
           DEL "%DestFolder%\*.VCF"
           rem DEL "%DestFolder%\*.avs"
           DEL "%DestFolder%\unicodefile.txt"
           DEL "%DestFolder%\mediainfo.txt"
          
           v:\automazioneclip\virtualdub\cfourcc.exe -i "%CD%\%~n1_SD.avi" -u MJPG -d MJPG
          
           goto :eof
    
    :GetTargetName
    
    	Set "FileName="
    	Set /p FileName=InputFileName .mxf .mp4 or .avi or InputFolder - INVIO per convertire tutto (EXIT esce):
    	
    	rem Add or remove double-quotes if necessary
    
    	if NOT DEFINED FileName (
    		Set "FileName-DQ="
    		goto :DQSkip
    	)
    	
    	Set "FileName-DQ=%FileName:"=%"
    	if NOT DEFINED FileName-DQ (
    		Set "FileName="
    		Set "FileName-DQ="
    		goto :DQSkip
    	)
    	
    	if EXIST "%FileName-DQ%" (
    		if "%FileName-DQ%"=="%FileName-DQ: =%" (
    			Set "FileName=%FileName-DQ%"
    		) else (
    			Set FileName="%FileName-DQ%"
    		)
    	)
    
    :DQSkip
    
    	if /I "%FileName-DQ%"=="" Set FileName="%CD%"
    	if /I "%FileName-DQ%"=="CD" Set FileName="%CD%"
    	if /I "%FileName-DQ%"=="EXIT" goto :eof
    	if /I "%FileName-DQ%"=="NOEXIT" goto :GetTargetName
    	if DEFINED FileName (
    		Set /a ARGLVL+=1
    		CALL :ARGS %FileName%
    		Set /a ARGLVL-=1
    	)
    	
    goto :GetTargetName
    I do all this to work on the Big Speed Razor for cats HD 3.1

    Recentrly I have add in the batch the directly use of virtualdub, avoiding virtualdubmod

    using the lines:

    if NOT "%TimeCode%"=="" echo VirtualDub.project.ClearTextInfo^(^);>>%1
    if NOT "%TimeCode%"=="" echo VirtualDub.project.AddTextInfo^("ISMP", "%TIMECODE%"^);>>%1

    and modifing the virtualdub.exe so that now virtualdub directly write .avi with timecode

    Click image for larger version

Name:	VD5.jpg
Views:	190
Size:	355.0 KB
ID:	27766


    Originally Posted by poisondeathray View Post
    Wasn't all this discussed over and over again a few times ? You need to low pass when you make SD interlaced. Sharp = bad for interlace


    yes: in avisynth. But I decide, or at least I try, to do all .mxf conversion in virtualdub because avisynth employ too much time to indexing
    so I try to do all in virtualdub. In fact in this post I try to reduce a 50P to 50i SD, and fullHD... with virtualdub.

    So if I need to low pass, in virtualdub what is correct this to transcode my cat C0016.mxf into SD?

    Click image for larger version

Name:	SRF.jpg
Views:	234
Size:	54.3 KB
ID:	27765

    [to tell the truth as I put the lanczos resize filter in but I'm afraid it is not very right ]


    Originally Posted by poisondeathray View Post
    If source is already aliased, consider using antialiasing (AA) filters first
    virtualdub have this filter? ^^
    Last edited by marcorocchini; 29th Sep 2014 at 19:23.
    Quote Quote  
  25. Does your HD 4:2:2 camcorder shoot full HD interlace? I remember your sample, it was full HD interlace, some people dancing , while ago. So batch deinterlace it to 720p, 1080i to 720p gives good result, if your camcorder cannot do that, interpolate it to 720p, do it yourself properly.

    You do deinterlace , resize again and again with some GUI interface, I thought it is clear it has to be done properly in Avisynth, you start to go in circles. If you give some encoder a video and let it downscale or whatever it will be screwed up at some point, encoder, converter has to just encode, nothing else.
    Quote Quote  
  26. Originally Posted by _Al_ View Post
    you start to go in circles.

    Name:  1253612165_cat_running_around.gif
Views: 1166
Size:  344.2 KB

    yep. Wasn't all this discussed already ? A few times with avisynth, a few times with ffmpeg, a few with vdub.

    deja vu all over again !
    Quote Quote  
  27. C0016.mxf:

    https://www.dropbox.com/s/utp5oe5t7sudjrj/C0016.MXF?dl=0

    is this:

    Video
    ID : 2
    Format : MPEG Video
    Commercial name : XDCAM HD422
    Format version : Version 2
    Format profile : 4:2:2@High
    Format settings, BVOP : Yes
    Format settings, Matrix : Custom
    Format settings, GOP : M=3, N=12
    Format_Settings_Wrapping : Frame
    Codec ID : 0D01030102046001-0401020201040300
    Duration : 59s 640ms
    Bit rate : 50.0 Mbps
    Width : 1 280 pixels
    Height : 720 pixels
    Display aspect ratio : 16:9
    Frame rate : 50.000 fps
    Standard : Component
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bits
    Scan type : Progressive
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 1.085
    Stream size : 355 MiB (83%)
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709


    And C0014.mxf is this

    https://www.dropbox.com/s/va74tph4qlk0p3o/C0014.MXF?dl=0

    Video
    ID : 2
    Format : MPEG Video
    Commercial name : XDCAM HD422
    Format version : Version 2
    Format profile : 4:2:2@High
    Format settings, BVOP : Yes
    Format settings, Matrix : Custom
    Format settings, GOP : M=3, N=12
    Format_Settings_Wrapping : Frame
    Codec ID : 0D01030102046001-0401020201040300
    Duration : 38s 320ms
    Bit rate : 50.0 Mbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps
    Standard : Component
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bits
    Scan type : Interlaced
    Scan order : Top Field First
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 0.965
    Stream size : 228 MiB (83%)
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Camcorder I think it can record in fullHD interlace, but in this moment I try do to a batch that convert all possible combinations of xdcam formats ---> in SD 720x576, and 1920x1080 .avi MJPEG files

    With my camera I can shoot only @ 1920x1080 interlace... and all is "ok".

    it could happen that a colleague-camera operator come to me and deliver material filmed in a different format, e.g. ... 1280x720/50P: being that these broadcast camcorders (sony pdw-f335, pdw-700, pdw-800) can record in a various formats and, at least in italy, is not well defined a format, everyone tends to use the format that arbitrarily prefer. Edius import all, but speed razor (at the moment :=)) no. But now I do a batch that ask you: want you all in SD or fullHD? and it do all .. problem solved.

    In avisynth I have do the script and seems work well but the ffms2 is too slow loading .mxf due to the indexing. In fact here I try to use only virtualdub, at least for .mxf files
    Quote Quote  
  28. Originally Posted by poisondeathray View Post
    Originally Posted by _Al_ View Post
    you start to go in circles.

    Image
    [Attachment 27767 - Click to enlarge]


    yep. Wasn't all this discussed already ?
    avisynth yes, virtualdub no: YUY2 correct conversion, rec.601 <--> rec.709 only in this days I'm able to do that.

    Nobody seems able to do this operation in virtualdub. Me and my 5 cats have try but we don't expert as you ^^

    And now the problem of virtualdub: using 50P source, when you use the "Interlaced" filter via .vcf it get the problem of the duration
    Quote Quote  
  29. Originally Posted by marcorocchini View Post
    Originally Posted by poisondeathray View Post
    Originally Posted by _Al_ View Post
    you start to go in circles.

    Image
    [Attachment 27767 - Click to enlarge]


    yep. Wasn't all this discussed already ?
    avisynth yes, virtualdub no: YUY2 correct conversion, rec.601 <--> rec.709 only in this days I'm able to do that.

    And now the problem of virtualdub: using 50P source, when you use the "Interlaced" filter via .vcf it get the problem of the duration
    We are talking about fundamental properties of digital video: too sharp = aliasing. There's no difference between VirtualDub and AviSynth in this respect. Don't you have the ability to take what you learned in one place and apply it in another?
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!