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 10th December 2020, 08:41   #761  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
New build.
Avisynth+ 3.6.2 test6 (20201210)

Code:
20201210 3.6.2-test6
-----------------------
- AviSource: fix test5 regression which refused handling old formats like YV24

20201208 3.6.2-test5
-----------------------
- Resizers: throw error on too small dimensions vs. taps
- Add ShowCRC32 debug filter. Parameters are the same as in ShowFrameNumber
- Overlay: allow 4:1:1 input
- Overlay: fix crash when mask is YUV411 and greymask=false
- Overlay: may work quicker, most input/overlay/mask/output clip format conversions moved to filter constructor
- RemoveAlphaPlane: do nothing on YUY2 instead of throwing an error message
- AviSource: support non-printing characters in fourCC code: allow [number] style, e.g. G3[0][16]
- AviSource: add Y410 (YUVA444P10) format support. Allow 'Y410' pixel_type hints.
- AviSource: decode b64a, b48r, v210, P210, P010, P016, P216, v410, Y416, r210, R10k, v308, v408, Y410 fourCCs natively.
- Fix: Average...: check for valid colorspace (e.g. no AverageB for a YUV clip)
- Add: AverageA
- New: Average...: allow YUY2, RGB24/32/48/64 inputs

20201112 3.6.2-test4
--------------------
- Fix: Overlay: Actual frame of a mask clip would be freed up too early in MT environment
- Fix: ConvertBits to ignore dither parameter instead of throwing error, in a 8 to 8 bit case
pinterf is offline   Reply With Quote
Old 10th December 2020, 14:20   #762  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,153
Thanks
kedautinh12 is offline   Reply With Quote
Old 10th December 2020, 19:03   #763  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Yo da' man, tanks
__________________
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 ???
StainlessS is offline   Reply With Quote
Old 12th December 2020, 21:52   #764  |  Link
Soulvomit
Registered User
 
Join Date: May 2012
Posts: 28
Quote:
Originally Posted by StainlessS View Post
@Soulvomit, Sorry, I should have suggested that.
Quote:
Originally Posted by poisondeathray View Post
you can try another source filter like ffms2 or lsmash
Thanks, friends. ffms2 did it.
Soulvomit is offline   Reply With Quote
Old 20th December 2020, 18:38   #765  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
I was thinking it would be nice to have a block-based TemporalSoften to have an MDegrain with no motion search. Also the sum of square difference would be nice.
Ceppo is offline   Reply With Quote
Old 11th January 2021, 23:16   #766  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
AviSynth+ 3.7.0 has been released.
  • Haiku support
  • PowerPC support
  • Support for building the core as a static library (mcmtroffaes)
  • Fixes for MinGW-w64 compilation
  • Shibatch, TimeStretch, and ImageSeq GCC build support
  • Shibatch, TimeStretch, and ImageSeq non-Windows support
  • Fix: AddBorders did not pass frame properties
  • Fix: propSet, propDelete and propClearAll not to ruin visibility of variables
    (property read functions are still kept being runtime only)
  • AviSource: fix test5 regression which refused handling old formats like YV24
  • Resizers: throw error on too small dimensions vs. taps
  • Add ShowCRC32 debug filter. Parameters are the same as in ShowFrameNumber
  • Overlay: allow 4:1:1 input
  • Overlay: fix crash when mask is YUV411 and greymask=false
  • Overlay: may work quicker, most input/overlay/mask/output clip format conversions moved to filter constructor
  • RemoveAlphaPlane: do nothing on YUY2 instead of throwing an error message
  • AviSource: support non-printing characters in fourCC code: allow [number] style, e.g. G3[0][16]
  • AviSource: add Y410 (YUVA444P10) format support. Allow 'Y410' pixel_type hints.
  • AviSource: decode b64a, b48r, v210, P210, P010, P016, P216, v410, Y416, r210, R10k, v308, v408, Y410 fourCCs natively.
  • Fix: Average...: check for valid colorspace (e.g. no AverageB for a YUV clip)
  • Add: AverageA
  • New: Average...: allow YUY2, RGB24/32/48/64 inputs
  • Fix: Overlay: Actual frame of a mask clip would be freed up too early in MT environment
  • Fix: ConvertBits to ignore dither parameter instead of throwing error, in a 8 to 8 bit case
  • Fix: GeneralConvolution missing internal rounding on 8-16 bit formats
  • support for Win10 long file path option
  • project: Improve inclusion of the ghc filesystem helper library
  • project: Add a GitHub action workflow
  • posix: fix crash when autoloading imports
  • internally refactored ConvertAudio
  • ConvertBits(8): fix dither=1 (floyd) for RGB48/RGB64
  • Fix: Blur right side garbage: 16 bit+AVX2+non mod32 width
  • Fix: check fn signature with implicite "last" first (3.6 regression)
  • Fix: function parameters provided as arrays (e.g. GrunT callback of WriteFileIf)
  • Fix: ConvertBits (YUV): proper rounding when bit depth is reduced and origin is 10-16 bits
    (added rounder before bit-shift)
  • New: Histogram("color2") to support 10+ bits.
    Allow bits=x (x=8,9,10,11,12) parameter for this kind of histogram as well.

