Log in

View Full Version : L-SMASH Source


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34

kedautinh12
31st May 2020, 17:07
Thanks

edison
20th July 2020, 07:52
Does L-SMASH Source support 8K HEVC hw decoding on NVIDIA Turing GPU now?

Ok, I had the answer: yes.

but its speed is very slow( 3.x fps in AVSPMod, nvidia rtx 2070, the GPU video decoder usage is about 5%).

LigH
24th July 2020, 15:22
This may require a MOV container with a video codec actually supporting an alpha channel. I doubt any common video codec supported in MP4 does (maybe x265 if encoded not in YUV but in GBRA based profiles, if they exist).

Please check if Videezy (https://www.videezy.com/free-video/transparent-footage) really provides "Transparent footage Stock Video Footage" as the page title claims.

PS: "walking couple" and "girl biking" are stored in ProRes 4444 with alpha channel.

Someone with Blender experience could probably produce transparent videos.

poisondeathray
24th July 2020, 15:42
Could someone prodive a short video sample with alpha channel in MP4 or MOV? I'm adding support for alpha channel formats and hence needing a valid sample for testing.

Thanks for adding alpha support

PNG in mov (12.1MB)

http://www.mediafire.com/file/h4e0fcprxzwaed1/spinning_dollar_sign_PNG.mov/file

LigH
27th July 2020, 10:01
Success (https://www.mediafire.com/file/ca2v2wsh880tv4w/crowd_run_walking_couple.mp4/file)
crowd_run = RawSource("crowd_run_2160p50.y4m").ConvertToRGB32()
walking_couple = LSMASHVideoSource("walking_Couple.mov").ConvertToRGB32().AssumeFPS(crowd_run.FrameRate)
crowd_run.Trim(0, walking_couple.FrameCount)
layer(crowd_run.Spline16Resize(1280,720), walking_couple.Spline16Resize(1280,720)).ConvertToYV12()

Using AviSynth+ r2772 and RawSourcePlus v0.01; script ran out of memory in 32-bit VirtualDub2, but 64-bit worked.

StainlessS
27th July 2020, 14:31
trim past end of clip [ie last frame + 1, assuming should both be same length for Layer, probably dont cause error but could have some consequence later in script]

crowd_run.Trim(0, walking_couple.FrameCount)


maybe either

crowd_run.Trim(0, walking_couple.FrameCount - 1)


or

crowd_run.Trim(0, - walking_couple.FrameCount)


EDIT:
Ignore me, below line in BLUE does nothing [ maybe should also be crowd_run=... ]

crowd_run = RawSource("crowd_run_2160p50.y4m").ConvertToRGB32()
walking_couple = LSMASHVideoSource("walking_Couple.mov").ConvertToRGB32().AssumeFPS(crowd_run.FrameRate)
crowd_run.Trim(0, walking_couple.FrameCount) # Assign to last and then ignore as assigns below Layer line to last
layer(crowd_run.Spline16Resize(1280,720), walking_couple.Spline16Resize(1280,720)).ConvertToYV12()

LigH
28th July 2020, 07:40
@StainlessS: OK, I did a mistake, and it didn't even matter... :o

@HolyWu: I didn't mean it's your fault that I ran out of RAM. May be caused by processing 4K UHD videos as source and the x264 encoder requesting several frames at once before starting to encode.

outhud
11th August 2020, 15:30
On building for VapourSynth, I get:

../video_output.c: In function ‘determine_colorspace_conversion’:
../video_output.c:613:15: error: ‘AV_PIX_FMT_Y210LE’ undeclared (first use in this
function); did you mean ‘AV_PIX_FMT_P010LE’?
613 | { AV_PIX_FMT_Y210LE, pfYUV422P10, 1 },
| ^~~~~~~~~~~~~~~~~
| AV_PIX_FMT_P010LE


Any hint to what I'm missing?

I didn't see an L-SMASH thread for Vapoursynth. Sorry if this is in the wrong place.

DJATOM
11th August 2020, 16:44
Most likely your build environment lacks libavutil includes or so (libavutil/pixfmt.h)

outhud
12th August 2020, 08:42
Most likely your build environment lacks libavutil includes or so (libavutil/pixfmt.h)

Thanks, just needed to update my libavutil as AV_PIX_FMT_Y210LE was added in February. Seems the default Ubuntu 20.04 focal repository doesn't have it.

amayra
23rd August 2020, 08:03
there any reason for not using GitHub Actions or appveyor ?

Boardlord
24th August 2020, 13:30
Long time, no post :)

I'd like to ask for some help. I've just upgraded to an AMD Ryzen 4000-based laptop with integrated Vega graphics, on dGPU. On my previous laptop I had a crappy Nvidia dGPU, but it still was a tremendous help with transcoding stuff through DGIndex. With this laptop this is out of the picture obviously.

What would be the syntax with L-SMASH in Avisynth to utilize the AMD VCN core for HW decoding, to free up the CPU for x264 encoding? If it's not possible with the current compiled binaries, can I build one that includes the capability to use the VCN core? Thanks!

Atak_Snajpera
24th August 2020, 14:54
Long time, no post :)

