Log in

View Full Version : MeGUI: bug reports and feature requests


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147

Lighto
13th January 2011, 10:43
Thanks for the updates!
It would be nice if you could update x264 to the latest build as well.

Cheers!

cybersharky
14th January 2011, 16:09
Is it possible to add an option in the MKV muxer for the global file\segment title?

rapscallion
14th January 2011, 23:15
1905 [x264] fixed ref and bframes handling when using tunings (especially animation)


Wow, I didn't know there was a problem with tunings. I've been using "film" tune for awhile and didn't see any problems with the results. (Blu-ray 1080p/24 preset-BD-25)

Also haven't read any neg comments in this thread about it.
What exactly was the problem and result with the way ref and bframes were being handled, if I may ask?

Zathor
14th January 2011, 23:46
When changing the tuning setting while the preset was not medium the command line was sometimes wrong. e.g. in this example: http://forum.doom9.org/showpost.php?p=1468916&postcount=6007

rapscallion
14th January 2011, 23:57
Thanks for the reponse, I somehow missed that post or just glanced over it.

I've been using preset "medium" so I guess it didn't affect me.

Lighto
15th January 2011, 05:49
Not sure if this is a bug or just that my hardware is not up to the job.

My laptop supports a resolution of 1440 x 900.
In the event that I preview a AVS with a resolution that is close or bigger than the maximum resolution that my laptop supports( * x 800/ * x 1080), the controls of the preview window gets distorted.
The seek bar is gone and only the buttons are left align to the bottom left corner of the window.

I don't have access to a monitor that supports full HD resolution but I doubt that this problem will occur on a machine that supports the preview's resolution.

The only fix for this will be for me to manually resize the preview window to a smaller one by dragging the corner of the window.

Therefore I propose a feature that automatically resize the preview window to something smaller than the highest resolution while keeping the AR.
For example my machine supports only 1440 x 900, MeGUI will resize the preview window to 720p or less, if my machine support a resolution of less than 720p then the preview window will resize to 480p and so on.
I believe this is what StaxRip is using for their preview window as well.

Another option will be to somehow fix the missing controls when the preview content's resolution is higher than what the machine can support.

Cheerio~

Zathor
16th January 2011, 16:41
1911 [Changelog] updated changelog
1910 [Chapter Creator] + [MKV Muxer] cosmetics
1909 [Update] improved update detection

Also released this build as stable build... :eek:

Betsy25
16th January 2011, 17:07
It's alive !!! :eek:

rapscallion
16th January 2011, 19:42
Outstanding ! and only 100 more core updates to match this year :)

LDevil
17th January 2011, 19:35
One-Click encode crash MeGUI.
I had downloaded MeGUI sources and run it in debug mode. It seems that this error occured in JobUtil.cs:143.
When I choose AVI as my container method prov.GetMuxPath(container, splitSize.HasValue, allTypes.ToArray()); returns null. And this null caused application crash in line 143.
GetMuxPath returns null, probably because allTypes list contains ChapterType.OGG_TXT and AVIMuxGUIMuxerProvider doesn't support it.

Zathor
17th January 2011, 23:45
Thanks - fixed.

1913 [One-Click] chapters will not be added if output container is AVI
1912 [One-Click] fixed handling of video input files without audio track. Bug #3159523

Betsy25
18th January 2011, 03:16
Hello,

