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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#3281 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
I looked at the code of ConditionalFilter and now I understand what the fuss is about in regards to ScriptClip and MT -- with current_frame not being found.
I don't like the design of it, but then, it supports complex scripting that can't be done otherwise. I'm working on ConditionalFilterMT, which will be a limited subset of ConditionalFilter code that won't support complex expressions but that will work with MT. It's a hack, so not a solution for the core. Btw, does VapourSynth support ScriptClip-like evaluation of expressions at run-time? How is it designed there? |
|
|
|
|
#3282 | Link | |
|
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
Really, I think the fundamental issue with a lot of things tacked onto Avisynth over the years is that the people who added them didn't understand functional programming. |
|
|
|
|
|
#3283 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
Storing the frame number in a shared variable isn't viable in a MT environment no matter how we look at it.
Since that's what VS is doing... any way to support frame metadata without breaking old code? Wait -- frame metadata won't help if we don't know the frame number!
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by MysteryX; 23rd April 2017 at 06:15. |
|
|
|
|
#3284 | Link |
|
Registered User
Join Date: Jul 2012
Posts: 1,253
|
I've installed AvisynthPlus-r2455-MT x86 and x64
My x64 tool chain works as it should so far However the x86 has not I have two apps that require AVISynth and they report Avisynth is not installed When I put the AVISynth.dll from version 2.60 (regular AVISynth) everything is good I know, from other forums, that AVS+ x86 will work with these apps Can someone check my avsinfo log and tell me if I am missing any dependencies Code:
Log created with: AVSMeter 2.5.4 (x86)
[OS/Hardware info]
Operating system: Windows 10 (x64) (Build 14393)
CPU: Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU features: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, FMA3
[Avisynth info]
VersionString: AviSynth 2.60, build:Mar 31 2015 [16:38:54]
VersionNumber: 2.60
File version: 2.6.0.6
Interface Version: 6
Multi-threading support: No
Avisynth.dll location: C:\Windows\SysWoW64\avisynth.dll
Avisynth.dll time stamp: 2015-03-31, 06:40:57 (UTC)
PluginDir2_5 (HKLM, x86): C:\Program Files (x86)\AviSynth\plugins
[CPP 2.5 / 32 Bit plugins]
C:\Program Files (x86)\AviSynth\plugins\Decomb.dll
C:\Program Files (x86)\AviSynth\plugins\Decomb521.dll
C:\Program Files (x86)\AviSynth\plugins\Deen.dll
C:\Program Files (x86)\AviSynth\plugins\hqdn3d.dll
C:\Program Files (x86)\AviSynth\plugins\nicaudio.dll
C:\Program Files (x86)\AviSynth\plugins\RemoveGrainSSE2.dll
C:\Program Files (x86)\AviSynth\plugins\UnDot.dll [0.0.1.1]
[DLL dependencies (x86)]
C:\Program Files (x86)\AviSynth\plugins\Decomb.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\Decomb521.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\Deen.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\hqdn3d.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\nicaudio.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\RemoveGrainSSE2.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\UnDot.dll:
KERNEL32.dll
[Internal (core) functions]
AVIFileSource
AVISource
AddBorders
AlignedSplice
Amplify
AmplifydB
Animate
Apply
ApplyRange
Assert
AssumeBFF
AssumeFPS
AssumeFieldBased
AssumeFrameBased
AssumeSampleRate
AssumeScaledFPS
AssumeTFF
AudioDub
AudioDubEx
AudioTrim
AverageChromaU
AverageChromaV
AverageLuma
BicubicResize
BilinearResize
BlackmanResize
Blackness
BlankClip
Blur
Bob
Cache
ChangeFPS
Chr
ChromaUDifference
ChromaVDifference
ColorBars
ColorBarsHD
ColorKeyMask
ColorYUV
Compare
ComplementParity
ConditionalFilter
ConditionalReader
ConditionalSelect
ContinuedDenominator
ContinuedNumerator
ConvertAudio
ConvertAudioTo16bit
ConvertAudioTo24bit
ConvertAudioTo32bit
ConvertAudioTo8bit
ConvertAudioToFloat
ConvertBackToYUY2
ConvertFPS
ConvertToMono
ConvertToRGB
ConvertToRGB24
ConvertToRGB32
ConvertToY8
ConvertToYUY2
ConvertToYV12
ConvertToYV16
ConvertToYV24
ConvertToYV411
Crop
CropBottom
Default
Defined
DelayAudio
DeleteFrame
DirectShowSource
Dissolve
DoubleWeave
DuplicateFrame
Echo
EnsureVBRMP3Sync
Eval
Exist
FadeIO
FadeIO0
FadeIO2
FadeIn
FadeIn0
FadeIn2
FadeOut
FadeOut0
FadeOut2
FixBrokenChromaUpsampling
FixLuminance
FlipHorizontal
FlipVertical
FrameEvaluate
FreezeFrame
GaussResize
GeneralConvolution
GetChannel
GetChannels
GetLeftChannel
GetParity
GetRightChannel
Grayscale
Greyscale
HasAudio
HasVideo
Hex
Histogram
HorizontalReduceBy2
ImageReader
ImageSource
ImageSourceAnim
ImageWriter
Import
Info
Interleave
InternalCache
Invert
IsAudioFloat
IsAudioInt
IsBool
IsClip
IsFieldBased
IsFloat
IsFrameBased
IsInt
IsInterleaved
IsPlanar
IsRGB
IsRGB24
IsRGB32
IsString
IsY8
IsYUV
IsYUY2
IsYV12
IsYV16
IsYV24
IsYV411
KillAudio
KillVideo
Lanczos4Resize
LanczosResize
Layer
Letterbox
Levels
Limiter
LoadCPlugin
LoadPlugin
LoadVFAPIPlugin
LoadVirtualdubPlugin
Load_Stdcall_Plugin
Loop
LumaDifference
Mask
MaskHS
Max
Merge
MergeARGB
MergeChannels
MergeChroma
MergeLuma
MergeRGB
MessageClip
Min
MixAudio
MonoToStereo
Normalize
Null
OpenDMLSource
Ord
Overlay
PeculiarBlend
PixelType
PointResize
Preroll
Pulldown
RGBAdjust
RGBDifference
RGBDifferenceFromPrevious
RGBDifferenceToNext
ReduceBy2
ResampleAudio
ResetMask
Reverse
SSRC
ScriptClip
ScriptDir
ScriptFile
ScriptName
SegmentedAVISource
SegmentedDirectShowSource
Select
SelectEven
SelectEvery
SelectOdd
SelectRangeEvery
SeparateColumns
SeparateFields
SeparateRows
SetMemoryMax
SetPlanarLegacyAlignment
SetWorkingDir
Sharpen
ShowAlpha
ShowBlue
ShowFiveVersions
ShowFrameNumber
ShowGreen
ShowRed
ShowSMPTE
ShowTime
SincResize
SkewRows
SpatialSoften
Spline
Spline16Resize
Spline36Resize
Spline64Resize
StackHorizontal
StackVertical
String
Subtitle
Subtract
SuperEQ
SwapFields
SwapUV
TCPServer
TCPSource
TemporalSoften
Time
TimeStretch
Tone
Trim
Turn180
TurnLeft
TurnRight
Tweak
UDifferenceFromPrevious
UDifferenceToNext
UPlaneMax
UPlaneMedian
UPlaneMin
UPlaneMinMaxDifference
UToY
UToY8
UnalignedSplice
VDifferenceFromPrevious
VDifferenceToNext
VPlaneMax
VPlaneMedian
VPlaneMin
VPlaneMinMaxDifference
VToY
VToY8
Version
VersionNumber
VersionString
VerticalReduceBy2
WAVSource
Weave
WeaveColumns
WeaveRows
WriteFile
WriteFileEnd
WriteFileIf
WriteFileStart
YDifferenceFromPrevious
YDifferenceToNext
YPlaneMax
YPlaneMedian
YPlaneMin
YPlaneMinMaxDifference
YToUV
abs
acos
asin
atan
atan2
audiobits
audiochannels
audioduration
audiolength
audiolengthf
audiolengthhi
audiolengthlo
audiolengths
audiorate
bitand
bitchange
bitchg
bitclear
bitclr
bitlrotate
bitlshift
bitlshifta
bitlshiftl
bitlshifts
bitlshiftu
bitnot
bitor
bitrol
bitror
bitrrotate
bitrshifta
bitrshiftl
bitrshifts
bitrshiftu
bitsal
bitsar
bitset
bitshl
bitshr
bittest
bittst
bitxor
ceil
cos
cosh
exp
fillstr
findstr
float
floor
fmod
frac
framecount
framerate
frameratedenominator
frameratenumerator
height
hexvalue
int
lcase
leftstr
log
log10
midstr
muldiv
nop
pi
pow
rand
revstr
rightstr
round
sign
sin
sinh
sqrt
strcmp
strcmpi
strlen
tan
tanh
ucase
undefined
value
width
[External (plugin) functions]
BackwardClense
Clense
Decimate
Decomb521_Decimate
Decomb521_FieldDeinterlace
Decomb521_IsCombed
Decomb521_Telecide
Decomb_Decimate
Decomb_FieldDeinterlace
Decomb_IsCombed
Decomb_Telecide
Deen
Deen_Deen
FieldDeinterlace
ForwardClense
IsCombed
MCClense
NicAC3Source
NicBufferAudio
NicDTSSource
NicLPCMSource
NicMPASource
NicMPG123Source
NicRawPCMSource
RemoveGrain
RemoveGrainSSE2_BackwardClense
RemoveGrainSSE2_Clense
RemoveGrainSSE2_ForwardClense
RemoveGrainSSE2_MCClense
RemoveGrainSSE2_RemoveGrain
Telecide
UnDot
UnDot_UnDot
hqdn3d
hqdn3d_hqdn3d
nicaudio_NicAC3Source
nicaudio_NicBufferAudio
nicaudio_NicDTSSource
nicaudio_NicLPCMSource
nicaudio_NicMPASource
nicaudio_NicMPG123Source
nicaudio_NicRawPCMSource
|
|
|
|
|
#3285 | Link |
|
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Nothing missing. However, the log shows that you have Avisynth 2.6 in syswow64, not Avisynth+.
__________________
Groucho's Avisynth Stuff |
|
|
|
|
#3286 | Link |
|
Registered User
Join Date: Jul 2012
Posts: 1,253
|
That is the only way I can make X86 version work with these apps
I'll redo the log with the AVS+ dll Here is the new log Code:
Log created with: AVSMeter 2.5.4 (x86)
[OS/Hardware info]
Operating system: Windows 10 (x64) (Build 14393)
CPU: Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU features: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, FMA3
[Avisynth info]
VersionString: AviSynth+ 0.1 (r2455, MT, i386)
VersionNumber: 2.60
File version: 0.1.0.0
Interface Version: 6
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\SysWoW64\avisynth.dll
Avisynth.dll time stamp: 2017-03-16, 16:29:52 (UTC)
PluginDir+ (HKLM, x86): C:\Program Files (x86)\AviSynth+\plugins+
PluginDir2_5 (HKLM, x86): C:\Program Files (x86)\AviSynth\plugins
[CPP 2.5 / 32 Bit plugins]
C:\Program Files (x86)\AviSynth\plugins\Decomb.dll
C:\Program Files (x86)\AviSynth\plugins\Decomb521.dll
C:\Program Files (x86)\AviSynth\plugins\Deen.dll
C:\Program Files (x86)\AviSynth\plugins\hqdn3d.dll
C:\Program Files (x86)\AviSynth\plugins\nicaudio.dll
C:\Program Files (x86)\AviSynth\plugins\RemoveGrainSSE2.dll
C:\Program Files (x86)\AviSynth\plugins\UnDot.dll [0.0.1.1]
[CPP 2.6 / 32 Bit plugins]
C:\Program Files (x86)\AviSynth+\plugins+\ConvertStacked.dll
C:\Program Files (x86)\AviSynth+\plugins+\DirectShowSource.dll
C:\Program Files (x86)\AviSynth+\plugins+\ImageSeq.dll
C:\Program Files (x86)\AviSynth+\plugins+\Shibatch.dll
C:\Program Files (x86)\AviSynth+\plugins+\TimeStretch.dll
C:\Program Files (x86)\AviSynth+\plugins+\VDubFilter.dll
[DLL dependencies (x86)]
C:\Program Files (x86)\AviSynth\plugins\Decomb.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\Decomb521.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\Deen.dll:
KERNEL32.dll
MSVCRT.dll
C:\Program Files (x86)\AviSynth\plugins\hqdn3d.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\nicaudio.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\RemoveGrainSSE2.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth\plugins\UnDot.dll:
KERNEL32.dll
C:\Program Files (x86)\AviSynth+\plugins+\ConvertStacked.dll:
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
C:\Program Files (x86)\AviSynth+\plugins+\DirectShowSource.dll:
WINMM.dll
QUARTZ.dll
ole32.dll
USER32.dll
OLEAUT32.dll
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
C:\Program Files (x86)\AviSynth+\plugins+\ImageSeq.dll:
DevIL.dll
MSVCP140.dll
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
C:\Program Files (x86)\AviSynth+\plugins+\Shibatch.dll:
MSVCP140.dll
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
C:\Program Files (x86)\AviSynth+\plugins+\TimeStretch.dll:
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
C:\Program Files (x86)\AviSynth+\plugins+\VDubFilter.dll:
USER32.dll
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
[Internal (core) functions]
AVIFileSource
AVISource
AddAlphaPlane
AddAutoloadDir
AddBorders
AlignedSplice
Amplify
AmplifydB
Animate
Apply
ApplyRange
Assert
AssumeBFF
AssumeFPS
AssumeFieldBased
AssumeFrameBased
AssumeSampleRate
AssumeScaledFPS
AssumeTFF
AudioDub
AudioDubEx
AudioTrim
AutoloadPlugins
AverageB
AverageChromaU
AverageChromaV
AverageG
AverageLuma
AverageR
BDifference
BDifferenceFromPrevious
BDifferenceToNext
BPlaneMax
BPlaneMedian
BPlaneMin
BPlaneMinMaxDifference
BicubicResize
BilinearResize
BitsPerComponent
BlackmanResize
Blackness
BlankClip
Blur
Bob
Cache
ChangeFPS
Chr
ChromaUDifference
ChromaVDifference
ClearAutoloadDirs
ColorBars
ColorBarsHD
ColorKeyMask
ColorSpaceNameToPixelType
ColorYUV
CombinePlanes
Compare
ComplementParity
ComponentSize
ConditionalFilter
ConditionalReader
ConditionalSelect
ContinuedDenominator
ContinuedNumerator
ConvertAudio
ConvertAudioTo16bit
ConvertAudioTo24bit
ConvertAudioTo32bit
ConvertAudioTo8bit
ConvertAudioToFloat
ConvertBackToYUY2
ConvertBits
ConvertFPS
ConvertTo16bit
ConvertTo8bit
ConvertToFloat
ConvertToMono
ConvertToPlanarRGB
ConvertToPlanarRGBA
ConvertToRGB
ConvertToRGB24
ConvertToRGB32
ConvertToRGB48
ConvertToRGB64
ConvertToY
ConvertToY8
ConvertToYUV411
ConvertToYUV420
ConvertToYUV422
ConvertToYUV444
ConvertToYUY2
ConvertToYV12
ConvertToYV16
ConvertToYV24
ConvertToYV411
Crop
CropBottom
Default
Defined
DelayAudio
DeleteFrame
Dissolve
DoubleWeave
DuplicateFrame
Echo
EnsureVBRMP3Sync
Eval
Exist
ExtractA
ExtractB
ExtractG
ExtractR
ExtractU
ExtractV
ExtractY
FadeIO
FadeIO0
FadeIO2
FadeIn
FadeIn0
FadeIn2
FadeOut
FadeOut0
FadeOut2
FixBrokenChromaUpsampling
FixLuminance
FlipHorizontal
FlipVertical
FrameEvaluate
FreezeFrame
FunctionExists
GDifference
GDifferenceFromPrevious
GDifferenceToNext
GPlaneMax
GPlaneMedian
GPlaneMin
GPlaneMinMaxDifference
GaussResize
GeneralConvolution
GetChannel
GetChannels
GetLeftChannel
GetParity
GetRightChannel
Grayscale
Greyscale
HasAlpha
HasAudio
HasVideo
Hex
Histogram
HorizontalReduceBy2
Import
Info
Interleave
InternalCache
InternalFunctionExists
Invert
Is420
Is422
Is444
IsAudioFloat
IsAudioInt
IsBool
IsClip
IsFieldBased
IsFloat
IsFrameBased
IsInt
IsInterleaved
IsPackedRGB
IsPlanar
IsPlanarRGB
IsPlanarRGBA
IsRGB
IsRGB24
IsRGB32
IsRGB48
IsRGB64
IsString
IsVideoFloat
IsY
IsY8
IsYUV
IsYUVA
IsYUY2
IsYV12
IsYV16
IsYV24
IsYV411
KillAudio
KillVideo
Lanczos4Resize
LanczosResize
Layer
Letterbox
Levels
Limiter
LoadCPlugin
LoadPlugin
Load_Stdcall_Plugin
LogMsg
Loop
LumaDifference
Mask
MaskHS
Max
Merge
MergeARGB
MergeChannels
MergeChroma
MergeLuma
MergeRGB
MessageClip
Min
MixAudio
MonoToStereo
Normalize
Null
NumComponents
OpenDMLSource
Ord
Overlay
PeculiarBlend
PixelType
PlaneToY
PointResize
Prefetch
Preroll
Pulldown
RDifference
RDifferenceFromPrevious
RDifferenceToNext
RGBAdjust
RGBDifference
RGBDifferenceFromPrevious
RGBDifferenceToNext
RPlaneMax
RPlaneMedian
RPlaneMin
RPlaneMinMaxDifference
ReduceBy2
RemoveAlphaPlane
ResampleAudio
ResetMask
Reverse
ScriptClip
ScriptDir
ScriptFile
ScriptName
SegmentedAVISource
SegmentedDirectShowSource
Select
SelectEven
SelectEvery
SelectOdd
SelectRangeEvery
SeparateColumns
SeparateFields
SeparateRows
SetFilterMTMode
SetLogParams
SetMemoryMax
SetPlanarLegacyAlignment
SetWorkingDir
Sharpen
ShowAlpha
ShowBlue
ShowFiveVersions
ShowFrameNumber
ShowGreen
ShowRed
ShowSMPTE
ShowTime
ShowU
ShowV
ShowY
SincResize
SkewRows
SpatialSoften
Spline
Spline16Resize
Spline36Resize
Spline64Resize
StackHorizontal
StackVertical
String
Subtitle
Subtract
SwapFields
SwapUV
TemporalSoften
Time
Tone
Trim
Turn180
TurnLeft
TurnRight
Tweak
UDifferenceFromPrevious
UDifferenceToNext
UPlaneMax
UPlaneMedian
UPlaneMin
UPlaneMinMaxDifference
UToY
UToY8
UnalignedSplice
VDifferenceFromPrevious
VDifferenceToNext
VPlaneMax
VPlaneMedian
VPlaneMin
VPlaneMinMaxDifference
VToY
VToY8
Version
VersionNumber
VersionString
VerticalReduceBy2
WAVSource
Weave
WeaveColumns
WeaveRows
WriteFile
WriteFileEnd
WriteFileIf
WriteFileStart
YDifferenceFromPrevious
YDifferenceToNext
YPlaneMax
YPlaneMedian
YPlaneMin
YPlaneMinMaxDifference
YToUV
abs
acos
asin
atan
atan2
audiobits
audiochannels
audioduration
audiolength
audiolengthf
audiolengthhi
audiolengthlo
audiolengths
audiorate
bitand
bitchange
bitchg
bitclear
bitclr
bitlrotate
bitlshift
bitlshifta
bitlshiftl
bitlshifts
bitlshiftu
bitnot
bitor
bitrol
bitror
bitrrotate
bitrshifta
bitrshiftl
bitrshifts
bitrshiftu
bitsal
bitsar
bitset
bitshl
bitshr
bittest
bittst
bitxor
ceil
cos
cosh
exp
fillstr
findstr
float
floor
fmod
frac
framecount
framerate
frameratedenominator
frameratenumerator
height
hexvalue
int
lcase
leftstr
log
log10
midstr
muldiv
nop
pi
pow
rand
replacestr
revstr
rightstr
round
sign
sin
sinh
sqrt
strcmp
strcmpi
strlen
tan
tanh
ucase
undefined
value
width
[External (plugin) functions]
BackwardClense
Clense
ConvertFromDoubleWidth
ConvertFromStacked
ConvertStacked_ConvertFromDoubleWidth
ConvertStacked_ConvertFromStacked
ConvertStacked_ConvertToDoubleWidth
ConvertStacked_ConvertToStacked
ConvertToDoubleWidth
ConvertToStacked
Decimate
Decomb521_Decimate
Decomb521_FieldDeinterlace
Decomb521_IsCombed
Decomb521_Telecide
Decomb_Decimate
Decomb_FieldDeinterlace
Decomb_IsCombed
Decomb_Telecide
Deen
Deen_Deen
DirectShowSource
DirectShowSource_DirectShowSource
FieldDeinterlace
ForwardClense
ImageReader
ImageSeq_ImageReader
ImageSeq_ImageSource
ImageSeq_ImageSourceAnim
ImageSeq_ImageWriter
ImageSource
ImageSourceAnim
ImageWriter
IsCombed
LoadVirtualdubPlugin
MCClense
NicAC3Source
NicBufferAudio
NicDTSSource
NicLPCMSource
NicMPASource
NicMPG123Source
NicRawPCMSource
RemoveGrain
RemoveGrainSSE2_BackwardClense
RemoveGrainSSE2_Clense
RemoveGrainSSE2_ForwardClense
RemoveGrainSSE2_MCClense
RemoveGrainSSE2_RemoveGrain
SSRC
Shibatch_SSRC
Shibatch_SuperEQ
SuperEQ
Telecide
TimeStretch
TimeStretch_TimeStretch
UnDot
UnDot_UnDot
VDubFilter_LoadVirtualdubPlugin
hqdn3d
hqdn3d_hqdn3d
nicaudio_NicAC3Source
nicaudio_NicBufferAudio
nicaudio_NicDTSSource
nicaudio_NicLPCMSource
nicaudio_NicMPASource
nicaudio_NicMPG123Source
nicaudio_NicRawPCMSource
Last edited by gonca; 23rd April 2017 at 18:12. |
|
|
|
|
#3287 | Link |
|
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Which apps?
OK.
__________________
Groucho's Avisynth Stuff |
|
|
|
|
#3289 | Link |
|
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
The new log doesn't show any problems. If there were any, there would be a section "[Plugin errors/warnings]" after "[Avisynth info]".
There is no reason why the two programs should not work with AVS+, to my knowledge it's fully backward compatible to AVS2.6 except (ancient) v2.0 C/C++ plugins which are not supported by AVS+. You'll have to pester the authors to change/extend their detection functions. The Avisynth API provides a bunch of functions to determine the version reliably.
__________________
Groucho's Avisynth Stuff Last edited by Groucho2004; 23rd April 2017 at 18:48. |
|
|
|
|
#3291 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
Pinterf, I'll have to fix this for ConditionalMT, but that also needs to be fixed in Avisynth+ core since this needs to work without MT.
https://forum.doom9.org/showthread.p...74#post1804874 |
|
|
|
|
#3292 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
I'm getting a weird performance drop with ChangeFps in the middle of FrameRateConverter.
Code:
EM = EM.ChangeFPS(NewNum, NewDen)
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by MysteryX; 24th April 2017 at 04:10. |
|
|
|
|
#3293 | Link | |
|
Registered User
Join Date: Jan 2014
Posts: 2,527
|
Quote:
|
|
|
|
|
|
#3294 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
I was thinking about conditional functions. As we know, the problem is passing the current frame number, and storing it in a global var doesn't work in a multi-threaded environment -- and the code can't pass it directly to the functions within the expression because complex expressions are being handled by the Expression Evaluator.
How about passing frame_number to the Expression Evaluator, which when specified, gets passed to the filters through user_data? It's kind of a hack but it might just work. Edit: After looking at the code, Evaluate translates into env2->Invoke, which doesn't have user_data as parameter. For per-frame filters, it would make the most sense to take the frame_number as the first standard parameter. So PExpression.Evaluate could have a second syntax that takes frame_count as parameter for frame-specific expressions. In that function, all function calls receive frame_count as the first parameter during invokes. The issue isn't with MT really -- but instead of a badly designed per-frame expression evaluator that stored frame_count in a thread-specific global var as a hack. Now that I'm at it, I might try to dig into the code myself, it doesn't look too hard. If I can't fix it, I'll let Pinterf do it Meanwhile Pinterf can look into the other issues I pointed out.
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by MysteryX; 24th April 2017 at 17:02. |
|
|
|
|
#3295 | Link | |
|
Registered User
Join Date: Jan 2014
Posts: 2,527
|
Quote:
Code:
virtual bool __stdcall Invoke(AVSValue *result, const char* name, const AVSValue& args, const char* const* arg_names=0)
{
// This is why e.g. YDifferenceFromPrevious does not see "last" and "current_frame" defined in ScriptClip's GetFrame under MT.
// These variables are thread local to this very TLS but are not seen by core (core has a different subset of variables)
// invoking a runtime function here is losing the TLS scope
if (!_stricmp(name, "YDifferenceFromPrevious")) {
int x = 0; // debug stop
}
return core->Invoke(result, name, args, arg_names=0);
}
![]() Code:
BlankClip(width=640,height=480,length=50,pixel_type="YV24",color=$000000) ScriptClip(last, "Subtitle(String(YDifferenceFromPrevious))") Prefetch(2) Last edited by pinterf; 24th April 2017 at 17:47. |
|
|
|
|
|
#3297 | Link |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
dammit.
I had done the changes over branch MT-pfmod instead of branch MT, and it was working. Now I've ported the changes over to MT branch and am ready to submit. **BUT** now there is a thread lock issue -- with something that changed since you merged the pfmod branch. I'll submit anyway, and you can look at it from there. It *WAS* working! Pull request submitted. The solution was to treat per-frame functions differently. They now always take frame_number as second argument (after clip). ScriptParser now takes frame_number in its constructor, and automatically passes it to the per-frame functions as needed. It works beautifully. Now you can also use this to write the average luma value of the 10th frame Code:
Subtitle(string(AverageLuma(10)))
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by MysteryX; 25th April 2017 at 01:06. |
|
|
|
|
#3298 | Link | |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,406
|
Quote:
AverageLuma(Offset=10) ie relative to current frame (whatever than may mean in this context).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
|
|
|
|
|
#3299 | Link |
|
Retried Guesser
Join Date: Jun 2012
Posts: 1,371
|
>Subtitle(string(AverageLuma(10)))
Yes, that's how it's worked since AVS 2.61. AverageLuma(clip [, int offset = 0]) http://avisynth.nl/index.php/Internal_functions#Average >AverageLuma still brings a value of 6653 on ColorBarsHD in 14-bit Which is fine. 6653/2^(14-8) == 6653/2^6 == 6653/64 == 103.953 |
|
|
|
|
#3300 | Link | |
|
Soul Architect
Join Date: Apr 2014
Posts: 2,560
|
Quote:
Code:
ScriptClip(last, "Subtitle(String(AverageLuma(10)))") - AverageLuma(10) - AverageLuma(last, 10) # this version will be taken - AverageLuma(last, n, 10) # we need to take this version This will cause problems, as it will return AverageLuma of the 10th frame instead of applying an offset of 10 to the current frame. If we reverse the order of look-up and check - AverageLuma(last, n, 10) # we need to take this version before - AverageLuma(last, 10) # this version will be taken when frame_number is specified, then it should fix the problem. There is also the risk that some other standard function gets passed "frame_number" as its int argument when it shouldn't. This, in contrast, should specify frame_number instead of offset. Previously, these filters couldn't be used outside of a conditional function. Code:
Subtitle(String(AverageLuma(10)))
__________________
FrameRateConverter | AvisynthShader | AvsFilterNet | Natural Grounding Player with Yin Media Encoder, 432hz Player, Powerliminals Player and Audio Video Muxer Last edited by MysteryX; 25th April 2017 at 01:49. |
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|