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. |
![]() |
#41 | Link |
Guest
Join Date: Jan 2002
Posts: 21,907
|
I've had my say, you've had yours. When you have something working along the lines you describe, I suppose you'll let us all know. I won't be holding my breath.
![]() And BTW, please stop the profanity per forum rule 4. Thank you. I have edited your post. |
![]() |
![]() |
![]() |
#42 | Link | |
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
Anyway, there's no compelling reason to couple the two, since you usually do want the unprocessed video, and VapourSynth has this nice frame metadata (as opposed to *bleck* AVS's hinting). If anyone has any particularly bad samples, feel free to post them, and I will test them while I write it. I'd appreciate it. I'm rather surprised people have only been mentioning this sort of thing, instead of the much larger and obvious problem of leading B frames, which I can't seem to stab libavcodec to handle in a nice way no matter what I do, seemingly. Yes, I've tried implementing something similar to what DGDecode does, but libavcodec is having none of that. Help or suggestions are VERY welcome with regards to this. BTW, perhaps you could be a little less condescending with your posts in the future. |
|
![]() |
![]() |
![]() |
#43 | Link | |||
Guest
Join Date: Jan 2002
Posts: 21,907
|
Quote:
![]() Quote:
Quote:
Last edited by Guest; 20th November 2012 at 04:32. |
|||
![]() |
![]() |
![]() |
#44 | Link |
soy sauce buyer
Join Date: Mar 2010
Location: United Kingdom
Posts: 164
|
A souce filter is supposed to preserve whatever exists in the souce and convert it into a structure that the downstream filter can handle. If d2vsouce does put those flags as per-frame properties without loosing anything useful or even normally useless (you never know what weird souces may be and what weird things others may want to do, so a normally useless things may accidentally be useful in some cases), and there are filters knowing how to handle them and convert the clips into different forms according to different purposes in a user-friendly way , then everything is fine. Otherwise we cannot leave those flags to a condition in which it is a pain to deal with.
Last edited by 06_taro; 20th November 2012 at 09:59. |
![]() |
![]() |
![]() |
#45 | Link |
Registered User
Join Date: Sep 2004
Location: Near LA, California, USA
Posts: 1,545
|
1) I've had TS captures in the past that contained TFF and BFF frames. Why? I don't know, but that's how it was captured through the Firewire port. DGIndex and DGMPEGDec's ability to tell which frames were TFF and BFF by reading the RFF flags helped me tremendously to deinterlace the video. I've yet to capture such a file for awhile now, but I never know when it might happen again.
2)Also, I've had to encode silent movie captures that contained different framerates. Parts of the silent movie were 20fps, some were 22fps, and some were 24fps. These movies were originally broadcasted hard-telecined to handle the different framerates. And for good reason. It's a hellava lot easier than using RFF flags. I had to IVTC and use RFF flags for each section (via DGPulldown) and join them together in order for the whole movie to play progressively while keeping the same audio soundtrack. If I ever decided to rip these movies from my DVD-R's again and back them up to a different format, I'd need to have those multiple RFF flags read in order to process the video correctly. I hope the metadata solution works for these issues.
__________________
Pirate: Now how would you like to die? Would you like to have your head chopped off or be burned at the stake? Curly: Burned at the stake! Moe: Why? Curly: A hot steak is always better than a cold chop. |
![]() |
![]() |
![]() |
#46 | Link | ||||
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
Per-frame metadata mat not be entirely sufficient in this case, actually, so what I'm thinking it something like this: Code:
import vapoursynth as vs core = vs.Core() ret = core.d2v.Source(input=r'C:\somefile.d2v', nocrop=True) ret = core.d2v.ApplyRFF(ret, d2v=r'C:\somefile.d2v') last = ret Also, to clarify, ApplyRFF would be akin to honoring the RFF flags. I still do not intend to implement Force FILM. Quote:
Can you perhaps elaborate on your strategy? Quote:
Quote:
![]() Last edited by Daemon404; 20th November 2012 at 15:40. Reason: Clarifications |
||||
![]() |
![]() |
![]() |
#47 | Link | |||
Guest
Join Date: Jan 2002
Posts: 21,907
|
Quote:
Quote:
Quote:
Last edited by Guest; 20th November 2012 at 16:04. |
|||
![]() |
![]() |
![]() |
#48 | Link | ||
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
Code:
core.std.LoadPlugin(r'C:\d2vsource.dll') def betterD2VSource(path): ret = core.d2v.Source(input=path) ret = core.d2v.ApplyRFF(ret, d2v=path) return ret Quote:
They're missing at the beginning on the stream I tested, which DGDecode handles correctly. I might try and read avconv.c/ffmpeg.c to see what they do, but they're also kind of weird on these cases, I think. I haven't tested FFMS2. Last edited by Daemon404; 20th November 2012 at 16:12. Reason: s/;/:/ |
||
![]() |
![]() |
![]() |
#49 | Link |
Registered User
Join Date: Mar 2005
Posts: 128
|
Just posted Beta4.
Quick summary of things:
Full changelog here. At some point I plan to enable sliced threading for the MPEG1/2 decoding, and frame threading for RFF application. URLs in OP. Last edited by Daemon404; 9th December 2012 at 05:25. |
![]() |
![]() |
![]() |
#50 | Link |
Registered User
Join Date: Sep 2004
Location: Near LA, California, USA
Posts: 1,545
|
Good news. The RFF flags seem to be working. I tried one of my silent movies with 20fps and 24fps sections and the pulldown flags are being properly honored.
Bad news. The GCC Beta4 build seems to be broken. It just hangs when I try to load it. MSVC Beta4 build works fine.
__________________
Pirate: Now how would you like to die? Would you like to have your head chopped off or be burned at the stake? Curly: Burned at the stake! Moe: Why? Curly: A hot steak is always better than a cold chop. Last edited by Revgen; 9th December 2012 at 04:51. |
![]() |
![]() |
![]() |
#52 | Link | |
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
I've tested this binary to work on Windows 7. Not going to bother posting Visual Studio builds now, as theyre a fair bit slower than MinGW builds (even though they're ~2.5x smaller). |
|
![]() |
![]() |
![]() |
#53 | Link |
Registered User
Join Date: Nov 2010
Posts: 11
|
It might be worth noting which version of libavcodec this requires (especially in the configure script) since Ubuntu 12.10's libavcodec-dev is evidently too old.
For others trying to compile on 12.10 I grabbed the 9.1 tarball from http://libav.org/download.html and that worked for me, but I had to add --enable-pic to my configure line when building libavcodec; d2vsource complained otherwise. Edit: Tried it out and it seems to work fine for my purposes. Thanks a lot for the work! Looking forward to a future where I can keep my whole workflow in 64bit Linux. Last edited by mikewando; 13th January 2013 at 23:26. |
![]() |
![]() |
![]() |
#54 | Link | |
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
|
|
![]() |
![]() |
![]() |
#55 | Link | |
Registered User
Join Date: Nov 2010
Posts: 11
|
Quote:
At any rate I think the most helpful thing would just to have the configure script spit out that it requires libavcodec >= 0.9.0, or whatever its current requirement is, since it's entirely possible for libavcodec/avcodec.h to exist and have been found and still fail the configure check. |
|
![]() |
![]() |
![]() |
#56 | Link | |
Registered User
Join Date: Mar 2005
Posts: 128
|
Beta5 Released: http://chromashift.org/vs/d2vsource_beta5.zip
ChangeLog here. Highlights: Open GOP seeking now works properly in all cases! Quote:
|
|
![]() |
![]() |
![]() |
#58 | Link | |
Registered User
Join Date: Mar 2005
Posts: 128
|
Quote:
|
|
![]() |
![]() |
![]() |
Tags |
d2v, dgindex, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|