I have problems muxing raw AVC + AAC streams into .mp4 (mp4box). Audio is out-of-sync with variable framerate as Selur noted here (http://forum.doom9.org/showthread.php?p=1471913#post1471913).

Don't know if it's a bug in mp4box, user mistake, or incorrect usage of mp4box muxer.

Lighto
18th January 2011, 06:45
Is it just me or One-Click doesn't use the 64bit version of x264.....

Zathor
18th January 2011, 07:06
Is it just me or One-Click doesn't use the 64bit version of x264.....
One-Click and the other methods use the same way of starting x264. Please check in the settings that the 64bit mode for x264 is enabled.

Lighto
18th January 2011, 07:48
One-Click and the other methods use the same way of starting x264. Please check in the settings that the 64bit mode for x264 is enabled.

Made a mistake.
Anyway, if I named my .264 to 1.264 and feed it to the the One-Click, a fatal error window appears.

http://i.imgur.com/MPUl4.jpg

Edit:
It would seem that the error occurs with all source with numerical filename.

Log:
[Error] Log
-[Information] Versions
--[Information] MeGUI Version : 1913 (svn)
--[Information] OS : Windows Seven x64 (6.1.0.7600)
--[Information] Latest .Net Framework installed : 4.0 (4.0.30319)
--[Information] Avisynth Version : 2.6.0.1 (27/9/2009 8:39:26 AM)
-[Information] Update detection
--[Information] [18/1/2011 5:56:00 PM] Connecting to server: http://megui.xvidvideo.ru/auto/
--[Information] [18/1/2011 5:56:02 PM] All files are up to date
-[Error] Unhandled error
--[Information] Exception message
---[NoImage] Index and length must refer to a location within the string.
---[NoImage] Parameter name: length
--[Information] Stacktrace
---[NoImage] at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
---[NoImage] at MeGUI.VideoUtil.getChapterFile(String fileName)
---[NoImage] at MeGUI.OneClickWindow.openInput(String fileName)
---[NoImage] at MeGUI.OneClickWindow.input_FileSelected(FileBar sender, FileBarEventArgs args)
---[NoImage] at MeGUI.FileBar.triggerEvent()
---[NoImage] at MeGUI.FileBar.setFilename(String filename)
---[NoImage] at MeGUI.FileBar.openButton_Click(Object sender, EventArgs e)
---[NoImage] at System.Windows.Forms.Control.OnClick(EventArgs e)
---[NoImage] at System.Windows.Forms.Button.OnClick(EventArgs e)
---[NoImage] at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
---[NoImage] at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
---[NoImage] at System.Windows.Forms.Control.WndProc(Message& m)
---[NoImage] at System.Windows.Forms.ButtonBase.WndProc(Message& m)
---[NoImage] at System.Windows.Forms.Button.WndProc(Message& m)
---[NoImage] at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
---[NoImage] at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
---[NoImage] at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
--[Information] Inner exception: null

HowlerX
18th January 2011, 21:33
Hi. I dusted off my old iPod (5.5G) and encoded some TV shows I got for Xmas (Lucky Louie and Max Headroom... some fun stuff!!) I encoded the Max Headroom stuff with the previous stable build of MeGUI (3.5.0) and videos looked, encoded and played perfectly with the x264 version included in that version of MeGUI. I recently applied the new update (svn1911) and encoded some episodes of Lucky Louie and so far all the stuffed encoded with the version of x264 included with this version of MeGUI has contained corrupted video frames. I singled out that it was indeed x264 by going back and renaming the old .backup files in the MeGUI tools\x264 folders and using the older version of x264 to encode the same stuff over again. The older version of x264 worked great. The corrupted video frames looks similar to what happens when you seek video in VLC and you don't land on an I-frame. The video looks all pixelated until the next keyframe. Please look into it.
Thanks.

kws53
19th January 2011, 00:36
I've been doing a significant amount of re-encoding BluRays to 720P for streaming to my DLNA compliant BD player over the past week. I immediately noticed that after the 1911 upgrade, ALL of my re-encodes display higher average Bit Rates [double in many cases] DESPITE the encoding settings being identical. This, of course has resulted in larger files and longer encoding times.

These are x264 encodes and the only difference I see in the MediaInfo output is the Writing Library - originally "core 98" and now "core 112". I encode video only.

Here are my current pre-sets...

program --tune film --crf 16 --qpmin 10 --level 4.1 --bframes 3 --ref 4 --slices 4 --aud --nal-hrd vbr --b-pyramid strict --keyint 24 --min-keyint 2 --vbv-bufsize 30000 --vbv-maxrate 40000 --weightp 0 --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --output "output" "input"

Again, my average bitrate has risen from 4500 to 10000 despite identical crf settings. Ideas?

Kurt

Sharktooth
19th January 2011, 03:48
you're using CRF and complaining about the bitrate? rise it to get the expected results.
CRF behaviour may vary from (x264) builds to builds.

Lyle_JP
19th January 2011, 08:54
you're using CRF and complaining about the bitrate? rise it to get the expected results.
CRF behaviour may vary from (x264) builds to builds.

Including the latest build. As of r1867, x264 now takes frame-rate into account when calculating crf. Frame-rates higher than 25fps will now have slightly higher average quantization per frame than the immediate previous builds (and thus slightly smaller file sizes), while frame-rates below 25 fps will have the opposite behavior.

kieranrk
19th January 2011, 12:26
Could the Blu-ray presets have an input file straight to x264 with --force-cfr without the use of Avisynth? This is to take advantage of x264cli's 10-bit processing chain.

Sharktooth
19th January 2011, 14:40
kierank, actually it is not possible. however, make a feature request.

kws53
19th January 2011, 16:23
you're using CRF and complaining about the bitrate? rise it to get the expected results.
CRF behaviour may vary from (x264) builds to builds.

I'm not an expert by any means. I really don't understand what "core" represents [presumably the x264 build]. But I was happily doing 5-10 encodes a week and exhilarated with the results using crf as the "quality" parameter. I could count on the results being consistent from movie to movie and, most importantly, reproducible.

Suddenly I see a new writing library x264 core [changed from 98 to 112] and this changes the output bitrate [everything else equal] by a factor of 2 - yielding twice the filesize and twice the encoding time. Now my "library" of encodes is inconsistent.

Maybe I'm asking too much [considering the price of the software] - but I don't think that one should have to test each new release of MeGUI [or x264 build] to see whether the output bitrate is in line with previous releases WITH NO PARAMETER CHANGES. I don't think that one should have to vary crf or any other parameter to realize the same result. To me [as a developer], the purpose of parameters is to tweak or fine tune outputs while always maintaining consistency from build to build - not to correct for changes in the engine.

And wouldn't it have been prudent for the x264 developers to stipulate that core X produces a significantly different result than core Y?

Just my thoughts...

Kurt

Sharktooth
19th January 2011, 17:20
megui has nothing to do with your problem. the real problem is you cant count on CRF to be constant across x264 builds. also, if you're using CRF it means you dont care about the bitrate. if you do, then use a 2-pass bitrate mode or at least find the new CRF value that suits your needs. what you think is not relevant. Dark Shikari always said the CRF mean may change across builds so, either you bare with that or use a bitrate mode.

Zathor
19th January 2011, 17:36
And wouldn't it have been prudent for the x264 developers to stipulate that core X produces a significantly different result than core Y?

http://mirror01.x264.nl/x264/changelog.txt
WARNING: This change redefines x264's internal quality measurement.
x264 will now scale its quality based on the framerate of the video due to the aforementioned frame duration logic.
That is, --crf X will give lower quality per frame for a 60fps video than for a 30fps one.
This will make --crf closer to constant perceptual quality than previously.
The "center" for this change is 25fps: that is, videos lower than 25fps will go up in quality at the same CRF and videos above will go down.
This choice is completely arbitrary.

Maybe I'm asking too much [considering the price of the software] - but I don't think that one should have to test each new release of MeGUI [or x264 build] to see whether the output bitrate is in line with previous releases WITH NO PARAMETER CHANGES.
As you already noticed: nobody is paying for MeGUI and therefore nobody is being paid for quality assurance and as a result QA is not being done at all. Ok, the part that the developers are using themselves has of course some kind of QA and also no developer is implementing bugs willingly. The developers therefore rely on bug reports.

nurbs
19th January 2011, 17:58
The changelog doesn't list the core version unfortunately, but core 98 is somewhere around r1650, so there have been more than 200 new x264 versions in the meantime. Most of them don't influence the bitrate a CRF encode gives you a lot, if at all, but it adds up if you make a big jump like kws53 did.

HowlerX
20th January 2011, 00:42
I posted earlier this week regarding corrupted video frames on my iPod-sized mp4 encodes using the new x264 build (r1867) in the new MeGUI update (svn1911). Rather than going back and replacing the new x264 build with the old one I decided to investigate.
I downloaded various old revisions of x264 from the x264.nl mirrors and began doing some test encodes. After a few dozen encodes I pinpointed the last build that worked for me as r1790. Revision 1803 and above all produced corrupted video frames with my test clip. Looking through the x264 changelog, I noticed various optimization having to do with weighted P frames. So I tried turning off/on the various "--weightp" options with x264r1804. They had no effect.
The other notable change between r1790 and r1804 was setting qpmin default to "0." Sure enough that was the problem. Apparently the iPod 5.5G doesn't like qpmin values below six. Anything below --qpmin 6 would produce corrupt frames. My short clip includes a fade in and a fade out and the corruption would occur in the fade out portion of the video.
So my suggestion would be to enforce the old qpmin value of 10 ("--qpmin 10") for the iPod (5G, 5.5G) preset. No idea if this change in x264 affects the later model iPods (Classic/Touch.)

Hope I've been helpful. Thanks for reading.

Sharktooth
20th January 2011, 01:01
thanks for reporting. it's indeed very helpful for fixing the presets for the next version.

Zathor
23rd January 2011, 15:23
1920 [Log] the content of an avs input file will be added to the log
1919 [VideoPlayer] some sizing adjustments
1918 [One-Click] added the FFMSIndexer so that e.g. most AVI and MKV files are now supported.
if the FFMSIndexer is used the audio track must be encoded and cannot be muxed only.
1917 [FFMSIndexer] audio avs files will only be created if the indexing was successful
1916 [FileIndexer] added demux option to the audio tracks when using FFMSIndex
these audio tracks will be added to the main input tab if "on completion load files" is selected. Feature request #3158957
1915 [VideoPlayer] changed zoom and size behavior
fixed starting preview size so that it will always match the screen resolution. Bug #3159086
changed seek bar and buttons behavior. Feature request #3003726
try to ensure playback speed during playback
1914 [One-Click] fixed handling of video input files with short file names (less than 6 characters including extension). Bug #3160645

So my suggestion would be to enforce the old qpmin value of 10 ("--qpmin 10") for the iPod (5G, 5.5G) preset.
Thanks, added in profile 5.8

Lighto
23rd January 2011, 15:34
@Zathor
As usual, thanks for the updates and fixes!

Ice Dragon
23rd January 2011, 20:40
I am not able to encode audio with megui 1920 :(
The resulting audio is very low bitrate and doesn't have sound.
If i disable Normalize peaks to, i get sound but it plays too fast.

Os win 7 x86

Zathor
23rd January 2011, 20:43
Please post the log.

Ice Dragon
23rd January 2011, 20:53
Please post the log.
Here

[Information] Log
-[Information] Versions
--[Information] MeGUI Version : 1920 (svn)
--[Information] OS : Windows Seven Premium Edition x86 (6.1.0.7600)
--[Information] Latest .Net Framework installed : 4.0 (4.0.30319)
--[Information] Avisynth Version : 2.5.8.5 (21-Dec-08 9:46:54 PM)
-[Information] Update detection
--[Information] [24-Jan-11 1:19:22 AM] Connecting to server: http://megui.xvidvideo.ru/auto/
--[Information] [24-Jan-11 1:19:24 AM] All files are up to date
-[Information] Log for job1 (audio, sample.mkv -> sample.m4a)
--[Information] [24-Jan-11 1:20:07 AM] Started handling job
--[Information] [24-Jan-11 1:20:07 AM] Preprocessing
--[Information] Avisynth script
---[NoImage] DirectShowSource("D:\sample.mkv", video=false)
---[NoImage] EnsureVBRMP3Sync()
---[NoImage] # detected channels: 2 channels
---[NoImage] # detected channel positions: 2/0/0
---[NoImage] 6<=Audiochannels(last)?c6_stereo(ConvertAudioToFloat(last)):last
---[NoImage] 5==Audiochannels(last)?c5_stereo(ConvertAudioToFloat(last)):last
---[NoImage] 4==Audiochannels(last)?c4_stereo(ConvertAudioToFloat(last)):last
---[NoImage] 3==Audiochannels(last)?c3_stereo(ConvertAudioToFloat(last)):last
---[NoImage] Normalize()
---[NoImage] return last
---[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> stereo + LFE
---[NoImage] function c6_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] lf = GetChannel(a, 4)
---[NoImage] sl = GetChannel(a, 5)
---[NoImage] sr = GetChannel(a, 6)
---[NoImage] fl_sl = MixAudio(fl, sl, 0.2929, 0.2929)
---[NoImage] fr_sr = MixAudio(fr, sr, 0.2929, 0.2929)
---[NoImage] fc_lf = MixAudio(fc, lf, 0.2071, 0.2071)
---[NoImage] l = MixAudio(fl_sl, fc_lf, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_sr, fc_lf, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,C,SL,SR or L,R,LFE,SL,SR-> Stereo
---[NoImage] function c5_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] sl = GetChannel(a, 4)
---[NoImage] sr = GetChannel(a, 5)
---[NoImage] fl_sl = MixAudio(fl, sl, 0.3694, 0.3694)
---[NoImage] fr_sr = MixAudio(fr, sr, 0.3694, 0.3694)
---[NoImage] l = MixAudio(fl_sl, fc, 1.0, 0.2612)
---[NoImage] r = MixAudio(fr_sr, fc, 1.0, 0.2612)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,C,LFE,S -> Stereo
---[NoImage] function c52_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] lf = GetChannel(a, 4)
---[NoImage] bc = GetChannel(a, 5)
---[NoImage] fl_bc = MixAudio(fl, bc, 0.3205, 0.2265)
---[NoImage] fr_bc = MixAudio(fr, bc, 0.3205, 0.2265)
---[NoImage] fc_lf = MixAudio(fc, lf, 0.2265, 0.2265)
---[NoImage] l = MixAudio(fl_bc, fc_lf, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_bc, fc_lf, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels Quadro L,R,SL,SR -> Stereo
---[NoImage] function c4_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] sl = GetChannel(a, 3)
---[NoImage] sr = GetChannel(a, 4)
---[NoImage] l = MixAudio(fl, sl, 0.5, 0.5)
---[NoImage] r = MixAudio(fr, sr, 0.5, 0.5)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels L,R,C,LFE or L,R,S,LFE or L,R,C,S -> Stereo
---[NoImage] function c42_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] lf = GetChannel(a, 4)
---[NoImage] fc_lf = MixAudio(fc, lf, 0.2929, 0.2929)
---[NoImage] l = MixAudio(fl, fc_lf, 0.4142, 1.0)
---[NoImage] r = MixAudio(fr, fc_lf, 0.4142, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 3 Channels L,R,C or L,R,S or L,R,LFE -> Stereo
---[NoImage] function c3_stereo(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] l = MixAudio(fl, fc, 0.5858, 0.4142)
---[NoImage] r = MixAudio(fr, fc, 0.5858, 0.4142)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic
---[NoImage] function c6_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] sl = GetChannel(a, 5)
---[NoImage] sr = GetChannel(a, 6)
---[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
---[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic
---[NoImage] function c5_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] sl = GetChannel(a, 4)
---[NoImage] sr = GetChannel(a, 5)
---[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
---[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic
---[NoImage] function c52_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] sl = GetChannel(a, 4)
---[NoImage] sr = GetChannel(a, 5)
---[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
---[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
---[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,C,LFE,S -> Dolby ProLogic
---[NoImage] function c53_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] bc = GetChannel(a, 5)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
---[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
---[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic
---[NoImage] function c4_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] sl = GetChannel(a, 3)
---[NoImage] sr = GetChannel(a, 4)
---[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
---[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
---[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels L,R,LFE,S -> Dolby ProLogic
---[NoImage] function c42_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] bc = GetChannel(a, 4)
---[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
---[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels L,R,C,S -> Dolby ProLogic
---[NoImage] function c43_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] bc = GetChannel(a, 4)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
---[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
---[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 3 Channels L,R,S -> Dolby ProLogic
---[NoImage] function c3_dpl(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] bc = GetChannel(a, 3)
---[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
---[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic II
---[NoImage] function c6_dpl2(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] sl = GetChannel(a, 5)
---[NoImage] sr = GetChannel(a, 6)
---[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
---[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
---[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic II
---[NoImage] function c5_dpl2(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] fc = GetChannel(a, 3)
---[NoImage] sl = GetChannel(a, 4)
---[NoImage] sr = GetChannel(a, 5)
---[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
---[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
---[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
---[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
---[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
---[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic II
---[NoImage] function c52_dpl2(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] sl = GetChannel(a, 4)
---[NoImage] sr = GetChannel(a, 5)
---[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
---[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
---[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
---[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
---[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic II
---[NoImage] function c4_dpl2(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] sl = GetChannel(a, 3)
---[NoImage] sr = GetChannel(a, 4)
---[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
---[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
---[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
---[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
--[Information] Commandline used: -ignorelength -he -br 48000 -if - -of "{0}"
--[Information] [24-Jan-11 1:20:08 AM] Encoding started
--[Information] [24-Jan-11 1:20:08 AM] Encode thread started
--[Information] [24-Jan-11 1:20:08 AM] Avisynth script environment opened
--[Information] [24-Jan-11 1:20:09 AM] Script loaded
--[Information] Output Decoder
---[Information] Channels: 2
---[Information] Bits per sample: 32
---[Information] Sample rate: 48000
--[Information] Commandline: D:\Program Files\megui\tools\nero\neroAacEnc.exe -ignorelength -he -br 48000 -if - -of "D:\sample.m4a"
--[Information] [24-Jan-11 1:20:09 AM] Encoder process started
--[Information] Output from encoder via stderr
---[NoImage] *************************************************************
---[NoImage] * *
---[NoImage] * Nero AAC Encoder *
---[NoImage] * Copyright 2009 Nero AG *
---[NoImage] * All Rights Reserved Worldwide *
---[NoImage] * *
---[NoImage] * Package build date: Feb 18 2010 *
---[NoImage] * Package version: 1.5.4.0 *
---[NoImage] * *
---[NoImage] * See -help for a complete list of available parameters. *
---[NoImage] * *
---[NoImage] *************************************************************
--[Information] [24-Jan-11 1:20:11 AM] Postprocessing
---[Information] Deleting intermediate files
--[Information] [24-Jan-11 1:20:11 AM] Job completed

Zathor
23rd January 2011, 23:41
The problem is this line:
DirectShowSource("D:\sample.mkv", video=false)
Please describe the steps for creating your audio file. Prefered way should be to demux the audio with the HD Stream Extractor (or DGindexNV if available) or to access it with FFAudioSource indexing with FFMSIndex.

flebber
24th January 2011, 04:55
1920 [Log] the content of an avs input file will be added to the log
1919 [VideoPlayer] some sizing adjustments
1918 [One-Click] added the FFMSIndexer so that e.g. most AVI and MKV files are now supported.
if the FFMSIndexer is used the audio track must be encoded and cannot be muxed only.
1917 [FFMSIndexer] audio avs files will only be created if the indexing was successful
1916 [FileIndexer] added demux option to the audio tracks when using FFMSIndex
these audio tracks will be added to the main input tab if "on completion load files" is selected. Feature request #3158957
1915 [VideoPlayer] changed zoom and size behavior
fixed starting preview size so that it will always match the screen resolution. Bug #3159086
changed seek bar and buttons behavior. Feature request #3003726
try to ensure playback speed during playback
1914 [One-Click] fixed handling of video input files with short file names (less than 6 characters including extension). Bug #3160645


Thanks, added in profile 5.8

Thank You - Awesome work :)

Ice Dragon
24th January 2011, 07:24
The problem is this line:
DirectShowSource("D:\sample.mkv", video=false)
Please describe the steps for creating your audio file. Prefered way should be to demux the audio with the HD Stream Extractor (or DGindexNV if available) or to access it with FFAudioSource indexing with FFMSIndex.

To create just an audio file i just drag the media to audio input tab, hit enqueue and press start in queue. This method was working about a month back. Tried force decoding via directshow, but didn't work.

Here is the method i use for encoding video

sample.mkv (http://www.mediafire.com/?eej8xau8ekd8y8h)

Create avs script
DirectShowSource("D:\sample.mkv", fps=29.038, audio=false, convertfps=true)
#deinterlace
#crop
#resize
#denoise

Add sample.mkv to audio input tab, hit autoencode select mkv container (no target size), hit queue. In queue click start. It will encode video & audio and mux the encoded files to the mkv container.

logfile-11-01-24_10-41-17.log (http://www.mediafire.com/download.php?v454jrjpk40gq8m)

sample-muxed.mkv (http://www.mediafire.com/?7yexg7bskd91797)

The output mkv file has proper video but no sound.


Now if use HD Stream Extractor on sample.mkv
Again following above method , it adds ConvertToYV12() to the avs file

DirectShowSource("D:\T1_Video - .mkv", fps=29.038, audio=false, convertfps=true)
#deinterlace
#crop
#resize
#denoise

ConvertToYV12()

The resulting mkv has proper audio but static image.

T1_Video - -muxed.mkv (http://www.mediafire.com/?qhoaddahx9437g4)

logfile-11-01-24_11-24-06.log (http://www.mediafire.com/?b7dbny342bn4vw5)

If possible i would like to use the the first method(without demuxing) as it was faster.
This method was working awhile back :(

Lighto
24th January 2011, 12:14
@Ice Dragon
Here's the output I got using your first method.

http://www.mediafire.com/file/n9rnabqn61ydbwb/sample-muxed_Lighto.mkv

Audio works fine.

Try using Win7DSTweaker to make sure you are decoding aac with ffdshow.

Ice Dragon
24th January 2011, 14:12
Try using Win7DSTweaker to make sure you are decoding aac with ffdshow.

Thanks it works now :D

Sharktooth
25th January 2011, 03:45
something crashed. post the logfile.

Lighto
25th January 2011, 06:10
To create just an audio file i just drag the media to audio input tab, hit enqueue and press start in queue. This method was working about a month back. Tried force decoding via directshow, but didn't work.

Here is the method i use for encoding video

sample.mkv (http://www.mediafire.com/?eej8xau8ekd8y8h)

Create avs script
DirectShowSource("D:\sample.mkv", fps=29.038, audio=false, convertfps=true)
#deinterlace
#crop
#resize
#denoise

Add sample.mkv to audio input tab, hit autoencode select mkv container (no target size), hit queue. In queue click start. It will encode video & audio and mux the encoded files to the mkv container.

logfile-11-01-24_10-41-17.log (http://www.mediafire.com/download.php?v454jrjpk40gq8m)

sample-muxed.mkv (http://www.mediafire.com/?7yexg7bskd91797)

The output mkv file has proper video but no sound.


Now if use HD Stream Extractor on sample.mkv
Again following above method , it adds ConvertToYV12() to the avs file

DirectShowSource("D:\T1_Video - .mkv", fps=29.038, audio=false, convertfps=true)
#deinterlace
#crop
#resize
#denoise

ConvertToYV12()

The resulting mkv has proper audio but static image.

T1_Video - -muxed.mkv (http://www.mediafire.com/?qhoaddahx9437g4)

logfile-11-01-24_11-24-06.log (http://www.mediafire.com/?b7dbny342bn4vw5)

If possible i would like to use the the first method(without demuxing) as it was faster.
This method was working awhile back :(

By the way, the second method doesn't work for me as well.
I wasn't even able to encode the audio.
[Error] Log for job6 (audio, sample.mkv_track_1_japanese.avs -> sample.mkv_track_1_japanese.mp4)
-[Information] [25/1/2011 1:06:49 PM] Started handling job
-[Information] [25/1/2011 1:06:49 PM] Preprocessing
-[Error] [25/1/2011 1:06:49 PM] no audio file detected: C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.avs
-[Information] Avisynth script
--[NoImage] Import("C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.avs")
--[NoImage] Normalize()
--[NoImage] return last
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> stereo + LFE
--[NoImage] function c6_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] fl_sl = MixAudio(fl, sl, 0.2929, 0.2929)
--[NoImage] fr_sr = MixAudio(fr, sr, 0.2929, 0.2929)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2071, 0.2071)
--[NoImage] l = MixAudio(fl_sl, fc_lf, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_sr, fc_lf, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR or L,R,LFE,SL,SR-> Stereo
--[NoImage] function c5_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] fl_sl = MixAudio(fl, sl, 0.3694, 0.3694)
--[NoImage] fr_sr = MixAudio(fr, sr, 0.3694, 0.3694)
--[NoImage] l = MixAudio(fl_sl, fc, 1.0, 0.2612)
--[NoImage] r = MixAudio(fr_sr, fc, 1.0, 0.2612)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,LFE,S -> Stereo
--[NoImage] function c52_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] bc = GetChannel(a, 5)
--[NoImage] fl_bc = MixAudio(fl, bc, 0.3205, 0.2265)
--[NoImage] fr_bc = MixAudio(fr, bc, 0.3205, 0.2265)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2265, 0.2265)
--[NoImage] l = MixAudio(fl_bc, fc_lf, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_bc, fc_lf, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Stereo
--[NoImage] function c4_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] l = MixAudio(fl, sl, 0.5, 0.5)
--[NoImage] r = MixAudio(fr, sr, 0.5, 0.5)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,C,LFE or L,R,S,LFE or L,R,C,S -> Stereo
--[NoImage] function c42_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, fc_lf, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, fc_lf, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 3 Channels L,R,C or L,R,S or L,R,LFE -> Stereo
--[NoImage] function c3_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] l = MixAudio(fl, fc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, fc, 0.5858, 0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic
--[NoImage] function c6_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic
--[NoImage] function c5_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic
--[NoImage] function c52_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,LFE,S -> Dolby ProLogic
--[NoImage] function c53_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] bc = GetChannel(a, 5)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic
--[NoImage] function c4_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,LFE,S -> Dolby ProLogic
--[NoImage] function c42_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] bc = GetChannel(a, 4)
--[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,C,S -> Dolby ProLogic
--[NoImage] function c43_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] bc = GetChannel(a, 4)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 3 Channels L,R,S -> Dolby ProLogic
--[NoImage] function c3_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] bc = GetChannel(a, 3)
--[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic II
--[NoImage] function c6_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
--[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
--[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic II
--[NoImage] function c5_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
--[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
--[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic II
--[NoImage] function c52_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
--[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
--[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic II
--[NoImage] function c4_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
--[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
--[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
-[Information] Commandline used: -ignorelength -lc -br 96000 -if - -of "{0}"
-[Information] [25/1/2011 1:06:49 PM] Encoding started
-[Information] [25/1/2011 1:06:49 PM] Encode thread started
-[Information] [25/1/2011 1:06:49 PM] Avisynth script environment opened
-[Error] An error occurred
--[Error] Exception message
---[NoImage] FFAudioSource: Not an audio track
---[NoImage] (C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.avs, line 2)
--[Error] Stacktrace
---[NoImage] at MeGUI.AviSynthClip..ctor(String func, String arg, AviSynthColorspace forceColorspace, AviSynthScriptEnvironment env)
---[NoImage] at MeGUI.AviSynthAudioEncoder.encode()
--[Error] Inner exception: null
-[Information] [25/1/2011 1:06:49 PM] Job completed

Ice Dragon
25th January 2011, 07:01
By the way, the second method doesn't work for me as well.
I wasn't even able to encode the audio.

The second method is working for me now after setting both aac & h264 decoding to ffdshow via Win7DSTweaker.

Lighto
25th January 2011, 07:12
The second method is working for me now after setting both aac & h264 decoding to ffdshow via Win7DSTweaker.

Mind posting the log here?
Maybe it's because I am on Win7 64bit.

mpamphs70
25th January 2011, 07:29
I don't know if this has been asked before, but is there going to be support for blue ray 3ds?

Ice Dragon
25th January 2011, 08:37
Mind posting the log here?
Maybe it's because I am on Win7 64bit.
Here

logfile-11-01-25_12-52-04.log (http://www.mediafire.com/?i7az24l1riz5wlm)

logfile-11-01-25_12-54-53.log (http://www.mediafire.com/?7s2u54swnl372s6)

I have Win7DSFilterTweaker 4.0 here.

Lighto
25th January 2011, 09:07
Here

logfile-11-01-25_12-52-04.log (http://www.mediafire.com/?i7az24l1riz5wlm)

logfile-11-01-25_12-54-53.log (http://www.mediafire.com/?7s2u54swnl372s6)

I have Win7DSFilterTweaker 4.0 here.

Made a mistake, misread your second method as using File Indexer.

Do me a favor and try feed MeGUI with your .mkv file via Open > File Indexer.

Tell me your results.:)

Ice Dragon
25th January 2011, 10:23
Made a mistake, misread your second method as using File Indexer.

Do me a favor and try feed MeGUI with your .mkv file via Open > File Indexer.

Tell me your results.:)

Yep i am getting the same error

logfile-11-01-25_14-38-56.log (http://www.mediafire.com/?9z1945eebrfx4bw)

Lighto
25th January 2011, 10:30
Okay, I managed to get the audio encoded by modifying the AVS from

LoadPlugin("E:\Video Tools\MeGUI_1911_x86_WithoutInstaller\tools\ffms\ffms2.dll")
FFAudioSource("C:\Users\Lenovo\Desktop\sample.mkv", 1)


to

LoadPlugin("E:\Video Tools\MeGUI_1911_x86_WithoutInstaller\tools\ffms\ffms2.dll")
FFAudioSource("C:\Users\Lenovo\Desktop\sample.mkv")


MeGUI still contains error in the log though.

[Error] Log for job6 (audio, sample.mkv_track_1_japanese.avs -> sample.mkv_track_1_japanese.mp4)
-[Information] [25/1/2011 5:24:52 PM] Started handling job
-[Information] [25/1/2011 5:24:52 PM] Preprocessing
-[Error] [25/1/2011 5:24:52 PM] no audio file detected: C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.avs
-[Information] Avisynth script
--[NoImage] Import("C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.avs")
--[NoImage] Normalize()
--[NoImage] return last
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> stereo + LFE
--[NoImage] function c6_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] fl_sl = MixAudio(fl, sl, 0.2929, 0.2929)
--[NoImage] fr_sr = MixAudio(fr, sr, 0.2929, 0.2929)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2071, 0.2071)
--[NoImage] l = MixAudio(fl_sl, fc_lf, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_sr, fc_lf, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR or L,R,LFE,SL,SR-> Stereo
--[NoImage] function c5_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] fl_sl = MixAudio(fl, sl, 0.3694, 0.3694)
--[NoImage] fr_sr = MixAudio(fr, sr, 0.3694, 0.3694)
--[NoImage] l = MixAudio(fl_sl, fc, 1.0, 0.2612)
--[NoImage] r = MixAudio(fr_sr, fc, 1.0, 0.2612)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,LFE,S -> Stereo
--[NoImage] function c52_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] bc = GetChannel(a, 5)
--[NoImage] fl_bc = MixAudio(fl, bc, 0.3205, 0.2265)
--[NoImage] fr_bc = MixAudio(fr, bc, 0.3205, 0.2265)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2265, 0.2265)
--[NoImage] l = MixAudio(fl_bc, fc_lf, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_bc, fc_lf, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Stereo
--[NoImage] function c4_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] l = MixAudio(fl, sl, 0.5, 0.5)
--[NoImage] r = MixAudio(fr, sr, 0.5, 0.5)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,C,LFE or L,R,S,LFE or L,R,C,S -> Stereo
--[NoImage] function c42_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] lf = GetChannel(a, 4)
--[NoImage] fc_lf = MixAudio(fc, lf, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, fc_lf, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, fc_lf, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 3 Channels L,R,C or L,R,S or L,R,LFE -> Stereo
--[NoImage] function c3_stereo(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] l = MixAudio(fl, fc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, fc, 0.5858, 0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic
--[NoImage] function c6_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic
--[NoImage] function c5_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] bc = MixAudio(sl, sr, 0.2265, 0.2265)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3205, 0.2265)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3205, 0.2265)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic
--[NoImage] function c52_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,LFE,S -> Dolby ProLogic
--[NoImage] function c53_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] bc = GetChannel(a, 5)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic
--[NoImage] function c4_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] bc = MixAudio(sl, sr, 0.2929, 0.2929)
--[NoImage] l = MixAudio(fl, bc, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, bc, 0.4142, -1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,LFE,S -> Dolby ProLogic
--[NoImage] function c42_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] bc = GetChannel(a, 4)
--[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels L,R,C,S -> Dolby ProLogic
--[NoImage] function c43_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] bc = GetChannel(a, 4)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.4142, 0.2929)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.4142, 0.2929)
--[NoImage] l = MixAudio(fl_fc, bc, 1.0, 0.2929)
--[NoImage] r = MixAudio(fr_fc, bc, 1.0, -0.2929)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 3 Channels L,R,S -> Dolby ProLogic
--[NoImage] function c3_dpl(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] bc = GetChannel(a, 3)
--[NoImage] l = MixAudio(fl, bc, 0.5858, 0.4142)
--[NoImage] r = MixAudio(fr, bc, 0.5858, -0.4142)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5.1 Channels L,R,C,LFE,SL,SR -> Dolby ProLogic II
--[NoImage] function c6_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 5)
--[NoImage] sr = GetChannel(a, 6)
--[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
--[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
--[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,C,SL,SR -> Dolby ProLogic II
--[NoImage] function c5_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] fc = GetChannel(a, 3)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] ssl = MixAudio(sl, sr, 0.2818, 0.1627)
--[NoImage] ssr = MixAudio(sl, sr, -0.1627, -0.2818)
--[NoImage] fl_fc = MixAudio(fl, fc, 0.3254, 0.2301)
--[NoImage] fr_fc = MixAudio(fr, fc, 0.3254, 0.2301)
--[NoImage] l = MixAudio(fl_fc, ssl, 1.0, 1.0)
--[NoImage] r = MixAudio(fr_fc, ssr, 1.0, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 5 Channels L,R,LFE,SL,SR -> Dolby ProLogic II
--[NoImage] function c52_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 4)
--[NoImage] sr = GetChannel(a, 5)
--[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
--[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
--[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
--[NoImage] # 4 Channels Quadro L,R,SL,SR -> Dolby ProLogic II
--[NoImage] function c4_dpl2(clip a)
--[NoImage] {
--[NoImage] fl = GetChannel(a, 1)
--[NoImage] fr = GetChannel(a, 2)
--[NoImage] sl = GetChannel(a, 3)
--[NoImage] sr = GetChannel(a, 4)
--[NoImage] ssl = MixAudio(sl, sr, 0.3714, 0.2144)
--[NoImage] ssr = MixAudio(sl, sr, -0.2144, -0.3714)
--[NoImage] l = MixAudio(fl, ssl, 0.4142, 1.0)
--[NoImage] r = MixAudio(fr, ssr, 0.4142, 1.0)
--[NoImage] return MergeChannels(l, r)
--[NoImage] }
-[Information] Commandline used: -ignorelength -lc -br 96000 -if - -of "{0}"
-[Information] [25/1/2011 5:24:53 PM] Encoding started
-[Information] [25/1/2011 5:24:53 PM] Encode thread started
-[Information] [25/1/2011 5:24:53 PM] Avisynth script environment opened
-[Information] [25/1/2011 5:24:53 PM] Script loaded
-[Information] Output Decoder
--[Information] Channels: 2
--[Information] Bits per sample: 16
--[Information] Sample rate: 48000
-[Information] Commandline: E:\Video Tools\MeGUI_1911_x86_WithoutInstaller\neroAacEnc.exe -ignorelength -lc -br 96000 -if - -of "C:\Users\Lenovo\Desktop\sample.mkv_track_1_japanese.mp4"
-[Information] [25/1/2011 5:24:53 PM] Encoder process started
-[Information] Output from encoder via stderr
--[NoImage] *************************************************************
--[NoImage] * *
--[NoImage] * Nero AAC Encoder *
--[NoImage] * Copyright 2009 Nero AG *
--[NoImage] * All Rights Reserved Worldwide *
--[NoImage] * *
--[NoImage] * Package build date: Feb 18 2010 *
--[NoImage] * Package version: 1.5.4.0 *
--[NoImage] * *
--[NoImage] * See -help for a complete list of available parameters. *
--[NoImage] * *
--[NoImage] *************************************************************
-[Information] [25/1/2011 5:24:54 PM] Postprocessing
--[Information] Deleting intermediate files
-[Information] [25/1/2011 5:24:54 PM] Job completed

ZZZERO
25th January 2011, 16:02
Is there a way to set MEGUI to always look in the directory of the currently loaded VOBS when I select the audio track? It does that for the first movie I put in queue, but after that it always looks in the directory of the previously loaded movie vobs, not the current one. In other words, if I want to prepare movie1, movie2, and movie3 for ripping, movie1 is fine and it will look in movie1 directory, for movie2 it will look in movie1 directory for the audio track and I have to manually change it to movie2 directory to get the correct audio track. Similarly for movie3 it will look in movie2 directory for the audio track. Nothing worse than putting the wrong movie's audio track on a movie because you didn't manually fix the directory path every time.

me7
25th January 2011, 17:39
The behavior of MeGUI's avisynth script creator preview window has changed recently. Instead of offering me the original 1:1 pixel mapped view it downsizes the video.
It was very annoying at first since I'm afraid to miss black borders when cropping due to the downsizing. Now it turned into a mess because MeGUI doesn't show me the black border on the right side of the video when I open a PAL DVD MPEG2 file indexed by DGIndex. It is impossible to find out how much pixels I need to crop away.
Is there a way to fix this or can someone recommend me an avisynth GUI that offers an unaltered 1:1 preview?

Zathor
25th January 2011, 17:48
Please have a look there:
https://sourceforge.net/tracker/index.php?func=detail&aid=3164635&group_id=156112&atid=798476
https://sourceforge.net/tracker/?func=detail&aid=3164305&group_id=156112&atid=798479

Revert to the stable build if this is a problem for you.

Zathor
25th January 2011, 18:00
Is there a way to set MEGUI to always look in the directory of the currently loaded VOBS when I select the audio track?
Please create a feature request.