PDA

View Full Version : could use help with dropped frames


code
23rd September 2002, 13:09
Im currently encoding S.Kubricks "Barry Lyndon", using nandub.
The compressability test in GK gave me 70%.
drf analyser reported me 100s of dropped frames, a small number of frames were between drf 5-11.

This is the 1st time i get such a high amount of dropps , and to boost my movitation to start trial run nr xxx, i could use(beside some hints) some feedback on the following :

"you get dropped frames if the bitreservoir is empty. to compensate for that you have to increase the min gauge. limiting drf to 2-5 will in this case only improve dropped frames."


bitrate is 910, and im also trying to keep my filesize under control,


============ VCF FILE ==============
VirtualDub.audio.SetSource(0);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio2.SetSource(0);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetRange(0,0);
VirtualDub.video.SetDivX(910,10);
VirtualDub.video.SetQualityControl(0,0,0,0);
VirtualDub.video.SetMotionDetection(8,10,300,300);
VirtualDub.video.SetCrispness(30,0);
VirtualDub.video.SpaceKF(24);
VirtualDub.video.InternalSCD(100);
VirtualDub.video.SetMinKBPS(350);
VirtualDub.video.SetCurveFile("Y:\\BARRY_LYNDON\\VIDEO_TS\\bl_Bilinear_544x336.stats");
VirtualDub.video.SetCurveMcFactor(0);
VirtualDub.video.SetCurveCompression(25,3);
VirtualDub.video.SetCurveFilter(270,2300);
VirtualDub.video.SetCurveCredits(0,350);
VirtualDub.video.SetLumaCorrectionAmp(1,10,30);
VirtualDub.video.SetCurveRedist(1);
// VirtualDub.video.CalcCurveCompression();
VirtualDub.video.SetCompLevelsMain(2,16);
VirtualDub.video.SetCompLevelsA(300,3,16);
VirtualDub.video.SetCompLevelsB(300,4,16);
VirtualDub.video.SetCompLevelsC(300,5,16);
VirtualDub.video.SetCompLevelsD(300,6,16);
VirtualDub.video.SetCompLevelsE(300,7,16);
VirtualDub.video.SetCompLevelK(2,31);
VirtualDub.video.SetBitsReservoir(0,35,30,75,45,0);
VirtualDub.video.SetLowBrCorrection(1,1);
VirtualDub.video.NoAVIOutput(0);
VirtualDub.video.GenStats("",0);
VirtualDub.video.SetEncodingControl("");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("null transform");
VirtualDub.video.filters.instance[0].SetClipping(2,51,2,50);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[1].Config(544,336,1);
VirtualDub.subset.Delete();
VirtualDub.brc.Set( 0, 645 );
VirtualDub.brc.Set( 1, 1 );
VirtualDub.brc.Set( 2, 128 );
VirtualDub.brc.Set( 3, 0 );
VirtualDub.brc.Set( 4, 1 );
+++++++++++++++++++++++++++++++++++++++

Rainy
25th September 2002, 01:08
VirtualDub.audio.SetSource(0);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio2.SetSource(0);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetRange(0,0);
VirtualDub.video.SetDivX(910,10);
VirtualDub.video.SetQualityControl(1,0,0,0);
VirtualDub.video.SetMotionDetection(8,10,300,300);
VirtualDub.video.SetCrispness(30,0);
VirtualDub.video.SpaceKF(24);
VirtualDub.video.InternalSCD(100);
VirtualDub.video.SetMinKBPS(350);
VirtualDub.video.SetCurveFile("Y:\\BARRY_LYNDON\\VIDEO_TS\\bl_Bilinear_544x336.stats");
VirtualDub.video.SetCurveMcFactor(30);
VirtualDub.video.SetCurveCompression(25,3);
VirtualDub.video.SetCurveFilter(270,2300);
VirtualDub.video.SetCurveCredits(0,350);
VirtualDub.video.SetLumaCorrectionAmp(1,10,30);
VirtualDub.video.SetCurveRedist(1);
// VirtualDub.video.CalcCurveCompression();
VirtualDub.video.SetCompLevelsMain(2,6);
VirtualDub.video.SetCompLevelsA(300,3,16);
VirtualDub.video.SetCompLevelsB(300,4,16);
VirtualDub.video.SetCompLevelsC(300,5,16);
VirtualDub.video.SetCompLevelsD(300,6,16);
VirtualDub.video.SetCompLevelsE(300,7,16);
VirtualDub.video.SetCompLevelK(2,4);
VirtualDub.video.SetBitsReservoir(5,35,30,80,45,0);
VirtualDub.video.SetLowBrCorrection(1,1);
VirtualDub.video.NoAVIOutput(0);
VirtualDub.video.GenStats("",0);
VirtualDub.video.SetEncodingControl("");
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("null transform");
VirtualDub.video.filters.instance[0].SetClipping(2,51,2,50);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[1].Config(544,336,1);
VirtualDub.subset.Delete();
VirtualDub.brc.Set( 0, 645 );
VirtualDub.brc.Set( 1, 1 );
VirtualDub.brc.Set( 2, 128 );
VirtualDub.brc.Set( 3, 0 );
VirtualDub.brc.Set( 4, 1 );


Marked settings could be your problem and also your max. gauge was set to 75 and this could be the main reason which causes dropped frames. I've changed the settings and now it should be ok.

code
25th September 2002, 13:50
i have made those changes, and did a run on the 1st two minutes on the movie.

the drf analyser still reported me alot of dropps, and also 1 frame of drf 20.

it it possible that this extreme frame causes those dropps?
i'm not sure but i think i saw a post about dealing with uncontrollable drf's, and tweaking gauge to compensate that... again, i cannot confirm that.

code
28th September 2002, 17:07
I am encoding another movie in which i have the same problem.
Its at the beginning of the movie (black picture, slowly introducing white text), so motion is very low.

Im currently clueless how to get rid of those framedropps,
i only know DRF analyser so if i switch to divx5 i will probably not be able to find out if frames were dropped or not.....


:(