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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 16th February 2023, 16:51   #2241  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by pinterf View Post
Test2 is still running fine for you?
Answering to myself
No. Test2 should not work either. Contains
Code:
493 (0x000001ed), GetFileInformationByHandleEx, C:\WINDOWS\SysWOW64\kernel32.dll
instead of
Code:
492 (0x000001ec), GetFileInformationByHandle, C:\WINDOWS\SysWOW64\kernel32.dll
pinterf is offline   Reply With Quote
Old 16th February 2023, 17:46   #2242  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,902
Quote:
Originally Posted by pinterf View Post
I have double checked the option now. I don't know what happens.
Uhmmm weird.

Quote:
Originally Posted by pinterf View Post
Test2 is still running fine for you?
Actually no, I originally skipped Test2 'cause I forgot back then, but I downloaded it now and it has the same two missing functions.

Quote:
Originally Posted by pinterf View Post
No. Test2 should not work either.
Correct. I just tested it and it doesn't work.

Just to recap, if I remember correctly XP support is given by:

- Setting v141_xp
- Using /Z:threadsafeinit
- Ticking the "Support XP" checkbox in CMake

Were all those done?
I remember we had a very similar issue when you merged part of Avisynth Neo into Avisynth+ but was later solved.
FranceBB is offline   Reply With Quote
Old 17th February 2023, 09:50   #2243  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Great. Uninstalled v141_xp support from Visual Studio 2022. Then reinstalled.
Now the generated DLL seems good, at least I can see GetFileInformationByHandle and no GetFileInformationByHandleEx.
I'm gonna arrange another build soon.
pinterf is offline   Reply With Quote
Old 17th February 2023, 12:50   #2244  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,902
Gotcha. Thanks!
I look forward to it.
FranceBB is offline   Reply With Quote
Old 17th February 2023, 13:29   #2245  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Here you are. XP forever (or not).
For our young members: https://en.wikipedia.org/wiki/Windows_XP

Avisynth+ 3.7.3 test 5 (20230217)

All-in-one changes since 3.7.2