I'd like to ask for some help. I've just upgraded to an AMD Ryzen 4000-based laptop with integrated Vega graphics, on dGPU. On my previous laptop I had a crappy Nvidia dGPU, but it still was a tremendous help with transcoding stuff through DGIndex. With this laptop this is out of the picture obviously.

What would be the syntax with L-SMASH in Avisynth to utilize the AMD VCN core for HW decoding, to free up the CPU for x264 encoding? If it's not possible with the current compiled binaries, can I build one that includes the capability to use the VCN core? Thanks!

HW Decoding is not available on AMD GPU. Blame AMD for being stubborn and not providing api to their decoder like Intel or NVidia.

Boardlord
24th August 2020, 14:55
HW Decoding is not available on AMD GPU. Blame AMD for being stubborn and not providing api to their decoder like Intel or NVidia.Hmm, but I've seen that LAVFilters can utilize the AMD GPU for HW-accelerated playback...?

Edit: through DXVA and/or D3D11 I believe, unless I've totally misunderstood.

Sent from my SM-G973F using Tapatalk

Atak_Snajpera
25th August 2020, 06:32
We need proper api like cuvid or quicksync not some hacks via dxva. AMD should stop acting like some special princes and allow third party programmers access to their decoder.

jones1913
25th August 2020, 19:26
We need proper api like cuvid or quicksync not some hacks via dxva. AMD should stop acting like some special princes and allow third party programmers access to their decoder.

