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. |
30th July 2015, 01:36 | #1 | Link |
Registered User
Join Date: Jul 2014
Posts: 55
|
EEDI3 v0.9.2 (x86/x64)
Hi guys, I noticed that EEDI3 did not have a x64 version after firesledge's mod. I've quickly updated this filter to support x64 as well as the 2.6 API.
Further information can be found in the readme as well as on my GitHub. |
31st July 2015, 02:56 | #2 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,664
|
Thanks for another updated plugin! Any interest in adding support for the additional planar colorspaces in AviSynth 2.6? Also can you please add the option to use FTurn in eedi3_rpow2? This yields a nice speed increase. The optimized FTurn code is already integrated into the AviSynth+ core so there's no real improvement there but it does benefit AviSynth 2.6/MT users. A bit more info here.
|
21st March 2018, 21:31 | #3 | Link |
Registered User
Join Date: Jul 2003
Location: Italy
Posts: 1,135
|
Sorry to bump, but this version (EEDI3 0.9.2.1 by Elegant x64) have something really wrong with YUY2.
Even this Code:
colorbars(width=720,height=480,pixel_type="yuy2") eedi3(0) This affects the x64 version ONLY and only YUY2 colorspace, since it works fine in YV12 (x86 version works fine in both YUY2 and YV12) |
22nd March 2018, 17:01 | #4 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
mp3dom, there is asm in source, have you tried use C only
Code:
opt (default: 0) Sets which cpu optimizations to use. Possible settings: 0 = auto detect 1 = use c 2 = use sse2 EDIT: memcpy_amd_asm_x64.asm does indeed contain asm, I thought asm not supported on x64(???). EDIT: I dont see anything obviously wrong in the C YUY2->YV22->YUY2 routines Code:
void PlanarFrame::convYUY2to422(const uint8_t *src,uint8_t *py,uint8_t *pu,uint8_t *pv,int pitch1,int pitch2Y,int pitch2UV, int width,int height) { if (((cpu&CPU_SSE2)!=0) && useSIMD && (((size_t(src)|pitch1)&15)==0)) convYUY2to422_SSE2(src,py,pu,pv,pitch1,pitch2Y,pitch2UV,width,height); else { if (((cpu&CPU_MMX)!=0) && useSIMD) convYUY2to422_MMX(src,py,pu,pv,pitch1,pitch2Y,pitch2UV,width,height); else { width >>= 1; for (int y=0; y<height; ++y) { int x_1=0,x_2=0; for (int x=0; x<width; ++x) { py[x_1] = src[x_2]; pu[x] = src[x_2+1]; py[x_1+1] = src[x_2+2]; pv[x] = src[x_2+3]; x_1+=2; x_2+=4; } py += pitch2Y; pu += pitch2UV; pv += pitch2UV; src += pitch1; } } } } void PlanarFrame::conv422toYUY2(uint8_t *py,uint8_t *pu,uint8_t *pv,uint8_t *dst,int pitch1Y,int pitch1UV,int pitch2, int width,int height) { if (((cpu&CPU_SSE2)!=0) && useSIMD && ((size_t(dst)&15)==0)) conv422toYUY2_SSE2(py,pu,pv,dst,pitch1Y,pitch1UV,pitch2,width,height); else { if (((cpu&CPU_MMX)!=0) && useSIMD) conv422toYUY2_MMX(py,pu,pv,dst,pitch1Y,pitch1UV,pitch2,width,height); else { width >>= 1; for (int y=0; y<height; ++y) { int x_1=0,x_2=0; for (int x=0; x<width; ++x) { dst[x_2] = py[x_1]; dst[x_2+1] = pu[x]; dst[x_2+2] = py[x_1+1]; dst[x_2+3] = pv[x]; x_1+=2; x_2+=4; } py += pitch1Y; pu += pitch1UV; pv += pitch1UV; dst += pitch2; } } } }
__________________
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; 24th March 2018 at 20:07. |
23rd March 2018, 13:13 | #5 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
This one perhaps? (The x86 version is even a bit faster for me than 0.9.2.1)
https://github.com/pinterf/EEDI3/releases/tag/v0.9.2.2 |
23rd March 2018, 14:15 | #6 | Link |
Registered User
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
|
Since you forked and currently working on eedi3... I'd like to request Y8 support. U=false, V=false is just bad since sometimes I need to feed 873p descales for antialiasing and it's just not even mod2.
I did such modification on my local copy near 1 year ago, but didn't yet posted it on github. |
23rd March 2018, 16:09 | #8 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
And another quick one:
https://github.com/pinterf/EEDI3/releases/tag/v0.9.2.3 Please test. Code:
v0.9.2.3 - March 23, 2018 - Y8, YV16 and YV24 colorspaces as input: go live. v0.9.2.2 - March 23, 2018 - Moved to Visual Studio 2017 - Removed external asm files (integrated/replaced with intrinsics) - Update Avisynth headers - fix YUY2 x64 artifacts - https://github.com/pinterf/EEDI3 |
23rd March 2018, 16:56 | #10 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Part Man - Part Machine, thanx muchly Pinterf
EDIT: To below post: Welcome back RD, its aways nice when you get back out of jail again.
__________________
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; 24th March 2018 at 04:31. |
2nd December 2020, 12:57 | #13 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
there are https://github.com/HomeOfVapourSynth...ourSynth-EEDI3 maybe help with adding HBD and sse4.1, avx, avx512 optimization
__________________
See My Avisynth Stuff |
|
3rd December 2020, 08:17 | #14 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Quote:
|
|
28th November 2022, 18:10 | #15 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,153
|
EEDI3CL supports HBD now
https://github.com/Asd-g/AviSynthPlus-EEDI3CL/releases |
23rd July 2023, 00:43 | #16 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,153
|
EEDI3CL 1.0.2
Code:
Fixed crashing when unsupported Avs+ used by explicitly throwing error. Changed the required Avs+ version. Used libraries: OpenCL-SDK v2023.04.17. boost_1_82_0.7z. |
Thread Tools | Search this Thread |
Display Modes | |
|
|