[go: up one dir, main page]

Menu

#695 Upgrade to AviSynth+ 373 at least in MeGUI 64 bits

2
open
nobody
None
9
2024-06-02
2023-12-03
Tebasuna
No

I think than AviSynth+ 3.7.3 is enough mature to improve the MeGUI behaviour.
We can do the change only in 64 bits to avoid problems with old soft, now all plugins 64 bits are make for Avs+ and work fine. Remember the AvisynthWrapper.dll

Now, with the audio cache and the channelmask implemented, Avs+ can improve the audio management a lot. Of course video and other questions can be improved also but I can help with audio.

For instance we can use the new SoxFilter.dll 2.0 to downmix functions like:

7.1 Channels L,R,C,LFE,BL,BR,SL,SR -> standard 5.1

function c71_c51(clip a)
{
front = GetChannel(a, 1, 2, 3, 4)
back = GetChannel(a, 5, 6)
side = GetChannel(a, 7, 8)
mix = MixAudio(back, side, 0.5, 0.5).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1")
return MergeChannels(front, mix)
}

5.1.2 Channels L,R,C,LFE,SL,SR,TFL,TFR -> standard 5.1

function c512_c51(clip a)
{
front = GetChannel(a, 1, 2)
midch = GetChannel(a, 3, 4, 5, 6)
topfr = GetChannel(a, 7, 8)
mix = MixAudio(front, topfr, 0.5, 0.5).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1")
return MergeChannels(mix, midch)
}

6.1 Channels L,R,C,LFE,BC,SL,SR -> standard 5.1

function c71_c51(clip a)
{
front = GetChannel(a, 1, 2, 3, 4)
back = GetChannel(a, 5, 5)
side = GetChannel(a, 7, 8)
mix = MixAudio(back, side, 0.25, 0.75).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1")
return MergeChannels(front, mix)
}

Discussion

  • seagate

    seagate - 2023-12-03

    I support.

    But I no longer remember what the problems were when only Megui x64 was used - in some topic somewhere I gave concrete examples of how only Megui x86 could be used...

    Lyric deviation: https://sourceforge.net/p/megui/bugs/984/?limit=25#916e/2e36

     

    Last edit: seagate 2023-12-03
  • Tebasuna

    Tebasuna - 2023-12-03

    Sorry with the copy/paste
    side = GetChannel(a, 7, 8)
    must be
    side = GetChannel(a, 6, 7)

    And soxfilter 2.0 output only 32 bits int, where MixAudio work only on 16 bits or float the call to these functions must be with float samples and the output is always also float with:

    7.1 Channels L,R,C,LFE,BL,BR,SL,SR -> standard 5.1

    function c71_c51(clip a)
    {
    front = GetChannel(a, 1, 2, 3, 4)
    back = GetChannel(a, 5, 6)
    side = GetChannel(a, 7, 8)
    mix = MixAudio(back, side, 0.5, 0.5).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1").ConvertAudioToFloat()
    return MergeChannels(front, mix)
    }

    5.1.2 Channels L,R,C,LFE,SL,SR,TFL,TFR -> standard 5.1

    function c512_c51(clip a)
    {
    front = GetChannel(a, 1, 2)
    midch = GetChannel(a, 3, 4, 5, 6)
    topfr = GetChannel(a, 7, 8)
    mix = MixAudio(front, topfr, 0.5, 0.5).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1").ConvertAudioToFloat()
    return MergeChannels(mix, midch)
    }

    6.1 Channels L,R,C,LFE,BC,SL,SR -> standard 5.1

    function c71_c51(clip a)
    {
    front = GetChannel(a, 1, 2, 3, 4)
    back = GetChannel(a, 5, 5)
    side = GetChannel(a, 6, 7)
    mix = MixAudio(back, side, 0.25, 0.75).SoxFilter("compand 0.0,0.0 -90,-84,-8,-2,-6,-1,-0,-0.1").ConvertAudioToFloat()
    return MergeChannels(front, mix)
    }

     

    Last edit: Tebasuna 2023-12-03
  • Tebasuna

    Tebasuna - 2024-06-02

    Problem solved with the new MeGUI-6666

     

Log in to post a comment.