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. |
![]() |
#22 | Link |
Spinner of yarns
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 |
![]() |
![]() |
![]() |
#24 | Link |
Spinner of yarns
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 |
![]() |
![]() |
![]() |
#27 | Link | |
Spinner of yarns
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:
__________________
僕と契約して、L-SMASH developerになってよ! L-SMASH | L-SMASH Works | Opus-in-ISOBMFF specification and reference software |
|
![]() |
![]() |
![]() |
#28 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
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. |
![]() |
![]() |
![]() |
#29 | Link |
Spinner of yarns
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 |
![]() |
![]() |
![]() |
#31 | Link |
Spinner of yarns
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 |
![]() |
![]() |
![]() |
#32 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
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.
|
![]() |
![]() |
![]() |
#33 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
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. |
![]() |
![]() |
![]() |
#34 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
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'. |
![]() |
![]() |
![]() |
#38 | Link | |||
Spinner of yarns
Join Date: May 2009
Posts: 164
|
Quote:
Quote:
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 |
|||
![]() |
![]() |
![]() |
#39 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
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 |
![]() |
![]() |
![]() |
#40 | Link |
Spinner of yarns
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 |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|