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. |
|
|
#1 | Link |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
OpenDML reading in x264? (or other ways to use 32 and 64-bit together)
Is there any chance of getting x264 to read OpenDML AVI files?
A bit of background: as those of you who have been following my previous whining may know, I have Windows x64 and a self-built 64-bit version of x264. However, in order for it to use avisynth files, I need a 64-bit version of all the filters I use (not gonna happen). I just recently realized that I can save the .avs file to an uncompressed .avi and read that with the 64-bit x264. As the 64-bit version goes ~10% faster than its 32-bit counterpart, this extra step still decreases the total time taken. Now, the problem is that uncompressed DVD-quality video is ~15GiB per half-hour episode. This is where the OpenDML comes in: x264 will only encode the first 2 minutes of the episode, which corresponds exactly to 2GiB. I know VirtualDubMod writes OpenDML files, as I can play them back fine using MPC. This leads me to believe than x264 is only following the "non-OpenDML" index, and therefore does not handle >2GiB AVI files. I would also greatly appreciate any ideas of how to use 32-bit avisynth with 64-bit x264 and sidestep the whole OpenDML problem altogether. My solution is far from optimal, and currently does not even work.
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 |
|
|
|
|
|
#2 | Link |
|
x264 author
Join Date: Sep 2004
Location: /dev/tty0
Posts: 2,325
|
Pipe.
avs2yuv foo.avs -raw - | x264 - ... May require cygwin/msys or something; at least some versions of cmd.exe simulate a pipe by dumping to a file, and that gets hairy. x264 doesn't deal with avi directly, it uses AviFile, so we have no control over ODML support. But one of these days I'll fix largefile for rawyuv reading. Last edited by akupenguin; 12th January 2006 at 10:20. |
|
|
|
|
|
#3 | Link |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
Yay! That's just what I wanted! I had thought about piping stuff to x264, but couldn't think of what to use for the source. This avs2yuv is perfect.
Apparently my cmd.exe doesn't use a temp file (at least as far as I can tell) so I think that's what I'll use. Thanks again!
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 |
|
|
|
|
|
#5 | Link |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
My current project (Fullmetal Alchemist) uses the following script:
Code:
LoadPlugin("F:\MULTIMEDIA\DGindex\DGDecode.dll")
LoadPlugin("F:\MULTIMEDIA\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("F:\Multimedia\AviSynth 2.5\plugins\aWarpSharp.dll")
LoadPlugin("F:\Multimedia\AVIsynth 2.5\plugins\Decomb521VFR1.3.dll")
mpeg2source("d2v.d2v",cpu=6,iPP=false)
Telecide(order=1,guide=0,post=2,back=1,bthresh=40,nt=20,ovr="over.txt",show=false).Decimate(mode=2,vfrStats="vfrStats.txt",show=false)
Levels(last, 16,1.0,235, 0,255, false)
aWarpSharp(8.0, 2, 0.5, 2)
Undot()
crop(8,0,704,480)
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 |
|
|
|
|
|
#6 | Link | |
|
Registered User
Join Date: May 2003
Posts: 328
|
Quote:
Code:
AviSource("uncompressed-huge-clip.avi")
|
|
|
|
|
|
|
#7 | Link | ||
|
Registered User
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,890
|
Quote:
Quote:
Edit: Whoops, avisynth64 is also missing levels. Surely that can't be too hard to fix. Last edited by squid_80; 12th January 2006 at 10:18. |
||
|
|
|
|
|
#8 | Link | |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
Quote:
It would also take up a lot of space, but the good thing about it is that I'd only have to run the filters once. Now that I'm piping between programs I can see that the avisynth takes ~20% of the processing power of actually encoding with x264. It would be nice to only need to do that once. @squid_80: Is the "cpu=n" part of DGDecode working? I used one version of your build that didn't have that working yet. I certainly would appreciate a 64-bit version of at least one of the postprocessing filters. I don't want to appear pushy, though. Whatever you can do is great. Also, piping between 32- and 64-bit processes works like a charm. The pipes are simply bytes passed from one program to another, so there's nothing that bit-depth would affect (as far as I understand it... either way, it works )The version of Decomb that I have is indeed based off Decomb 5.2.1, which adds the ability to write a Matroska-readable timecode file when decimating. The source is here. As I said, I'm not using the VFR-specific parts of it right now, so there's no rush.
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 |
|
|
|
|
|
|
#9 | Link | |
|
Registered User
Join Date: Feb 2002
Posts: 407
|
Quote:
)
|
|
|
|
|
|
|
#11 | Link | |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
Quote:
Although I suppose since that is exactly what I'm doing (scaling from TV to PC) then I should also scale the chroma. But the difference between the two is so small that I don't think it matters. [ edit: Ack! Mine DOES affect the chroma channels! That means it does it wrong, since the chroma channels' valid range is [16,240], NOT [16,235]. I guess I'm changing to coloryuv() anyway. Thanks! I never would have caught that! ]
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 Last edited by omion; 13th January 2006 at 00:07. |
|
|
|
|
|
|
#12 | Link | ||||||
|
Registered User
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,890
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
||||||
|
|
|
|
|
#13 | Link | |
|
Moderator
![]() Join Date: Nov 2001
Location: Netherlands
Posts: 5,579
|
Quote:
|
|
|
|
|
|
|
#14 | Link | |
|
Registered User
Join Date: Nov 2003
Location: San Diego, CA
Posts: 322
|
Quote:
@squid_80: I haven't actually tried to run 32- and 64-bit avisynth at the same time, because I assumed that the .dll files would get in the way. Although now it seems obvious that Windows would only allow 32-bit programs to use 32-bit .dll files. I'll give it a try!
__________________
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2 Last edited by omion; 13th January 2006 at 22:05. |
|
|
|
|
|
|
#15 | Link | |
|
Moderator
![]() Join Date: Nov 2001
Location: Netherlands
Posts: 5,579
|
Quote:
|
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|