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 7th April 2011, 16:40   #61  |  Link
doobry
Totally Clueless
 
doobry's Avatar
 
Join Date: Nov 2010
Location: Edinburgh, UK
Posts: 31
Quote:
Originally Posted by Chikuzen View Post
@doobry
It seems that x264 team schedules to change some encode options.
https://github.com/DarkShikari/x264-...3c468060efe1e4

I think that you might discontinue "x264bd" because it will be outdated soon.
From that commit link...

Quote:
This option doesn't automatically enforce every aspect of Blu-ray compatibility (e.g. resolution, framerate, level, etc).
As I said when I added it, its really a feature for me, so that I don't have to refer to the website and lookup the correct options for the file i'm encoding... It does however error out when it cannot find a matching "profile" for the video, something that the commit comment says the changes do not do.

It would be great if the same feature ended up in x264 as it would mean I can be 100% sure i'm doing the right thing, x264bd is just a consolidation of info on the web, for my use. Bring on the day I can remove it can have a --profile bluray option on x264 that checks everything (framerate, resolution, interlacing etc) will be correct.

And if someone is relying on it, then I'll just modify the options to match the new guide... when someone writes one

Last edited by doobry; 7th April 2011 at 17:02.
doobry is offline   Reply With Quote
Old 7th April 2011, 21:24   #62  |  Link
doobry
Totally Clueless
 
doobry's Avatar
 
Join Date: Nov 2010
Location: Edinburgh, UK
Posts: 31
Did a little benchmarking, real time in seconds, run 3 times each.

Code:
avs2pipe 0.0.3:

avs2pipe26_vs  54.23 54.06 54.01
avs2pipe26_gcc 51.83 52.60 52.10
avs2pipe_vs    54.35 54.27 54.26
avs2pipe_gcc   51.86 52.10 51.97


avs2pipe 0.0.4 alpha:

avs2pipe26_vs  32.99 32.73 32.84
avs2pipe26_gcc 32.85 32.72 32.82
avs2pipe_vs    32.81 32.84 32.95
avs2pipe_gcc   32.80 32.73 32.76


avs2yuv 0.24:

downloaded     45.91 46.43 46.11
vs2010 express 54.20 54.44 54.00

Test Was:

Windows 7 x64, Quad Core AMD, AviSynth 2.6 Alpha 2
32374 frames 720x576 YUV420 video from PAL DVD
FFMpegSource for m2v file
FFMpegSource for ac3 file (Not Processed)
Output piped to NUL
MSYS bash time used to time execution
MSYS md5sum used once to check output identical


Thing that really surprised me was that opening the avs2yuv project in Visual Studio 2010 Express and compiling it reduced it speed from around 46sec to 54sec... Is the Express compiler really that bad?

Last edited by doobry; 7th April 2011 at 22:13.
doobry is offline   Reply With Quote
Old 7th May 2011, 23:24   #63  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Hi.
I fiddled with the code of this tool for about one month.
(The purpose is to make it to more wieldy thing for me, and learning C language.)

binary
deleted

source code
https://github.com/chikuzen/avs2pipemod

Differences with original
* Display total elapsed time.
* contents of 'info'
* New option 'benchmark'.
* 'y4mp', 'y4mt', 'y4mb' and 'rawvideo' options instead of 'video'.
* Add SAR info to yuv4mpeg2 stream header.
* FieldBased input will be corrected to framebased on yuv4mpeg2 output mode.
* Colorspace conversion that takes colormatrix and interlace into consideration.
* 'rawaudio' option.
* Convert bit depth function in audio output mode.
* Only the compilation with mingw/msys is supported.
__________________
my repositories

Last edited by Chikuzen; 9th May 2011 at 15:27.
Chikuzen is offline   Reply With Quote
Old 8th May 2011, 19:24   #64  |  Link
b66pak
Registered User
 
b66pak's Avatar
 
Join Date: Aug 2008
Location: The Land Of Dracula (Romania - EU)
Posts: 934
thanks a lot...
_
__________________
if you ask a question and somebody give you the correct answer don't forget to leave a "thank you" note...
Visit The Land Of Dracula (Romania - EU)!
b66pak is offline   Reply With Quote
Old 9th May 2011, 15:31   #65  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
updated.