The API exists: AdvancedMediaFramework (AMF) (https://gpuopen.com/advanced-media-framework)
However, AMF decoder is not yet integrated in ffmpeg (but encoder is): https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/199

Btw. on Linux encoding and decoding works with ffmpeg through vaapi (https://trac.ffmpeg.org/wiki/Hardware/VAAPI).

real.finder
18th October 2020, 08:31
there are frame properties PR by Asd-g since a week https://github.com/HolyWu/L-SMASH-Works/pull/12

I think HolyWu is not active these days, so anyone else can build it?

StvG
18th October 2020, 10:05
Here (https://cloud.owncube.com/s/XBkpwmxAN2EByaz) - dav1d 0.7.1, ffmpeg@9b72cea446, zlib 1.2.11, xxHash v0.8.0.

FranceBB
18th October 2020, 11:37
Thank you!! :D

kedautinh12
18th October 2020, 12:01
Thanks

real.finder
18th October 2020, 13:11
Here (https://cloud.owncube.com/s/XBkpwmxAN2EByaz) - dav1d 0.7.1, ffmpeg@9b72cea446, zlib 1.2.11, xxHash v0.8.0.

that was fast! thanks!

kedautinh12
27th October 2020, 05:27
Here (https://cloud.owncube.com/s/XBkpwmxAN2EByaz) - dav1d 0.7.1, ffmpeg@9b72cea446, zlib 1.2.11, xxHash v0.8.0.

I meet error when index with LSMASH, normally with FFMPEG

error: https://drive.google.com/file/d/1ZNB7IG1r0MVKlEKh829ZZNiSz5xrvZ-V/view?usp=sharing
file test: https://drive.google.com/file/d/1yHALLsohChPUegEl6Y4HYYZTcxUtLvKC/view?usp=sharing

real.finder
27th October 2020, 14:11
I meet error when index with LSMASH, normally with FFMPEG

error: https://drive.google.com/file/d/1ZNB7IG1r0MVKlEKh829ZZNiSz5xrvZ-V/view?usp=sharing
file test: https://drive.google.com/file/d/1yHALLsohChPUegEl6Y4HYYZTcxUtLvKC/view?usp=sharing

I think for mkv nothing better than ffms2, LSMASH is not replacement for ffms2 so it's focuses on what ffms2 fails to do

anyway, let's see what the Developers said about it

manolito
27th October 2020, 14:45
I don't think that it has anything to do with the MKV container... :rolleyes:
The latest HolyWu build from July 2020 does not have this issue, so this is a regression which should be fixed.

Atak_Snajpera
27th October 2020, 14:57
I think for mkv nothing better than ffms2, LSMASH is not replacement for ffms2 so it's focuses on what ffms2 fails to do

anyway, let's see what the Developers said about it

Yes It is. L-SMASH is superior in every way. No idea why people are still glued to non frame accurate filter. You are just asking for troubles when editing video in avisynth.

FFMS
https://i.postimg.cc/xT2VQLqF/Untitled-2.png

L-SMASH
https://i.postimg.cc/VsMP2KsC/Untitled-1.png

StvG
30th October 2020, 09:18
I meet error when index with LSMASH, normally with FFMPEG

error: https://drive.google.com/file/d/1ZNB7IG1r0MVKlEKh829ZZNiSz5xrvZ-V/view?usp=sharing
file test: https://drive.google.com/file/d/1yHALLsohChPUegEl6Y4HYYZTcxUtLvKC/view?usp=sharing
Try with lwlibavvideosource(..., threads=2).

I don't think that it has anything to do with the MKV container... :rolleyes:
The latest HolyWu build from July 2020 does not have this issue, so this is a regression which should be fixed.
My build with threads=2 doesn't have this issue. Obviously I'm using different building environment than HolyWu.
#The latest official build (20200728)
lwlibavvideosource("Letter - SHE'S.mkv")


Number of frames: 6518
Length (hh:mm:ss.ms): 00:04:31.855
Frame width: 1920
Frame height: 1080
Framerate: 23.976 (24000/1001)
Colorspace: i420

Frames processed: 6518 (0 - 6517)
FPS (min | max | average): 122.0 | 2021 | 448.1
Process memory usage (max): 105 MiB
Thread count: 37
CPU usage (average): 13.3%

Time (elapsed): 00:00:14.547
#my build
lwlibavvideosource("Letter - SHE'S.mkv", threads=2)


Number of frames: 6518
Length (hh:mm:ss.ms): 00:04:31.855
Frame width: 1920
Frame height: 1080
Framerate: 23.976 (24000/1001)
Colorspace: i420

Frames processed: 6518 (0 - 6517)
FPS (min | max | average): 104.0 | 2487 | 424.9
Process memory usage (max): 104 MiB
Thread count: 24
CPU usage (average): 10.8%

Time (elapsed): 00:00:15.340
#ffms2 - no seek issue
ffvideosource("Letter - SHE'S.mkv", threads=8)


Number of frames: 6518
Length (hh:mm:ss.ms): 00:04:31.855
Frame width: 1920
Frame height: 1080
Framerate: 23.976 (24000/1001)
Colorspace: i420

Frames processed: 6518 (0 - 6517)
FPS (min | max | average): 167.8 | 2205 | 1077
Process memory usage (max): 133 MiB
Thread count: 30
CPU usage (average): 29.3%

Time (elapsed): 00:00:06.049

manolito
30th October 2020, 11:53
Thanks for looking into it...

I can confirm that the problem disappears when "threads=2" is specified. Still I think that this should be fixed because the HolyWu builds and also FFVideoSource do not have a problem with the default value for Threads (which means to use the number of threads reported by Windows with a ceiling of 16).

StvG
30th October 2020, 12:15
What ffms2 version do you use? With this one (https://forum.doom9.org/showthread.php?p=1925683#post1925683) and default threads I have 6 seek issues.

kedautinh12
30th October 2020, 12:28
What ffms2 version do you use? With this one (https://forum.doom9.org/showthread.php?p=1925683#post1925683) and default threads I have 6 seek issues.

I thinks thread=8 very strong for weak computer, can you fixed with default thread for both ffms2 and lsmash??

manolito
30th October 2020, 21:30
What ffms2 version do you use? With this one (https://forum.doom9.org/showthread.php?p=1925683#post1925683) and default threads I have 6 seek issues.

Yes, I used the version you linked to from October 2020.

I got curious and made a couple of tests using different source filters with Atak's SeekTester 1.2. I used the default frame limit of 1000 frames. As the source I took the "Letter - SHE'S.mkv" (VP9 Video 1080p). My CPU is a Core i5 third generation (2 physical cores plus hyperthreading). I used the default thread values for all source filters which would be 4 for this CPU.

FFMS2 StvG from Oct. 2020:
There were 12 corrupted frames out of 1000 frames.

FFMS2 StvG from Aug. 2020:
Same

FFMS2 StvG from April 2020:
Same

FFMS2 StvG from Nov. 2019:
Same

FFMS2 C-Plugin latest 2.31 by qyot27
Perfect

FFMS2 C-Plugin by Reino:
Both available versions fail miserably. Mainly corrupted or inserted frames

FFMS2 official version 2.40 by Myrsloik:
Fails miserably. Mostly corrupted or inserted frames

DirectShowSource with LAV Filters:
Many inserted frames

DSS2Mod with LAV Filters (preroll=15):
Perfect

LWLibavVideoSource by HolyWu:
Perfect


Ok, these results are only for this specific VP9 source file. Other source formats may behave differently, but I find this very interesting. Any comments?

kedautinh12
31st October 2020, 01:02
DSS2Mod with LAV Filters (preroll=15):
Perfect


Can you share link download??

poisondeathray
31st October 2020, 03:42
Can you share link download??

http://avisynth.nl/index.php/DSS2mod

The seeking might be ok, but beware DSS2mod usually drops the last 1 or 2 frames. 1 frame in this example. You might not "see" it if the test limit was 1000 frames

StvG
31st October 2020, 08:38
I thinks thread=8 very strong for weak computer, can you fixed with default thread for both ffms2 and lsmash??
I should clarify that threads=8 for ffms2 from my previous post is cpu_threads/2. So you can try with that cpu_threads/2.

Yes, I used the version you linked to from October 2020.

I got curious and made a couple of tests using different source filters with Atak's SeekTester 1.2. I used the default frame limit of 1000 frames. As the source I took the "Letter - SHE'S.mkv" (VP9 Video 1080p). My CPU is a Core i5 third generation (2 physical cores plus hyperthreading). I used the default thread values for all source filters which would be 4 for this CPU.

FFMS2 StvG from Oct. 2020:
There were 12 corrupted frames out of 1000 frames.

FFMS2 StvG from Aug. 2020:
Same

FFMS2 StvG from April 2020:
Same

FFMS2 StvG from Nov. 2019:
Same

FFMS2 C-Plugin latest 2.31 by qyot27
Perfect

FFMS2 C-Plugin by Reino:
Both available versions fail miserably. Mainly corrupted or inserted frames

FFMS2 official version 2.40 by Myrsloik:
Fails miserably. Mostly corrupted or inserted frames

DirectShowSource with LAV Filters:
Many inserted frames

DSS2Mod with LAV Filters (preroll=15):
Perfect

LWLibavVideoSource by HolyWu:
Perfect


Ok, these results are only for this specific VP9 source file. Other source formats may behave differently, but I find this very interesting. Any comments?
Thanks for sharing.

kedautinh12
7th December 2020, 05:29
I meet many corrupted frames in STVG ver with default threads, only work with threads >= 2. But with HolyWu ver, i don't meet error with default threads:

My video test:
https://drive.google.com/file/d/17ych7Zxjh104XoVsvW-cpMEBSyAhgDj3/view?usp=sharing

My scripts:
nnedi3_rpow2(rfactor=2, cshift="spline64resizemt", fwidth=1920, fheight=1080)
F3KDB_3(range=12, y=60, cb=40, cr=40, grainy=0, grainc=0)
f3kgrain()

manolito
7th December 2020, 07:19
Yes, I also had to return to the HolyWu build for exactly this reason...

I believe that StvG should implement a similar logic for the number of threads which he used in his last ffms2 build:
- changed the default threads number:
* VP9 - min(CPU logical processors, 8);
* AV1 - 1 when CPU logical processors = 1, otherwise 2;
* rest - CPU logical processors;

real.finder
8th December 2020, 15:19
maybe it's time for new update from StvG, since there are new small update here https://github.com/Asd-g/L-SMASH-Works

StvG
11th December 2020, 23:44
Update (https://cloud.owncube.com/s/MXk3zBcZfNkrGF9) - included the latest commit (https://github.com/Asd-g/L-SMASH-Works/commits/master-1); ffmpeg@494f868e93; zlib 1.2.11; lsmash@18a9ed2; xxHash 0.8.0; dav1d 0.8.0; changed VP9 default threads to 2 when CPU logical processors > 2.

kedautinh12
11th December 2020, 23:55
Thanks

stax76
15th December 2020, 20:57
Update (https://cloud.owncube.com/s/MXk3zBcZfNkrGF9) - included the latest commit (https://github.com/Asd-g/L-SMASH-Works/commits/master-1); ffmpeg@494f868e93; zlib 1.2.11; lsmash@18a9ed2; xxHash 0.8.0; dav1d 0.8.0; changed VP9 default threads to 2 when CPU logical processors > 2.

vs support?

StvG
16th December 2020, 22:05
vs support?

Here (https://cloud.owncube.com/s/C8SBjF53JTL7s73) dualsynth ver.

stax76
17th December 2020, 20:24
Here (https://cloud.owncube.com/s/C8SBjF53JTL7s73) dualsynth ver.

Awesome, thanks!

LigH
18th December 2020, 08:43
@StvG: Are there easy-to-apply patches so that you could e.g. suggest them to media-autobuild suite?

StvG
18th December 2020, 20:42
It's not only patches. You need Visual C++ libraries for Avisynth but media-autobuild suite doesn't provide such. If you have them installed then using mingw could be easily used.

LigH
20th December 2020, 07:39
Oh, I believe I replied to the wrong thread. I was rather interested in patches for x265 like the aMod by DJATOM.

Nico8583
13th January 2021, 16:34
Here (https://cloud.owncube.com/s/C8SBjF53JTL7s73) dualsynth ver.
Hi, what is dualsynth version ? Does it work wit AviSynth or do I use the 12.12.2020 version ? Thank you.

ChaosKing
13th January 2021, 18:24
Hi, what is dualsynth version ? Does it work wit AviSynth or do I use the 12.12.2020 version ? Thank you.

The DLL works with Avisynth and Vapoursynth.

Nico8583
14th January 2021, 18:05
The DLL works with Avisynth and Vapoursynth.
Thank you !

kedautinh12
8th February 2021, 11:01
I seen new commit here, any compile update for this??
https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works

MeteorRain
15th February 2021, 07:17
It's for my own use. You shouldn't use my version unless you know what you are doing.

frank
25th March 2021, 15:54
Sorry, in the latest binaries from StvG the hardware decoders don't work anymore.
With v20200728 from HolyWu they work.