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 20th March 2013, 21:39   #21  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
the version of ffmpeg is 1.1.3
sl1pkn07 is offline   Reply With Quote
Old 20th March 2013, 21:48   #22  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
I think the current any ffmpeg Major Release doesn't help you.
The latest L-SMASH Works requires The Evil Plan.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 20th March 2013, 22:17   #23  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
the evil plan? xd
sl1pkn07 is offline   Reply With Quote
Old 20th March 2013, 22:21   #24  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
The reference counter which is the new feature of ffmpeg/libav API is called The Evil Plan.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 20th March 2013, 22:27   #25  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
oh, ok, I thinking The Evil Plan is a internet meme XDD
sl1pkn07 is offline   Reply With Quote
Old 21st March 2013, 07:59   #26  |  Link
burfadel
Registered User
 
Join Date: Aug 2006
Posts: 2,229
Quote:
Originally Posted by VFR maniac View Post
I don't know your old AVI files.
The new rev 501 doesn't exhibit this behaviour.

Out of curiosity, what number threads are used by default when none are specified, is it equal to the number of cores, a fixed value (such as 2 or 4), or is it just 1 by default?
burfadel is offline   Reply With Quote
Old 21st March 2013, 23:14   #27  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
The number of cores + 1.
This is the default value libavcodec does.

The maximum value is 16.
According to libavcodec/pthread.c,
Quote:
/* H264 slice threading seems to be buggy with more than 16 threads,
* limit the number of threads to 16 for automatic detection */
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 22nd March 2013, 04:10   #28  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
What steps should be taken to get the AviSynth plugin built? Because my test builds only worked if I set it on Debug, not Release, and it was only the LWLibav..Source functions that output anything. LSMASH..Source caused Access Violations (which may be because I had the dependencies wrong, or something got screwed up in the .sln/.vcproj conversion*).

*I used VS2010, not VS2008. Unless it's actually caused more by the use of Express than which incremental version of Visual Studio it was.
qyot27 is offline   Reply With Quote
Old 22nd March 2013, 05:10   #29  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
Oh... I didn't notice that.
On Release build, I also get a crash for audio source filter on AviUtl loading AVS.
I still don't get what causes that.

I'm using TDM GCC 4.7.1-dw2 (tdm-1) + MSVC9 Express Edition.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 22nd March 2013, 07:23   #30  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Ah, perhaps it was in the GCC build then, as I was using Komisar's (among other things, it uses sjlj, not dw2).
qyot27 is offline   Reply With Quote
Old 22nd March 2013, 07:33   #31  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
The crash goes away when I disable /GL on MSVC9.
I don't get still why.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 22nd March 2013, 10:48   #32  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Ok, I did manage to get Release to generate a build that can use both LWLibav..Source and LSMASH..Source, but it may have been at the cost of making it much closer to a Debug build (and the file size reflects it: the normal 'Release' build was ~6 MB, and the normal 'Debug' build was ~9 MB...the adjusted Release build that works is 9.07MB). I'll have to do some more trial-and-error and see exactly which option(s) fixed it.
qyot27 is offline   Reply With Quote
Old 22nd March 2013, 13:33   #33  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Following up again, it seems that the offending option was /OPT:REF. Setting /OPT:NOREF makes Release builds work for me, even with /GL and /LTCG enabled. My guess is that /OPT:REF was pruning stuff out of the .dll that it shouldn't have (as that's what the documentation makes it sound like it does), and therefore causing the crashes and Access Violations. The resultant build size is a more modest 7MB or so. Probably could be reduced further, since the FFmpeg build used wasn't the type of minimal compile I use for FFMS2 (I'd also neglected to enable avresample since I actually built it to verify whether it still wanted to crash with the new AviSynth demuxer when built with MSVC...thankfully, it works fine).

LSMASHSource r507

It's been optimized for SSE. Built with VS2010.




Further notes on building:

MinGW-w64's supplied version of libmingwex.a has incompatibilities with MSVC
Use the non-w64 version of the tdm toolchain to build L-SMASH

