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
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th August 2016, 09:52   #61  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, see 1rst post. I'll not say final, because there may be update in the functions of the core in the future i'll try to follow, but for now, i think i'm done with the threadpool part.
jpsdr is offline   Reply With Quote
Old 30th August 2016, 20:41   #62  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Never said "At last, final version"...
New version, see 1rst post.
jpsdr is offline   Reply With Quote
Old 31st August 2016, 04:42   #63  |  Link
bilditup1
Registered User
 
bilditup1's Avatar
 
Join Date: Feb 2004
Location: NYC
Posts: 124
With latest avs+ mt r2172 & your nnedi3 r26, using this yields a 1.5fps increase using this script on a (for now) stock 4770K. Sometimes the encode appears to halt entirely but I'm not sure if this is an avs+ issue or a ResampleMT/nnedi3 issue.
bilditup1 is offline   Reply With Quote
Old 2nd September 2016, 17:22   #64  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, see first post.
I've added several parameter to allow to tune the created threadpool. I've made several testbench, and set the default settings correspond to the best result i have on my PC. But, it doesn't mean it will be also what produce the best result on others PC, so, the parameters added will allow to eventualy each one tune according his hardware configuration.

Check the ReadMe file for precise information.

Last edited by jpsdr; 2nd September 2016 at 17:25.
jpsdr is offline   Reply With Quote
Old 10th October 2016, 17:38   #65  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
I did edit to ResizeX to make it work with this plugin

edit : add edi_rpow2_v1.0.zip and maa2

new edit ResizeX and edi_rpow2 will work in new avs+ colour format

edit: another ResizeX edit here https://forum.doom9.org/showpost.php...45&postcount=5 and use it with this https://pastebin.com/8kcg2MtJ edi_rpow2
Attached Files
File Type: zip ResizeX_v1.0.1.zip (3.5 KB, 119 views)
File Type: zip edi_rpow2_v1.0.zip (7.4 KB, 109 views)
File Type: zip ResizeX_v1.0.1 mod 3.zip (3.8 KB, 92 views)
File Type: zip edi_rpow2_v1.0.1 mod 2.zip (7.7 KB, 84 views)
File Type: zip ResizeX_v1.0.1 mod 4.zip (3.8 KB, 86 views)
__________________
See My Avisynth Stuff

Last edited by real.finder; 3rd November 2017 at 19:22.
real.finder is offline   Reply With Quote
Old 12th October 2016, 19:14   #66  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version (see 1rst post).
Can be used also with prefetch without issue, and can also be used with the last nnedi3 version and with prefetch also.
jpsdr is offline   Reply With Quote
Old 16th October 2016, 14:44   #67  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, see first post.
jpsdr is offline   Reply With Quote
Old 7th December 2016, 20:10   #68  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
I wonder how this filter work, it's depends on avs Resizers or have an edit of them?

I ask because I didn't see any mention on what colour format that this filter supports
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 8th December 2016, 11:28   #69  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
It uses the code of the internal avs+ resamplers. About supported format, it supports all the formats supported by avs+ at the time the filter has been build.
I'm working on the new version to support the new formats, but for now it crashes in both avisynth and avs+ and i don't had time to investigate futher. But i'll probably be able to resume work on it soon.
jpsdr is offline   Reply With Quote
Old 8th December 2016, 15:50   #70  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by jpsdr View Post
It uses the code of the internal avs+ resamplers. About supported format, it supports all the formats supported by avs+ at the time the filter has been build.
I'm working on the new version to support the new formats, but for now it crashes in both avisynth and avs+ and i don't had time to investigate futher. But i'll probably be able to resume work on it soon.
after I update to last ResampleMT and NNEDI3 from ResampleMT 1.0.2 and NNEDI3 0.9.4.24 I see speed lost, from 1.6 fps to 1.3 fps, is this because threadpool?

why not try using avstp?

and can z.lib make it faster?
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 9th December 2016, 10:45   #71  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Quote:
Originally Posted by real.finder View Post
after I update to last ResampleMT and NNEDI3 from ResampleMT 1.0.2 and NNEDI3 0.9.4.24 I see speed lost, from 1.6 fps to 1.3 fps, is this because threadpool?
Honestly, i don't know, but it's not impossible, even more possible if you're also multi-threading again using prefetch. Is it the case ?
As there is only one threadpool shared instead of several (before, one was created for each instance filter) => result in slowdown when shared resources required.
For optimal, i suggest if you're also prefetching to reduce the number of threads and make tests. The values i suggest for testing are first threads=1, and second threads=CPU/2. And if you're using ResampleMT within NNEDI3, don't forget also to put the value on the threads_rs parameter.

