Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 Doom9's Forum AutoGordianKnot and Bitrate Calculate
 User Name Remember Me? Password
 Register FAQ Calendar Search Today's Posts Mark Forums Read

 Thread Tools Search this Thread Display Modes
 28th September 2007, 07:38 #1  |  Link ceearrashee Registered User   Join Date: Sep 2007 Posts: 3 AutoGordianKnot and Bitrate Calculate Hello all! I makes many experiments, and get interest result... if use this script for video: QMotioFilter.avs Code: ```LoadPlugin("D:\Programs\AviSynth 2.5\plugins\mpeg2dec3.dll") LoadPlugin("D:\Programs\AviSynth 2.5\plugins\decomb.dll") LoadPlugin("D:\Programs\AviSynth 2.5\plugins\TemporalCleaner.dll") LoadPlugin("D:\Programs\AviSynth 2.5\plugins\FluxSmooth25.dll") LoadPlugin("D:\Programs\AviSynth 2.5\plugins\UnFilter.dll") Import("d:\Install\MultiMedia\Converters\VirtualDubMod_1_5_10_1_All_inclusive\qmf.avs") function Low_Motion_Filter(clip c) { c = TemporalCleaner(c, 5, 10) c = LanczosResize(c, Width(c), Height(c)) return c } function Medium_Motion_Filter(clip c) { c = FluxSmooth(c, 7, 7) c = BicubicResize(c, Width(c), Height(c), 0.00, 0.50) return c } function High_Motion_Filter(clip c) { c = FluxSmooth(c, -1, 14) c = UnFilter(c, -30, -30) c = BilinearResize(c, Width(c), Height(c)) return c } DirectShowSource("D:\Video\Test.avi").KillAudio() ConvertToYV12() Telecide(0) QMF()``` QMF.avs Code: ```function ME() { global motion_level = (diff < threshold_lm) ? 0 : motion_level global motion_level = (diff >= threshold_lm && diff <= threshold_hm) ? 1 : motion_level global motion_level = (diff > threshold_hm) ? 2 : motion_level } function QMF(clip c, float "threshold_lm", float "threshold_hm", bool "debug") { threshold_lm = default(threshold_lm, 4.0) threshold_hm = default(threshold_hm, 12.0) global threshold_lm = threshold_lm global threshold_hm = threshold_hm debug = default(debug, false) global motion_level = 0 global clip = c width = Width(Low_Motion_Filter(c)) height = Height(Low_Motion_Filter(c)) global c_resized = PointResize(c, width, height) c = ConditionalFilter(c, Low_Motion_Filter(c), c_resized, "motion_level", "=", "0") # [6a] c = ConditionalFilter(c, Medium_Motion_Filter(c), c, "motion_level", "=", "1") # [6b] c = ConditionalFilter(c, High_Motion_Filter(c), c, "motion_level", "=", "2") # [6c] c = (debug == true) ? ScriptClip(c, "Debug()") : c c = FrameEvaluate(c, "ME()") c = FrameEvaluate(c, "global diff = 0.50*YDifferenceFromPrevious(clip) + 0.25*UDifferenceFromPrevious(clip) + 0.25*VDifferenceFromPrevious(clip)") // Set Output File c = WriteFile(c,"e:\temp\Motion.log","motion_level") c = Crop(c,0,0,4,4) return c } function Debug(clip c) { c = Subtitle(c, "Quantified Motion Filter", x=20, y=30, font="lucida console", size=18, text_color=\$FFFFFF) c = Subtitle(c, "by HomiE FR (homie.fr@wanadoo.fr)", x=20, y=45, font="lucida console", size=14, text_color=\$FFFFFF) c = Subtitle(c, "motion estimation", x=20, y=85, font="lucida console", size=18, text_color=\$FFFFFF) c = Subtitle(c, "diff = "+string(diff), x=20,y=110, font="lucida console", size=16, text_color=\$FFCCCC) c = Subtitle(c, "quantified motion filter", x=20, y=135, font="lucida console", size=18, text_color=\$FFFFFF) c = (motion_level == 0) ? Subtitle(c, "scene type = low motion", x=20, y=160, font="lucida console", size=16, text_color=\$66FF66) : c c = (motion_level == 1) ? Subtitle(c, "scene type = medium motion", x=20, y=160, font="lucida console", size=16, text_color=\$66FF66) : c c = (motion_level == 2) ? Subtitle(c, "scene type = high motion", x=20, y=160, font="lucida console", size=16, text_color=\$66FF66) : c return c }``` We will get log file with frame = motion quality, sum all id in log and division it on frame count. We have number - it is bit per pixel value... may be, I doubt, but if I use it value in formula: width * height * (value) / 1024 = bit rate (hq). It bit rate actually only for this video stream, and we can correctly calculate size, video stream quality. And after all I’ll seen one interested property: this value, at resolution 720 * 540 ≈ 0.3 bit/pixel; but this value, enlarges to 0.5 bit/pixel, at resolution 320 * 240… If anybody have interest result or ideas, I wait replies.

 Thread Tools Search this Thread Search this Thread: Advanced Search Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is Off Forum Rules
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Announcements and Chat     General Discussion     News     Forum / Site Suggestions & Help General     Decrypting     Newbies     DVD2AVI / DGIndex     Audio encoding     Subtitles     Linux, Mac OS X, & Co Capturing and Editing Video     Avisynth Usage     Avisynth Development     VapourSynth     Capturing Video     DV     HDTV / DVB / TiVo     NLE - Non Linear Editing     VirtualDub, VDubMod & AviDemux     New and alternative a/v containers Video Encoding     (Auto) Gordian Knot     MPEG-4 ASP     MPEG-4 Encoder GUIs     MPEG-4 AVC / H.264     High Efficiency Video Coding (HEVC)     New and alternative video codecs     MPEG-2 Encoding (HD) DVD, Blu-ray & (S)VCD     One click suites for DVD backup and DVD creation     DVD Rebuilder     (HD) DVD & Blu-ray authoring     Advanced authoring     IFO/VOB Editors     DVD burning Hardware & Software     Software players     Hardware players     PC Hard & Software Programming and Hacking     Development     Translations

All times are GMT +1. The time now is 01:47.

 Doom9.org - Archive - Top

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.