Code:
20230216 3.7.3 WIP
------------------
- Bump AviSynth interface version to 10.0
- Add avs_video_frame_get_pixel_type and avs_video_frame_amend_pixel_type to C interface as well 
- Fix (#327) Histogram "color2" markers. Fix right shifted 15 degree dots, fix square for bits>8
- Feature (#317): (V10 interface) The color format of a VideoFrame can now be retrieved with its GetPixelType()
  function. Before, there was no reliable way of knowing it on a frame from propGetFrame().
  The internally stored pixel_type in VideoFrame is properly converted upon a Subframe (Y8-32), SubframePlanar (strip alpha).
- Feature (#317): (V10 interface) added ``VideoFrame::AmendPixelType`` and ``avs_video_frame_amend_pixel_type``.
  Introduced in order to keep VideoInfo and VideoFrame pixel_type synchronized for special cases:
  when filter constructor would just change ``VideoInfo::pixel_type``, but the frame would be passed w/o any change, like in ``ConvertFromDoubleWidth`` or ``CombinePlanes``.
- Feature (#314): Added AVSValue::GetType()
  Returns an AvsValueType enum directly, one can use it instead of calling all IsXXX functions to establish the type. (Rust use case)
- "Text" new parameter: "placement" for chroma location hint
  - Used in subsampled YUV formats, otherwise ignored.
  - Valid values for "placement" are the same as in ChromaInPlacement and 
    ChromaOutPlacement in the Convert functions.
  - Meaningful values: "center", "left", "auto" at the moment
  - Default value is 
    - read from "_ChromaLocation" frame property, otherwise "left"
    - override or set from "placement" parameter if parameter is other than "auto"
    - if "auto" + have frame property -> use frame property
    - if "auto" + no frame property -> use "left"
    - no frame property and no parameter -> use "left"
  - Only "center" and "left" is implemented. (center is known as jpeg or mpeg1, left is known as mpeg2)
    If "center" is given directly or read from frame property, it will be used.
    Otherwise "Text" renders chroma as "left" (mpeg2)
- Enhancement (#314): Gave all enums of public C++ API a name, and added DEFAULT_PLANE to AvsPlane (also in C API).
- Fix (#314): Changed NewVideoFrameP() property source argument to const in accordance with copyFrameProps(), since it's not meant to be written
  Fixed in C interface as well: avs_new_video_frame_p and avs_new_video_frame_p_a: prop_src argument now const (no change in use)
- Enhancement (#314): Made VideoFrameBuffer destructor public like in other classes of the public API to prevent compiler errors downstream when calling non-const member functions
- "Text": Almost fully rewritten. 
  (#310) Support any width of bdf fonts (but still of fixed width)
  Render in YUY2 is as nice as in YV16
  Halo is not limited to original character matrix boundaries
  Halo is not character based, but rendered on the displayed string as a whole.
  Some speed enhancements, mainly for subsampled formats and outlined (with halo) styles
- Enhancement (#315): Show exception message as well if a v2.6-style plugin throws AvisynthError in its
  AvisynthPluginInit3() instead of only "'xy.dll' cannot be used as a plugin for AviSynth."
- "Text": draw rightmost on-screen character even if only partially visible (was: not drawn at all)
- "Text": support more from the BDF standard (issue #310): per-character boundary boxes and shifts
- "Text" (#310): support 17-32 pixel wide external BDF fonts (issue #310)
- Fix: "Text" filter negative x or y coordinates (e.g. 0 instead of -1)
- Fix: "Text" filter would omit last character when x<0
- Fix: "Text" halo_color needs only MSB=$FF and not the exact $FF000000 constant for fade
- "Text" ``halo_color`` allows to have both halo and shaded background when halo_color MSB=$FE
- "Text" much nicer rendering of subsampled formats (#308)
- Address Issue #305: Support for non-decorated avisynth_c_plugin_init in 32 bit C-plugins
- Huge documentation update by Real-Deal
- Fix (#304): ColorYUV analyze=true was displaying wrong min-max values for YUY2
- Fix: C API undefined behavior when upstream throw runtime error
- Mute compilation warnings in avisynth.h
- CMakeLists.txt: fix clang-cl/intel with ninja generator
- Fix (#293): "Text" to throw proper error message if the specified font name (e.g. Arial) is not found among internal bitmap fonts.
- Fix (#293): "Subtitle" and "Text" filter to respect the explicitely given coorditanes for y=-1 or x=-1, 
  instead of applying vertical/horizontal center alignment.
- CMakeLists.txt: add support for Intel C++ Compiler 2022
- Fix: C interface avs_prop_get_data behave like C++ counterpart. Interim version for this fix is 9.2
- Fix: C interface crash when using avs_new_video_frame_p(_a)
- Fix (#283): broken runtime functions min/max/minmaxdifference when threshold is not 0 (returned -1). Regression in 3.7.2
- New: add a sixth array element to PlaneMinMaxStats: average. Defines variable "PlaneStats_average" as well if setting variables is required.
- Fix (#282): ConvertToRGB
  - do check for exact 8 or 16 bit input, because packed RGB formats exist only for 8 and 16 bits
  - keep alpha for RGBA planar - convert RGBAP8/16 to RGB32/64, while RGBP8/16 is still RGB24/48
pinterf is offline   Reply With Quote
Old 17th February 2023, 14:40   #2246  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,902
Works like a charm!



Quote:
Originally Posted by pinterf View Post
XP forever (or not).
You know, we do actually have a group on Skype called "Windows XP Forever" with lots of members from the community which is still alive and kicking



Anyway, so far so good, thanks Ferenc, as always!

FranceBB is offline   Reply With Quote
Old 17th February 2023, 14:42   #2247  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
"Windows XP Forever" will make XP ver still update beside newer windows??
kedautinh12 is offline   Reply With Quote
Old 17th February 2023, 14:47   #2248  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,902
Quote:
Originally Posted by kedautinh12 View Post
"Windows XP Forever" will make XP ver still update beside newer windows??
Yes, it's "forever" right in the name LMAO
Jokes aside, by the way, you should know that Avisynth 2.6.1 released in 2016 was still Windows98SE compatible, never mind XP hahahahaha
FranceBB is offline   Reply With Quote
Old 18th February 2023, 04:25   #2249  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,650
Quote:
Originally Posted by pinterf View Post
All-in-one changes since 3.7.2
Still crashing for me, narrowed down things as much as I think I can do.

ffdshow added as an external filter in media player - Avisynth box ticked in ffdshow, blank code in the code box (no filters loaded at all), YV12 ticked in ffdshow as input colorspace, that's it.

Windows 11 22H2, i5 10400F 16GB.
ryrynz is offline   Reply With Quote
Old 18th February 2023, 04:35   #2250  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,371
Quote:
Originally Posted by pinterf View Post
Code:
20230216 3.7.3 WIP
------------------
- Huge documentation update by Real-Deal
Should be "Reel.Deel" ?
poisondeathray is offline   Reply With Quote
Old 18th February 2023, 04:50   #2251  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by poisondeathray View Post
Should be "Reel.Deel" ?
Either one works. On GitHub and the AviSynth wiki my handle is with an A. Edit: I guess if I want to be picky, reel is always with 2 Es

----

Quote:
Originally Posted by jpsdr View Post
This r3912 version broke high bit format, the following script:
Code:
SetMemoryMax(192)
AviSource("Dark_Crystal_HDR_16b.avi")
ConverttoYUV444()
doesn't work anymore , my avi file is utvideo yuv422p10le.

The AvisynthPlus_3.7.3_20230118_test3 is working.
Quote:
Originally Posted by jpsdr View Post
I can't open the avs file in Virtualdub2 anymore.

Unknow or unsupported video format.

Not exactly the same as yours but no error message with the script below with 3.7.3 test 5 (r3931).

Code:
SetMemoryMax(192)
ColorBars(1920, 1080, pixel_type="YUV420P10")
ConverttoYUV444()

Last edited by Reel.Deel; 18th February 2023 at 05:20.
Reel.Deel is offline   Reply With Quote
Old 18th February 2023, 11:51   #2252  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
The issue is not with the convert but with the AVISource.
My bad, i should have been more explicit.
I have to redo the test with test5 now.
__________________
My github.
jpsdr is offline   Reply With Quote
Old 18th February 2023, 13:17   #2253  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by ryrynz View Post
Still crashing for me, narrowed down things as much as I think I can do.

ffdshow added as an external filter in media player - Avisynth box ticked in ffdshow, blank code in the code box (no filters loaded at all), YV12 ticked in ffdshow as input colorspace, that's it.

Windows 11 22H2, i5 10400F 16GB.
Yes. For some reason test1 is OK, test2 is not.
pinterf is offline   Reply With Quote
Old 18th February 2023, 13:40   #2254  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by pinterf View Post
Yes. For some reason test1 is OK, test2 is not.
Fixed, test6 is coming soon.
pinterf is offline   Reply With Quote
Old 18th February 2023, 14:37   #2255  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Avisynth+ 3.7.3 test 6 (20230218)
Changes since yesterday's test5: ffdshow fix, new resizers and parameterized chroma resampler option in ConvertToXXXX filters

Code:
20230218 3.7.3 WIP
------------------
- (#337) Add more resizers types by jpsdr's and DTL's idea: backport from https://github.com/jpsdr/ResampleMT
  
  SinPowerResize "cii[src_left]f[src_top]f[src_width]f[src_height]f[p]f"
  parameters like GaussResize: optional "p"
  Default: p=2.5
  
  SincLin2Resize "cii[src_left]f[src_top]f[src_width]f[src_height]f[taps]i"
  parameters like SincFilter or LanczosFilter: optional "taps"
  Default taps=15
  
  UserDefined2Resize "cii[b]f[c]f[src_left]f[src_top]f[src_width]f[src_height]f"
  parameters like BicubicResize: Optional "b" and "c"
  Default b=121.0, c=19.0
  
  and their equivalent for the ConvertToXXXX family:
  "sinpow",  "sinclin2" and "userdefined2"

  - Add "param1" and "param2" to ConvertToXXXX where "chromaresample" parameter exists.
  Now it is possible to use chromaresample with nondefault settings.
  
  param1 will set 'taps', 'b', or 'p', while param2 sets 'c' parameter for resizers where applicable.

  b,c: bicubic (1/3.0, 1/3.0), userdefined2 (121.0, 19.0)
  taps: lanczos (3), blackman (4), sinc (4), sinclin2 (15)
  p: gauss (30.0), sinpow (2.5)
  'param1' and 'param2' are always float. For 'taps' 'param1' is truncated to integer internally.
  When a resizer does not use parameters they are simply ignored.
- Add avs_video_frame_get_pixel_type and avs_video_frame_amend_pixel_type to C interface as well 
- Fix (#327) Histogram "color2" markers. Fix right shifted 15 degree dots, fix square for bits>8
- Feature (#317): (V10 interface) The color format of a VideoFrame can now be retrieved with its GetPixelType()
  function. Before, there was no reliable way of knowing it on a frame from propGetFrame().
  The internally stored pixel_type in VideoFrame is properly converted upon a Subframe (Y8-32), SubframePlanar (strip alpha).
- Feature (#317): (V10 interface) added ``VideoFrame::AmendPixelType`` and ``avs_video_frame_amend_pixel_type``.
  Introduced in order to keep VideoInfo and VideoFrame pixel_type synchronized for special cases:
  when filter constructor would just change ``VideoInfo::pixel_type``, but the frame would be passed w/o any change, like in ``ConvertFromDoubleWidth`` or ``CombinePlanes``.
- Feature (#314): Added AVSValue::GetType()
  Returns an AvsValueType enum directly, one can use it instead of calling all IsXXX functions to establish the type. (Rust use case)
- Enhancement (#314): (avisynth.h) Gave all enums of public C++ API a name, and added DEFAULT_PLANE to AvsPlane (also in C API).
- Fix (#314): (avisynth.h) Changed NewVideoFrameP() property source argument to const in accordance with copyFrameProps(), since it's not meant to be written
  Fixed in C interface as well: avs_new_video_frame_p and avs_new_video_frame_p_a: prop_src argument now const (no change in use)
- Enhancement (#314): Made VideoFrameBuffer destructor public like in other classes of the public API to prevent compiler errors downstream when calling non-const member functions
- "Text" new parameter: "placement" for chroma location hint
  - Used in subsampled YUV formats, otherwise ignored.
  - Valid values for "placement" are the same as in ChromaInPlacement and 
    ChromaOutPlacement in the Convert functions.
  - Meaningful values: "center", "left", "auto" at the moment
  - Default value is 
    - read from "_ChromaLocation" frame property, otherwise "left"
    - override or set from "placement" parameter if parameter is other than "auto"
    - if "auto" + have frame property -> use frame property
    - if "auto" + no frame property -> use "left"
    - no frame property and no parameter -> use "left"
  - Only "center" and "left" is implemented. (center is known as jpeg or mpeg1, left is known as mpeg2)
    If "center" is given directly or read from frame property, it will be used.
    Otherwise "Text" renders chroma as "left" (mpeg2)
- "Text": Almost fully rewritten. 
  (#310) Support any width of bdf fonts (but still of fixed width)
  Render in YUY2 is as nice as in YV16
  Halo is not limited to original character matrix boundaries
  Halo is not character based, but rendered on the displayed string as a whole.
  Some speed enhancements, mainly for subsampled formats and outlined (with halo) styles
- Enhancement (#315): Show exception message as well if a v2.6-style plugin throws AvisynthError in its
  AvisynthPluginInit3() instead of only "'xy.dll' cannot be used as a plugin for AviSynth."
- "Text": draw rightmost on-screen character even if only partially visible (was: not drawn at all)
- "Text": support more from the BDF standard (issue #310): per-character boundary boxes and shifts
- "Text" (#310): support 17-32 pixel wide external BDF fonts (issue #310)
- Fix: "Text" rounding negative x or y coordinates (e.g. x=-1 resulted in 0 instead of -1)
- Fix: "Text" would omit last character when x<0
- Fix: "Text" halo_color needs only MSB=$FF and not the exact $FF000000 constant for fade
- "Text" ``halo_color`` allows to have both halo and shaded background when halo_color MSB=$FE
- "Text" much nicer rendering of subsampled formats (#308)
- CMakeLists.txt: add support for Intel C++ Compiler 2022
- Address Issue #305: Support for non-decorated avisynth_c_plugin_init in 32 bit C-plugins
- Huge documentation update by Reel-Deal
- Fix (#304): ColorYUV analyze=true was displaying wrong min-max values for YUY2
- Fix: C API undefined behavior when upstream throw runtime error 
  (released in test2, fixed in test6 - ffdshow crash)
- Mute compilation warnings in avisynth.h
- CMakeLists.txt: fix clang-cl/intel with ninja generator
- Fix (#293): "Text" to throw proper error message if the specified font name (e.g. Arial) is not found among internal bitmap fonts.
- Fix (#293): "Subtitle" and "Text" filter to respect the explicitely given coorditanes for y=-1 or x=-1, 
  instead of applying vertical/horizontal center alignment.
- Fix: C interface crash when using avs_new_video_frame_p(_a)
- Fix (#283): broken runtime functions min/max/minmaxdifference when threshold is not 0 (returned -1). Regression in 3.7.2
- New: add a sixth array element to PlaneMinMaxStats: average. Defines variable "PlaneStats_average" as well if setting variables is required.
- Fix (#282): ConvertToRGB
  - do check for exact 8 or 16 bit input, because packed RGB formats exist only for 8 and 16 bits
  - keep alpha for RGBA planar - convert RGBAP8/16 to RGB32/64, while RGBP8/16 is still RGB24/48
pinterf is offline   Reply With Quote
Old 19th February 2023, 01:23   #2256  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,361
Quote:
Code:
- Add "param1" and "param2" to ConvertToXXXX where "chromaresample" parameter exists.
Thanks for the update! Wasn't expecting this, it will come very useful for perf optimizations.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread
Dogway is offline   Reply With Quote
Old 19th February 2023, 03:26   #2257  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,650
Quote:
Originally Posted by pinterf View Post
Changes since yesterday's test5: ffdshow fix, new resizers and parameterized chroma resampler option in ConvertToXXXX filters
Thank you, all good now.
ryrynz is offline   Reply With Quote
Old 19th February 2023, 18:21   #2258  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
AviSynthPlus r3935 clang build
https://gitlab.com/uvz/AviSynthPlus-Builds
kedautinh12 is offline   Reply With Quote
Old 20th February 2023, 19:19   #2259  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
I again have the same issue, the following script:
Code:
SetMemoryMax(192)
AviSource("frame_divide_count_2.avi")
where the video is yuv422p10le of utvideo gives me the following error:
Quote:
File open error
AVI Import Filter error: (unknow) (80040154)
when i try to open it with VirtualDub2.

The issue is specific to the clang builds. It happens with the r3935 and r3912.
The test3, test5 and test6 files provided by Pinterf work fine, so i think there is something wrong with the clang builds, it doesn't seem to be an avisynth issue.
__________________
My github.
jpsdr is offline   Reply With Quote
Old 22nd February 2023, 10:01   #2260  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Quote:
Originally Posted by jpsdr View Post
I again have the same issue, the following script:
Code:
SetMemoryMax(192)
AviSource("frame_divide_count_2.avi")
where the video is yuv422p10le of utvideo gives me the following error: when i try to open it with VirtualDub2.

The issue is specific to the clang builds. It happens with the r3935 and r3912.
The test3, test5 and test6 files provided by Pinterf work fine, so i think there is something wrong with the clang builds, it doesn't seem to be an avisynth issue.
Hi jpsdr!

Fixed on git, kedautinh12 will be soon happy to announce that a new clang build appears.

Crash occured when P10 or P16 format was exported on AVI interface (which VirtualDub is using)

Reason: clang build was using an aligned store operation, but the pitch of the target was not dividable by 16, so exporting the second row failed immediately.
MSVC builds compiled an unaligned store at that place, this is why it did not crash.

Thanks for the report.
pinterf is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 17:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.