Quote:
Originally Posted by real.finder View Post
why not try using avstp?
Not interested, and using an external dll for the threadpool make it even slower (i've tested with my threadpool).

Quote:
Originally Posted by real.finder View Post
and can z.lib make it faster?
No idea. But if it uses directly a square kernell instead of doing two passes, multi-threading by splitting the image may be more difficult.
jpsdr is offline   Reply With Quote
Old 13th December 2016, 20:07   #72  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, check first post.
jpsdr is offline   Reply With Quote
Old 30th December 2016, 11:28   #73  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, check first post.
jpsdr is offline   Reply With Quote
Old 17th January 2017, 22:21   #74  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New version, check first post.
jpsdr is offline   Reply With Quote
Old 18th January 2017, 01:46   #75  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Code:
  range -
      This parameter specify the range the output video data has to comply with.
      Limited range is 16-235 for Y, 16-240 for U/V. Full range is 0-255 for all planes.
      Alpha channel is not affected by this paramter, it's always full range.
      Values are adjusted according bit depth of course. This parameter has no effect
      for float datas.
      0 : Automatic mode. If video is YUV mode is limited range, if video is RGB mode is
          full range, if video is greyscale (Y/Y8) mode is Y limited range.
      1 : Force full range whatever the video is.
      2 : Force limited Y range for greyscale video (Y/Y8), limited range for YUV video,
          no effect for RGB video.
      3 : Force limited U/V range for greyscale video (Y/Y8), limited range for YUV video,
          no effect for RGB video.

      Default: 0
do we really need this? we can do it in avs Limiter if we have to, but having range in resize or nnedi make no sense and if someone work in full range will have to set it to 1 every time, and it's kinda annoying
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 18th January 2017, 09:52   #76  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
I don't agree, standard YUV is not full range, so it results that nnedi and resize can produce incorrect value output. On the oposite, someone who want to work with standard value has to put a limiter...?
No, that's not a proper behavior for me, it's the contrary, you have to specify "something" when you want to work outside standard values.
jpsdr is offline   Reply With Quote
Old 18th January 2017, 18:09   #77  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by jpsdr View Post
I don't agree, standard YUV is not full range, so it results that nnedi and resize can produce incorrect value output. On the oposite, someone who want to work with standard value has to put a limiter...?
No, that's not a proper behavior for me, it's the contrary, you have to specify "something" when you want to work outside standard values.
and what about scripts that do everything with Y8? at least you should make the default is 3 for Y/Y8 so that chroma will be correct ((if there is RGB support (by Y8 is scripts) then it will fall, but I don't care for RGB, if you care then Y/Y8 should have range default 1)), for both nnedi and this

edit: and scripts that did TV to PC range internally for some specific purpose like SMDegrain will fall too, so default should be 1 everywhere, that reminds me of keep_tv_range bool in flash3kyuu_deband, it's false by default
__________________
See My Avisynth Stuff

Last edited by real.finder; 18th January 2017 at 18:26.
real.finder is offline   Reply With Quote
Old 18th January 2017, 19:25   #78  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Quote:
Originally Posted by real.finder View Post
at least you should make the default is 3 for Y/Y8 so that chroma will be correct
But luma will not be, so...

Quote:
Originally Posted by real.finder View Post
edit: and scripts that did TV to PC range internally
A script/plugin can do whatever it wants internaly, it have to put back correct levels on its output, otherwise, it screws you things without telling you.

Quote:
Originally Posted by real.finder View Post
keep_tv_range bool in flash3kyuu_deband, it's false by default
Yes, it should be the oposite, when i use it on YUV data, i always have to put it to true.
jpsdr is offline   Reply With Quote
Old 18th January 2017, 19:33   #79  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by jpsdr View Post
A script/plugin can do whatever it wants internaly, it have to put back correct levels on its output, otherwise, it screws you things without telling you.
it do tv to pc for motions search for example, your change will make that fall or useless

anyway, I will stick with the older versions, thank you for the old change efforts it was cool
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 18th January 2017, 19:51   #80  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Quote:
Originally Posted by real.finder View Post
it do tv to pc for motions search for example, your change will make that fall or useless
You just have now to specify that range is not anymore the standard range for the actual format, and it will not break anything.
Of course, if a metadata tag existed, it would have been perfect...
jpsdr is offline   Reply With Quote
Reply


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 08:57.


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