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 |
|
|
#3301 | Link |
|
Registered User
Join Date: Mar 2011
Posts: 5,062
|
According to Compare() the output of A and B are not identical, so I assume the placement argument is being honoured, but in both cases the chroma placement in frame properties after resizing is 3 (YV12 source). Likewise when there's no chroma location in frame properties, no chroma location is written.
propSet("_ChromaLocation", 3) A = GaussResize(width/2, height/2) B = GaussResize(width/2, height/2, placement="bottom") It'd be nice if one day the resizers could also have a placementOut argument too
|
|
|
|
|
|
#3302 | Link |
|
Registered User
Join Date: Mar 2011
Posts: 5,062
|
pinterf,
I don't know if you saw my post a couple of pages back, but is there a way to force the VarExist argument to only accept a variable as a string, even if the variable itself is a string? For consistency the following should output something like "invalid arguments to VarExist", but instead it returns false: X = "Y" VarExist(X) This would return "invalid arguments to VarExist" as expected: X = 4 VarExist(X) Similarly, the defined() function probably shouldn't return true for a string. X = undefined() defined("X") Cheers. One last question.... is there a reason why the subtitle function has to require a value for the LSP argument in order to output multiple lines? I know it's always been that way, but is there a reason why this shouldn't just output multiple lines? Subtitle("X\nY\nZ") Last edited by hello_hello; 28th March 2025 at 14:44. |
|
|
|
|
|
#3303 | Link | ||
|
Avisynth language lover
Join Date: Dec 2007
Location: Spain
Posts: 3,442
|
Quote:
VarExist(X) will pass the value of X, namely the string "Y", into the function. Now, the argument passed to VarExist() is expected to be a string whose value is interpreted as a name, and it will check if a variable of that name exists. So the output of false is correct (assuming there is no variable Y). Quote:
(The variable X is not used here.) |
||
|
|
|
|
|
#3305 | Link | |
|
Registered User
Join Date: Mar 2011
Posts: 5,062
|
Quote:
VarExist(X) Maybe the variable has to be specified as a string for technical reasons, and I assume it'd be impractical to change it at this stage anyway. |
|
|
|
|
|
|
#3306 | Link |
|
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,410
|
HH, Well, if X dont exist, then error would be produced even before VarExist() would be called.
[when the arguement to VarExist is being evaluated by the script parser]. VarExist(), needs to know the name of the variable to see if it exists, not the value of an existing variable, ie VarExist("Pi") not VarExist(3.1415926) { VarExist() scans the variable name table looking for the variable name entry, if it finds it then it exists, if not then it dont exist. The Local name table is scanned first and if not found then the Global name table. <Local vars hide Global vars> } An existing variable can be Undefined [exists but not set to anything], but a non existing variable is not even Undefined, it dont exist at all. An existing variable can have a type eg Undefined, Clip, String, Float, Int etc, and also value if the type is not Undefined. EDIT: Inside a script function, an optional arg always exists (is declared as an optional arg to the function), but if the arg is not provided by the calling code, then it is undefined. Inside a script function, can use Defined(OptionalArgName) to test if was supplied by script function caller [and was not supplied as eg OptionalArgName=undefined]. Inside a script function, the Default() function eg OptionalArgName = Default(OptionalArgName,OptionalArgDefaultValue) could be implemented like Code:
OptionalArgName = defined(OptionalArgName) ? OptionalArgName : OptionalArgDefaultValue
__________________
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 ??? Last edited by StainlessS; 28th March 2025 at 22:21. |
|
|
|
|
|
#3307 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,637
|
Hi.
I have an issue when i try to build soundtouch. I have Visual Studio 2019 Update 9.26 installed with clang-llvm built option, but i don't install LLVM provided with VS, instead, i install the last LLVM version provided on the github. When i want to build with LLVM, in the general settings i choose "LLVM-clang" instead of "Visual Studio". It always worked with everything i tried on until now (x265, avisynth, DirectShow Source, any of my projects). But when i tried with soundtouch, it builds with "Visual Studio", but when switched to "LLVM-clang", i have the following error (i've translated some parts): Code:
2>------ Start of generation : Project : SoundTouch, Configuration : Release x64 ------ 2>Building Custom Rule C:/PRG/Visual_2010/soundtouch/CMakeLists.txt 2>In file included from <built-in>:488: 2><command line>(6,9): error : macro name must be an identifier 2><command line>(7,9): error : macro name must be an identifier 2>Generation of project "SoundTouch.vcxproj" ended -- FAIL. Does someone know by any chance how to fix this
__________________
My github. |
|
|
|
|
|
#3308 | Link | |
|
Registered User
Join Date: Jul 2018
Posts: 594
|
Quote:
|
|
|
|
|
|
|
#3309 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,637
|
Hello.
My cmake command is: Code:
@cd .\soundtouch\Build\x86_Broadwell G:\CMakex64\bin\cmake -G "Visual Studio 16" -A Win32 ../../../../../Visual_2010/soundtouch -DCMAKE_INSTALL_PREFIX="C:\PRG\Visual_2019\AviSynth\Soundtouch\Install\x86_Broadwell" -DCMAKE_CXX_FLAGS_RELEASE="/sdl- /MP /O2 /Ob2 /Oi /Ot /Oy /GT /GL /GF /GS- /Gy /Qpar /arch:AVX2 /MD" @cd ..\x64_Broadwell G:\CMakex64\bin\cmake -G "Visual Studio 16" -A x64 ../../../../../Visual_2010/soundtouch -DCMAKE_INSTALL_PREFIX="C:\PRG\Visual_2019\AviSynth\Soundtouch\Install\x64_Broadwell" -DCMAKE_CXX_FLAGS_RELEASE="/sdl- /MP /O2 /Ob2 /Oi /Ot /Oy /GT /GL /GF /GS- /Gy /Qpar /arch:AVX2 /MD" pause
__________________
My github. |
|
|
|
|
|
#3311 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,637
|
It fails saying it can't find the llvm-clang tools.
They are installed and they're working when using from VS, otherwise i would never been able to release all my LLVM builds... ![]() (Except with soundtouch...).
__________________
My github. |
|
|
|
|
|
#3314 | Link |
|
Registered User
Join Date: Jul 2018
Posts: 594
|
Did you try:
Code:
@cd ..\x64_Broadwell G:\CMakex64\bin\cmake -G "Visual Studio 16" -A x64 ../../../../../Visual_2010/soundtouch -DCMAKE_INSTALL_PREFIX="C:\PRG\Visual_2019\AviSynth\Soundtouch\Install\x64_Broadwell" |
|
|
|
|
|
#3315 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,637
|
The full command which creates the solution, i double-click on the .bat file, so it's the same as running from cmd.
When the .bat file is finished and the solution created, i start Visual Studio, open the solution and finish the configuration/settings i can't do with the CMake/bat file. And then i build the solution. But, for the command with "-T", i've also do the same. I'll try running it from "x64 Native tools...". EDIT: No change running from "x64 Native tools...", still saying it can't find the tools. The only error message i have for now when building with llvm is the one provided post #3307...
__________________
My github. Last edited by jpsdr; 9th April 2025 at 20:42. |
|
|
|
|
|
#3316 | Link |
|
Formerly davidh*****
![]() Join Date: Jan 2004
Posts: 2,822
|
I just had another thought about my inter-filter communication idea which I outlined here (and further up): https://forum.doom9.org/showthread.php?p=2013635
It could also be useful if filters could access their "depth", e.g. so two filters could work out whether they were neighbouring in the chain. It could allow them to avoid unnecessary conversions, for example if you called two filters that knew about each other on an 8-bit clip in succession, the first filter could produce 32-bit float output and leave the downconversion for the second filter (but only if there are no intervening filters that don't understand such negotiations), which would reduce rounding errors. It could similarly help GPU filters decide when writing back to the CPU can (or can't) be avoided. But maybe such things are best left for the user to make explicit in the script... |
|
|
|
|
|
#3317 | Link | |
|
Registered User
Join Date: Jul 2018
Posts: 594
|
Quote:
Code:
@cd ..\x64_Broadwell G:\CMakex64\bin\cmake -G "Visual Studio 16" -A x64 ../../../../../Visual_2010/soundtouch -DCMAKE_INSTALL_PREFIX="C:\PRG\Visual_2019\AviSynth\Soundtouch\Install\x64_Broadwell" Your error suggests that some of the options isn't recognized by clang. Try with default options, if this works, change option by option to see what's the culprit. |
|
|
|
|
|
|
#3318 | Link |
|
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,501
|
I was able to replicate the problem from the command line directly with CMake a few days ago. Unpack the upstream LLVM somewhere, use https://github.com/zufuliu/llvm-utils to install the extra toolsets into VS2019, set the LLVMInstallDir environment variable to the bin directory where it was installed (only necessary for the latest release because there currently isn't an installer for 20.1.2, just 20.1.1), and invoke CMake using -G "Visual Studio 16 2019" -A x64 -T LLVM_v142.
Configuration completes successfully, msbuild (cmake --build . - the value of --config doesn't matter) fails. Unfortunately, the error message is exactly the same as above. The closest results from searching come from old questions on Stack Overflow that point toward it being a problem in the source code, like this one: https://stackoverflow.com/questions/...be-identifiers But since the error message itself doesn't say anything about the actual piece of code that triggers the issue or in which source file, you're left guessing. |
|
|
|
|
|
#3319 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,637
|
@StvG
I'm using the same exact options on others CMake stuff (avisynth, x265), and everything works fine. Anyway, i tried exactly what you've asked, both directly or from "Native tools", the same error message. @qyot27 I thought it was a CMake stuff file error, but according what you said, it may be something in the code, Visual Studio accept, but llvm less permissive don't ? I never suspect that, but it's somehow a start... It would be indeed better as you said if the file with the problem was identified... ![]() EDIT: I tried to activate all the warnings in VS, but it didn't allow me to find anything (the fact i didn't see anything doesn't meen there is nothing... ).
__________________
My github. Last edited by jpsdr; 12th April 2025 at 11:49. |
|
|
|
|
|
#3320 | Link | |
|
Registered User
Join Date: Jul 2018
Posts: 594
|
Quote:
Edit: I reproduced it. I had removed this line https://codeberg.org/soundtouch/soun...eLists.txt#L10. Removing the line - no issues. Last edited by StvG; 12th April 2025 at 14:15. |
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|