avs2pipemod-20110510.zip

*Fix incorrect output of 'x264bd', and some modified.

EDIT
Sorry, I found a bug in '-audio' and '-rawaudio'.
Please Download again if you are using avs2pipemod-20110509.zip
__________________
my repositories

Last edited by Chikuzen; 10th May 2011 at 15:27.
Chikuzen is offline   Reply With Quote
Old 9th May 2011, 17:24   #66  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,477
@ Chikuzen:

Many many thanks

BTW, where is doobry ?
Midzuki is offline   Reply With Quote
Old 19th May 2011, 22:29   #67  |  Link
zambelli
Doom9ing since 2001
 
zambelli's Avatar
 
Join Date: Oct 2001
Location: Seattle, WA, USA
Posts: 1,967
Thanks for this tool, Doobry and Chikuzen. Exactly what I was looking for, and perfect timing too.
__________________
Alex Zambelli | Blog | Twitter
zambelli is offline   Reply With Quote
Old 3rd July 2011, 07:23   #68  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
update

avs2pipemod-20110703.zip

add new options '-wav' and '-extwav', and remove '-audio'.

'-wav' outputs audio with normal riff-wave header.
'-extwav' outputs audio with wave extensible header containing channel-mask.
__________________
my repositories

Last edited by Chikuzen; 3rd July 2011 at 10:17. Reason: fix typo
Chikuzen is offline   Reply With Quote
Old 3rd July 2011, 07:54   #69  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,477
Midzuki is offline   Reply With Quote
Old 3rd July 2011, 08:17   #70  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,171
Quote:
Originally Posted by Chikuzen View Post
add new options '-wav' and '-wavext', and remove '-audio'.
Disappointed you don't honour legacy options, now everybody with -audio has to edit their junk to -wav.

But still a great project.
IanB is offline   Reply With Quote
Old 3rd July 2011, 10:38   #71  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by IanB View Post
Disappointed you don't honour legacy options, now everybody with -audio has to edit their junk to -wav. .
no, I changed -audio to -extwav

However, I changed it again because what you said was justifiable.
avs2pipemod-20110703-2.zip

