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 6th September 2019, 15:10   #881  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by HolyWu View Post
L-SMASH-Works_20190903.7z
  • Fix abnormal loading time.
  • Improve progress printing.
  • Use both file size and partial checksum (xxhash) for file signature comparison in index file.
  • LWLibav: Fix inaccurate framerate in some files.
  • VapourSynth: Replace configure with Meson build system.
  • VapourSynth: Fix missing setError invocation when there is an error.
  • Fix frame corruption in some VC-1 files by a workaround. Tested Atak_Snajpera's sample by seek-test.py and confirmed to be frame accurate.
The list here seem to suggest that MeteorRain's changes are also include. Yet the L-Smash GitHub repo says otherwise, am I missing something?

MeteorRain's L-Smash GitHub repo is up-to-date minus the your recent commits.
Reel.Deel is offline   Reply With Quote
Old 8th September 2019, 19:28   #882  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Two issues with latest version

1) Corrupted (grey frames) frames after seeking
Sample -> https://www.mediafire.com/file/ana6j...ample.mkv/file



2) webm with AV1 returns this error
Sample -> https://www.mediafire.com/file/lq3xm...mbps.webm/file
Atak_Snajpera is offline   Reply With Quote
Old 9th September 2019, 09:38   #883  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
1. I got that sample from an ripbot user. I guess that this avc was originally muxed by makemkv. IT is odd that Simple remuxing (MKV to mkv)with latest mkvtoolnix did not fix that issue.
2.ok

Last edited by Atak_Snajpera; 9th September 2019 at 09:41.
Atak_Snajpera is offline   Reply With Quote
Old 9th September 2019, 10:05   #884  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
The PPS changes mid-stream (pic_init_qp_minus26 changes). Mkvmerge seems to detect this when doing a "full" remux (1. demux to ES. 2. mux ES) and prepends the SPS/PPS to every keyframe. In the original sample it is only prepended on an actual change compared to the prior keyframe. Since both frame #97 and #104 use the same pic_init_qp_minus26 frame #104 does not have this prepended PPS. Then decoder tries to use first/global pic_init_qp_minus26 and breaks.

Last edited by sneaker_ger; 9th September 2019 at 10:09.
sneaker_ger is offline   Reply With Quote
Old 9th September 2019, 16:18   #885  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Crash after seeking
Sample -> https://www.mediafire.com/file/xhcyg...i_4-3.avi/file



FFVideoSource works fine.
Atak_Snajpera is offline   Reply With Quote
Old 9th September 2019, 17:50   #886  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Quote:
Originally Posted by HolyWu View Post
Cannot reproduce. I'm using seek-test.py for testing.
Because your tool does not check ALL frames.

Just try to open this script in MPC-HC.

Code:
LoadPlugin("LSMASHSource.dll")
LWLibavVideoSource("camcorder_25i_4-3.avi",cachefile="camcorder_25i_4-3.avi.lwi")
Trim(233,-1)
Atak_Snajpera is offline   Reply With Quote
Old 9th September 2019, 17:54   #887  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Atak - can you share your Seek Tester tool ?
poisondeathray is offline   Reply With Quote
Old 9th September 2019, 19:05   #888  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
One way to test all frames is to put Reverse() at the end of your script and then play the video.
videoh is offline   Reply With Quote
Old 9th September 2019, 19:05   #889  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Quote:
Originally Posted by Atak_Snajpera View Post
Because your tool does not check ALL frames.
The script does check all frames.