Due to the addition of support for Haiku, PowerPC, and building the core as a static library, the version needed to be bumped. Otherwise, you can consider this equivalent to a final release of 3.6.2, as those things largely don't affect Windows (although another big part of this was fixing up MinGW-w64/GCC build support).
qyot27 is offline   Reply With Quote
Old 12th January 2021, 01:36   #767  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Awesome, thanks very much you guys, you're the best.
__________________
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 ???
StainlessS is offline   Reply With Quote
Old 12th January 2021, 07:48   #768  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Happy New Release! Thank you, qyot27.
pinterf is offline   Reply With Quote
Old 12th January 2021, 08:16   #769  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by qyot27 View Post
AviSynth+ 3.7.0 has been released.
Otherwise, you can consider this equivalent to a final release of 3.6.2, as those things largely don't affect Windows
Does this mean that there are no real differences or fixes compared to the latest pinterf 3.6.2 test 6 version?

Since I am Windows only do I loose anything if I stick to the latest pinterf test 6 version?
manolito is offline   Reply With Quote
Old 12th January 2021, 09:16   #770  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
There were a couple fixes related to passing around frame properties and SSE2, and fixing a segfault-on-exit issue with SSRC (although that *might* have only affected Linux in the first place). Most of the rest after test 6 was various build system tweaks/cleanup and the non-Windows features.
qyot27 is offline   Reply With Quote
Old 12th January 2021, 10:44   #771  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Good job ! Huge thanks !
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline   Reply With Quote
Old 12th January 2021, 10:51   #772  |  Link
Losko
Registered User
 
Join Date: Dec 2010
Posts: 65
Great release, THANK YOU
Losko is offline   Reply With Quote
Old 12th January 2021, 12:00   #773  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,493
Quote:
Originally Posted by qyot27 View Post
[list][*]Haiku support
Oh, Haiku support?
I have no clue what that is
But it sounds clever
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 12th January 2021, 12:18   #774  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
It's the open source version of BeOS https://en.wikipedia.org/wiki/BeOS
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 12th January 2021, 14:29   #775  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Quote:
Originally Posted by qyot27 View Post
There were a couple fixes related to passing around frame properties and SSE2, and fixing a segfault-on-exit issue with SSRC (although that *might* have only affected Linux in the first place). Most of the rest after test 6 was various build system tweaks/cleanup and the non-Windows features.
Got it. I'll update from Test 6 to the stable release anyway, just to make sure.

Quote:
New: Histogram("color2") to support 10+ bits.
And by the way, thank for this!!

Last edited by FranceBB; 12th January 2021 at 14:37.
FranceBB is offline   Reply With Quote
Old 12th January 2021, 22:26   #776  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,646
Quote:
Originally Posted by ChaosKing View Post
It's the open source version of BeOS https://en.wikipedia.org/wiki/BeOS
That was a Haiku, I was going to do something similar with StainlessS's post but it took too long to make something good so I didn't :P
ryrynz is offline   Reply With Quote
Old 16th January 2021, 19:46   #777  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,718
FranceBB has an interesting point here: https://forum.doom9.org/showthread.p...80#post1933580.

How should one handle chroma location? In UHD sources, it's type 2 but in Avisynth, you handle it as type 1 as far as I've understood. The question is: can something be done about it in Avisynth, and if not, should one tell the encoder that the source actually is type 1?