Code:
@@ -720,6 +720,7 @@ void parse_opts(int argc, char **argv, params *params)
     struct option long_opts[] = {
         {"wav",      optional_argument, NULL, 'w'},
         {"extwav",   optional_argument, NULL, 'e'},
+        {"audio",    optional_argument, NULL, 'e'},
         {"rawaudio", optional_argument, NULL, 'a'},
         {"y4mp",     optional_argument, NULL, 'p'},
         {"y4mt",     optional_argument, NULL, 't'},
__________________
my repositories

Last edited by Chikuzen; 4th July 2011 at 03:31.
Chikuzen is offline   Reply With Quote
Old 3rd July 2011, 22:20   #72  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,171
Thanks!
IanB is offline   Reply With Quote
Old 2nd August 2011, 01:10   #73  |  Link
henryho_hk
Registered User
 
Join Date: Mar 2004
Posts: 889
Is this build multithread-enabled? I have a AMD 1090T X6 and tried:

avs2pip26mod.exe -y4mp some-720p-with-multithread.avs | x264.exe .... --output video.h264 --stdin y4m -
x264.exe .... --output video.h264 some-720p-with-multithread.avs

The first command can only keep one core busy (~16-17%) and the second one can make it ~99%.
henryho_hk is offline   Reply With Quote
Old 2nd August 2011, 05:08   #74  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by henryho_hk View Post
Is this build multithread-enabled? I have a AMD 1090T X6 and tried:

avs2pip26mod.exe -y4mp some-720p-with-multithread.avs | x264.exe .... --output video.h264 --stdin y4m -
x264.exe .... --output video.h264 some-720p-with-multithread.avs

The first command can only keep one core busy (~16-17%) and the second one can make it ~99%.
If you want to use avs2pipe(mod) with avisynthMT, add Distributor() at the end of your script.
__________________
my repositories

Last edited by Chikuzen; 2nd August 2011 at 19:13.
Chikuzen is offline   Reply With Quote
Old 2nd August 2011, 13:33   #75  |  Link
CarlEdman
Registered User
 
Join Date: Jan 2008
Posts: 185
Quote:
Originally Posted by henryho_hk View Post
Is this build multithread-enabled? I have a AMD 1090T X6 and tried:

avs2pip26mod.exe -y4mp some-720p-with-multithread.avs | x264.exe .... --output video.h264 --stdin y4m -
x264.exe .... --output video.h264 some-720p-with-multithread.avs

The first command can only keep one core busy (~16-17%) and the second one can make it ~99%.
Avs2pipe(26)?(mod)? does not need to be MT enabled--all of that is determined by the avisynth library, invoked by both avs2pipe and x264. And the scripts need a "Distributor()" at the end to use multi-threading (a long time ago that was not the case for x264, but it was necessary for quite a while--I have not checked recently if that requirement has gone away again).

So why is one execution multithreaded and the other not? One possibility is that you are using 64-bit x264. Avs2pipe is 32-bit. So if you have, a non-multithreaded 32-bit version 2.6 avisynth.dll installed, but a 64-bit multithreaded avisynth.dll (that is quite possible--the 32-bit and 64-bit system look for the same dll file, but in different paths), then you'd see just what you observe.
CarlEdman is offline   Reply With Quote
Old 2nd August 2011, 14:16   #76  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,380
Quote:
Originally Posted by CarlEdman View Post
So why is one execution multithreaded and the other not? One possibility is that you are using 64-bit x264. Avs2pipe is 32-bit. So if you have, a non-multithreaded 32-bit version 2.6 avisynth.dll installed, but a 64-bit multithreaded avisynth.dll (that is quite possible--the 32-bit and 64-bit system look for the same dll file, but in different paths), then you'd see just what you observe.
The reason is simply that x264 is 'MT-aware' as far as Avisynth is concerned - if it detects that you are running a MT version of Avisynth (and have used SetMTMode), it will make the necessary call to Distributor() itself.

avs2pipe, on the other hand, is not 'MT-aware' so does not call Distributor(), resulting in single threaded running.
(which is why you have to add it yourself.)

Note that for applications using Avisynth via the VfW interface (eg VirtualDub), this is not an issue since in MT Avisynth this path automatically invokes Distributor().
__________________
GScript and GRunT - complex Avisynth scripting made easier
Gavino is offline   Reply With Quote
Old 18th September 2011, 07:14   #77  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Why do you want 64bit version ?
There are always avs2yuv and wavi for x64.
__________________
my repositories
Chikuzen is offline   Reply With Quote
Old 18th September 2011, 07:20   #78  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
then, use wavi.
http://forum.doom9.org/showpost.php?...02&postcount=4
__________________
my repositories

Last edited by Chikuzen; 18th September 2011 at 07:23.
Chikuzen is offline   Reply With Quote
Old 18th September 2011, 08:24   #79  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by rean View Post
I don't understand how to use it. avs2pipemod works fine for me:
avs2pipemod.exe -rawvideo %avs% | C:\Soft\Video\bin\x264-10bit.exe
avs2pipemod.exe -extwav=16bit %avs% > %wav%
If you don't need channel-mask, then
Code:
wavi input.avs output.wav
If you need channel-mask, then
Code:
wavi input.avs output.wav /x
If you want to output rawvideo, then
Code:
avs2yuv input.avs -raw - | x264 - --demuxer raw ...
FYI, currently, it requires avisynth.lib to compile avs2pipe(mod).
However, there is no avisynth.lib for x64.
Thus, it is necessary to rewrite many codes.
__________________
my repositories
Chikuzen is offline   Reply With Quote
Old 18th September 2011, 09:00   #80  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
wavi is a program that use vfw interface like VirtualDub/avs2avi/etc...
If wavi cannot treat avs as avi, you will have failed in installation of avisynth.
__________________
my repositories
Chikuzen is offline   Reply With Quote
Reply

Tags
avs2pipe

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 08:29.


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