I tested it via lsmas.LWLibavSource() and avisource.AVISource("myscript.avs) in vapoursynth -> no seeking issues.

EDIT
Tried also Reverse() in my avs script, still frame accurate.

EDIT2
If I open the avs (with reverse) in vsedit i get an error

vapoursynth.Error: Avisynth read error:
CAVIStreamSynth: System exception - Access Violation at 0x00007FFB37302EB8

But there is no crash via vspipe...

EDIT3
Argh tested with the wrong script... so I tested it again ... VS is fine, but AVS crashes! But only with reverse.
Reverse in my avsisynth script -> instant crash System exception - Access Violation at 0x00007FFB37302EB8
Code:
LWLibavVideoSource("camcorder_25i_4-3.avi")
#Reverse()

std.Reverse() in VS is not frame accurate anymore.
Code:
avisource.AVISource(args.file).std.Reverse()
log files
- lsmash in VS https://pastebin.com/anyvB4pf
- avisyource + reverse in VS https://pastebin.com/XFkuT9JT (it aborts after 3 errors)

EDIT4
lsmas.LWLibavSource(args.file).std.Reverse() -> lsmas: failed to get video track. Now I'm confused.

EDIT5
ok ... final results

VS
lsmas.LWLibavSource(args.file) #ok
lsmas.LWLibavSource(args.file).std.Reverse() #ERR failed to get video track.

AVS via VS - script: LWLibavVideoSource("camcorder_25i_4-3.avi")
avisource.AVISource(args.file) # ok
avisource.AVISource(args.file).std.Reverse() # not frame accurate

AVS script with:
Code:
LWLibavVideoSource("camcorder_25i_4-3.avi")
reverse()
= instant crash: System exception - Access Violation at 0x00007FFB37302EB8

EDIT 6 - Bonus round
Remuxed it to mkv

VS
lsmas.LWLibavSource(args.file) # ok
lsmas.LWLibavSource(args.file).std.Reverse() # [importer: Error]: failed to find the matched importer.

AVS via VS
avisource.AVISource(args.file) # ok
avisource.AVISource(args.file).std.Reverse() #ok

avs+reverse via vdub still crashes.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 9th September 2019 at 20:05.
ChaosKing is offline   Reply With Quote
Old 10th September 2019, 02:52   #890  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Does anybody care?
videoh is offline   Reply With Quote
Old 10th September 2019, 08:38   #891  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Quote:
Originally Posted by HolyWu View Post
https://github.com/HolyWu/L-SMASH-Wo...s/tag/20190910
  • Update to FFmpeg 4.2.1.
  • VideoSource: Add parameter prefer_hw to conveniently switch between software and hardware decoder. Consult README for details.
  • Fix seeking issue in CUVID decoding.
  • Fix hardware decoder outputting YUV420P8 by default on high bit depth clip.
  • Optimize P010->YUV420P10 conversion for hardware decoder by SSE2.
  • LWLibav: Fix access violation in avi file when seeking randomly.
Fixed all errors for me
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 10th September 2019, 16:14   #892  |  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 HolyWu View Post
https://github.com/HolyWu/L-SMASH-Wo...s/tag/20190910
  • Update to FFmpeg 4.2.1.
  • VideoSource: Add parameter prefer_hw to conveniently switch between software and hardware decoder. Consult README for details.
  • Fix seeking issue in CUVID decoding.
  • Fix hardware decoder outputting YUV420P8 by default on high bit depth clip.
  • Optimize P010->YUV420P10 conversion for hardware decoder by SSE2.
  • LWLibav: Fix access violation in avi file when seeking randomly.
Once again, thank you!
FranceBB is offline   Reply With Quote
Old 10th September 2019, 16:26   #893  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Quote:
Fix seeking issue in CUVID decoding.
Thanks,

I can confirm this does fix issues on previous lsmash builds .

Very nice
poisondeathray is offline   Reply With Quote
Old 11th September 2019, 01:13   #894  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Problems loading APNG files

Quote:
Originally Posted by HolyWu View Post
https://github.com/HolyWu/L-SMASH-Wo...s/tag/20190910
  • Update to FFmpeg 4.2.1.
  • VideoSource: Add parameter prefer_hw to conveniently switch between software and hardware decoder. Consult README for details.
  • Fix seeking issue in CUVID decoding.
  • Fix hardware decoder outputting YUV420P8 by default on high bit depth clip.
  • Optimize P010->YUV420P10 conversion for hardware decoder by SSE2.
  • LWLibav: Fix access violation in avi file when seeking randomly.
I cannot load the following apng image with LWLibavSource(). It gives the error LWLibavVideoSource: failed to get the video track. I only tried with latest avs+ (x64).
I tried with L-SMASH-Works_20190903 / 0906 / 0910 and even MeteorRain's LSMASHSource-r935+34 but all of them give the same error. Last version that works is L-SMASH-Works-r935+26-20190811. Gifs work fine though.

Reel.Deel is offline   Reply With Quote
Old 11th September 2019, 02:45   #895  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
"Regular" PNG isn't working either (images, or PNG in MOV) . There were a bunch of ffms2 versions like that earlier as well
poisondeathray is offline   Reply With Quote
Old 11th September 2019, 03:56   #896  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
PNG support requires zlib.
qyot27 is offline   Reply With Quote
Old 11th September 2019, 04:36   #897  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Is there an AVC in MXF parsing issue with L-SMASH-Works_20190910 ?

1a) 10bit422 AVC can be read in MP4 but not MXF "failed to get video track" . But "L-SMASH-Works-r935+3-win64-20190401" was able to read both
1b) But rewrapping that AVC stream into a TS makes it readable

2) 8bit422 MPEG2 in MXF can be read, so can't be a "global" MXF issue with this version
poisondeathray is offline   Reply With Quote
Old 11th September 2019, 06:21   #898  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Sorry false alarm . I can't reproduce the issue now. Maybe some windows weirdness (I rebooted somewhere in between) or something I mixed up
poisondeathray is offline   Reply With Quote
Old 12th September 2019, 14:59   #899  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Another possible bug. L-SMASH does not return some frames.


Again FFVideoSource works fine.



Code:
LoadPlugin("LSMASHSource.dll")
LWLibavVideoSource("TEST.mkv")
Trim(1,-1)
Sample -> https://www.mediafire.com/file/4f7on.../TEST.mkv/file

Last edited by Atak_Snajpera; 12th September 2019 at 15:19.
Atak_Snajpera is offline   Reply With Quote
Old 12th September 2019, 17:24   #900  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
L-Smash does not fallback to software decoders automatically like written in documentation.

Quote:
+ prefer_hw (default : 0)
Whether to prefer hardware accelerated decoder to software decoder.
Have no effect if 'decoder' is specified.
- 0 : Use default software decoder.
- 1 : Use NVIDIA CUVID acceleration for supported codec, otherwise use default software decoder.
- 2 : Use Intel Quick Sync Video acceleration for supported codec, otherwise use default software decoder.
For example I have NVIDIA card and it works fine with prefer_hw=1 but my CPU does not support Intel Quick Sync Video so with prefer_hw=2 i get this


I would also suggest value -1 as AUTO
Quote:
+ prefer_hw (default : 0)
Whether to prefer hardware accelerated decoder to software decoder.
Have no effect if 'decoder' is specified.
-1 : Use first available hardware decoder,otherwise use default software decoder.
0 : Use default software decoder.
1 : Use NVIDIA CUVID acceleration for supported codec, otherwise use default software decoder.
2 : Use Intel Quick Sync Video acceleration for supported codec, otherwise use default software decoder.

Last edited by Atak_Snajpera; 12th September 2019 at 19:58.
Atak_Snajpera 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 21:47.


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