Build FFmpeg with MSVC as roughly outlined here: http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b
One thing to note is that the c99-to-c89 wrapper should be version 1.0, not version 1.0.1 (unless you want to compile 1.0.1 yourself with Clang, I guess) - the distributed binaries of 1.0.1 have their permissions screwed up somehow and error out with 'Bad file number'. The 1.0 binaries are fine.

Both Debug and Release:
Remove libmingwex.lib from Source Files (select 'Remove' from LSMASHSource project)

Configuration Properties -> VC++ Directories
Add the GCC lib/includes, MinGW lib/includes, and in my case, locally-installed FFmpeg & L-SMASH lib/includes
Append the following directories to the end of their respective lists:
C:\MinGW\tdm-mingw\lib\gcc\mingw32\4.7.1\include
C:\MinGW\tdm-mingw\include
C:\MinGW\home\username\win32_build\include

C:\MinGW\tdm-mingw\lib\gcc\mingw32\4.7.1
C:\MinGW\tdm-mingw\lib
C:\MinGW\home\username\win32_build\lib

Configuration Properties -> Linker -> Input
Append the following .a files to the end of the list.
Additional Dependences: libmsvcr100.a;libmingwex.a;libmingw32.a;libws2_32.a;libwsock32.a

Ignore Specific Default Libraries: libcmt.lib


'Release' build specific:
Configuration Properties -> Linker -> Debugging
Generate Debug Info: No
(There's no point to the 'Release' build generating Debug info, IMO)

Configuration Properties -> Linker -> Optimization
References: No

Last edited by qyot27; 22nd March 2013 at 13:35.
qyot27 is offline   Reply With Quote
Old 24th March 2013, 05:38   #34  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Partial support for building the VapourSynth plugin for Linux (maybe OSX, but that's completely untested here):
Fix permissions on configure
Linux compilation support

It just took some adjusting of configure and GNUmakefile; the shared object settings were derived from what the FFMS2 C-plugin does when compiling. 'Partial' because the install rules are still missing, but it does generate a valid .so that Linux-native VapourSynth can use. Windows use needs to be tested to make sure nothing broke, even though compilation still succeeds.


...and I just now realized I hadn't shifted the LDFLAGS section's if block from 'MINGW' to 'WIN32'.
qyot27 is offline   Reply With Quote
Old 24th March 2013, 13:41   #35  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
thanks qyot27!

what version of ffmpeg/libav you use?
sl1pkn07 is offline   Reply With Quote
Old 24th March 2013, 18:24   #36  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
I was using ffmpeg-git.
qyot27 is offline   Reply With Quote
Old 20th April 2013, 22:13   #37  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
btw. does anyone know if 10 bit precision input support is planned, atm. (r561) High10 content throws
Quote:
Avisynth open failure:
LWLibavVideoSource: yuv420p10le is not supported
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 22nd April 2013, 19:53   #38  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
Quote:
Originally Posted by qyot27 View Post
Partial support for building the VapourSynth plugin for Linux (maybe OSX, but that's completely untested here):
Linux compilation support
Did anyone test this patch on OSX?


Quote:
Originally Posted by Selur View Post
btw. does anyone know if 10 bit precision input support is planned, atm. (r561) High10 content throws
Quote:
Avisynth open failure:
LWLibavVideoSource: yuv420p10le is not supported
I don't have any experience about high bit depth on AviSynth.
Patches welcome: Issue 15.
Use vslsmashsource.dll instead, for a while.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac is offline   Reply With Quote
Old 23rd April 2013, 00:59   #39  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by VFR maniac View Post
Did anyone test this patch on OSX?
I just did, because I finally got around to getting VapourSynth set up on the OSX machine I have access to. It does build, and both LWLibavSource and LibavSMASHSource work as expected. However, due to the way that the output of git rev-list and wc is on OSX, the REV info needed to be fixed up a little by inserting sed into the command.

Revised patch here:
https://gist.github.com/qyot27/5439568
qyot27 is offline   Reply With Quote
Old 24th April 2013, 01:57   #40  |  Link
VFR maniac
Spinner of yarns
 
VFR maniac's Avatar
 
Join Date: May 2009
Posts: 164
OK. Applied.

Thanks for your contribution.
__________________
僕と契約して、L-SMASH developerになってよ!
L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software
VFR maniac 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 17:41.


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