Disclaimer: I'm blind enough to never have noticed the issue. I do recall some earlier discussion regarding issues with red colour and x265 encodes, but I think it never really came to any conclusion.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 16th January 2021, 23:23   #778  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
I think ffms2 and Lwlibav convert the chroma location from Type2 to the old MPEG-2 version, so from:

Code:
X X
X X
(where the Chroma sample sits right on top of the top left Luma sample)

to

Code:
X X
c
X X
(where X is Luma and "c" is Chroma)

therefore, specifying --chromaloc 2 is wrong if your input is an Avisynth Script.
Ever since I began encoding with x265 years ago, I used FFmpeg to open the AVS Script, convert the chroma location back to Type 2 and then pipe to x265 to encode the video like so:

Code:
ffmpeg.exe -i "AVS Script.avs" -vf scale=out_color_matrix=bt2020nc:out_h_chr_pos=0:out_v_chr_pos=0 -pix_fmt yuv420p16le -strict -1 -an -f yuv4mpegpipe - | x265.exe --y4m -

Still, I'd love to see Avisynth and its plugin be able to support the "new" chroma location, just like it happened with the MPEG-1 variant and the MPEG-2 variant.
If you think about this, though, so far plugins generally assumed that the chroma location is MPEG-2 and you have to manually specify if it's MPEG-1 as they don't get it automatically, wouldn't it be better to somehow make the indexer pass this information through so that plugins will be aware of this? I know that someone has to be aware of his own source, but still, prevention is better than cure (TL;DR sometimes it's better to babysit the users a bit).

Last edited by FranceBB; 16th January 2021 at 23:25.
FranceBB is offline   Reply With Quote
Old 17th January 2021, 04:19   #779  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
avsresize has chromaloc_op, so you change from one to another

Code:
- chromaloc_op (default left):
    ```
    "left" ("mpeg2") (0),
    "center" ("jpeg", "mpeg1") (1),
    "top_left" (2),
    "top" (3),
    "bottom_left" (4),
    "bottom" (5)

Format is" `"[locS]=>[locD]"`
Example JPEG to MPEG2: `"center=>left"`
poisondeathray is offline   Reply With Quote
Old 17th January 2021, 07:41   #780  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by FranceBB View Post
I think ffms2 and Lwlibav convert the chroma location from Type2 to the old MPEG-2 version, so from:

Code:
X X
X X
(where the Chroma sample sits right on top of the top left Luma sample)

to

Code:
X X
c
X X
(where X is Luma and "c" is Chroma)

therefore, specifying --chromaloc 2 is wrong if your input is an Avisynth Script.
Ever since I began encoding with x265 years ago, I used FFmpeg to open the AVS Script, convert the chroma location back to Type 2 and then pipe to x265 to encode the video like so:

Code:
ffmpeg.exe -i "AVS Script.avs" -vf scale=out_color_matrix=bt2020nc:out_h_chr_pos=0:out_v_chr_pos=0 -pix_fmt yuv420p16le -strict -1 -an -f yuv4mpegpipe - | x265.exe --y4m -

Still, I'd love to see Avisynth and its plugin be able to support the "new" chroma location, just like it happened with the MPEG-1 variant and the MPEG-2 variant.
If you think about this, though, so far plugins generally assumed that the chroma location is MPEG-2 and you have to manually specify if it's MPEG-1 as they don't get it automatically, wouldn't it be better to somehow make the indexer pass this information through so that plugins will be aware of this? I know that someone has to be aware of his own source, but still, prevention is better than cure (TL;DR sometimes it's better to babysit the users a bit).
Would that be this?
https://github.com/AviSynth/AviSynth...visynth.h#L745

That's been there a loooooong time; way back during the 2.6 alphas. But I can't seem to find a part of the callable API that can query it (unless that's what PlanarChromaAlignment is in avisynth.cpp, but that seems like just a placeholder). It's not there at all in avisynth_c.h/avisynth_c.cpp.

Finding and fleshing out stuff like that probably should be a priority for the next API bump. I've started a discussion on Github about it, as a brainstorming/tracker of API stuff to consider:
https://github.com/AviSynth/AviSynth...iscussions/206
qyot27 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 20:17.


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