View Full Version : @Derrow: Two bugs with Ifoedit 0.95 on "author new DVD"
Alphaloop
7th November 2002, 19:04
Both issues concerning audio streams.
1) Not really a bug, but inconvenient: If I want to change the standard "0" of the delay field, I delete the "0" with the backspace key and then enter new value. But if the field is empty Ifoedit brings a warning that a number has to be entered. To avoid it I only can mark the "0", then overwrite it with new number, no deletion before. Quite inconvenient, isn't it? ;)
2) This _is_ a bug: If I use negative delay, IfoEdit crashes with no error message.
PMShodan
8th November 2002, 10:16
same problem here .. using negative delay values crashes Ifoedit. This means back to AC3 Delay Corrector at the moment, creating a positive delay value by cutting some frames.
Derrow
8th November 2002, 10:43
Indeed, the entering of negative delay values are VERY annoying.
Damn Microsoft shit.
I'll try to change that somehow.
I noticed crashes with negative delay's too, but just if they have been to high.
I'll check it again, and try to find a bug.
Alphaloop
8th November 2002, 10:56
Here IfoEdit crashes, when I use negative values beyond 40ms. -40 ist fine, -41 crashes. Its a PAL/25 movie, so 40ms is the length of a frame. Maybe it depends on that somehow?
mikegun
8th November 2002, 13:27
I'm testing right now. delay -31, no probs except for the annoying error message when entering the "-".
regards, mike
Alphaloop
8th November 2002, 13:31
Probably Derrow could change the checking for the input from the OnChange or OnKeyDown Event to the OnExit Event and SetText="0" if invalid entry?
@mikegun: Einfach die Zahl markieren, direkt den positiven Wert eintragen, _danach_ dann das Minus davor.
Derrow
8th November 2002, 20:54
Currently it looks like this:
void CDlgAuthor::OnUpdateEdit3() //Audio delay
{
UpdateData();
m_daDelay.SetAt(m_ListAudio.GetCurSel(),m_iDelay);
}
Any other suggestions are welcome.
Alphaloop
8th November 2002, 21:56
Well, Delphi is a bit more my game. ;)
You use an OnUpdate event, should be analog to the OnChange in Delphi.
OnUpdate is executed whenever the field-contents change? And the "UpdateData()" validates the input? Why not tweak this function to be executed whenever the user exits the field (when the field loses the focus) instead of whenever a key is pressed? So the user kann input whatever he wants, only when he leaves the field there must be a proper input.
Maybe...:
void CDlgAuthor::OnExitEdit3() //Audio delay
{
UpdateData();
m_daDelay.SetAt(m_ListAudio.GetCurSel(),m_iDelay);
}
Don't know how the function is called in (what is it?) Visual C++? Maybe OnLeave, OnExit or something like this...
bibbo
8th November 2002, 22:48
it can be done with a simple "if not empty" before the check, OnExit event is shitty because you must change focus (personaly i dont like it :) ), best of, is to do a cast to integer, to make sure they input a number. If you try to cast a letter it output a FALSE.
Sorry for my bad english.
Alphaloop
8th November 2002, 22:57
Whats wrong with changing focus? ;)
If you're in the field, you can enter whatever you want, but at the moment when you click or tab somewhere else (Ok-Button, next field or whatever), you change focus and the OnExit is executed to validate and set the input...
btw: no need to say sorry, my english is also bad. I'd rather write german, but the least of the ppl here would understand it. ;)
bibbo
9th November 2002, 16:16
Thx, ill not be worried about my english anymore ;).
My hate to OnExit, come from my work in a accounting & management program cause clients like to see changes as they input, and is more clear in point of presenting results. For ex, if i need kb input it would be nicer if i can see total length on the fly instead of changing focus.
In the case of audio delay i think its not needed but i use it as a rule.
Alphaloop
9th November 2002, 16:37
With OnChange/OnUpdate events you have to pay attention on circular dependencies, which could cause deadlocks.
timekills
10th November 2002, 05:26
Well, as much as I hate "me too" posts... ;) But to confirm, there is a difference in how much negative delay you can add depending on whether you are authoring a PAL or NTSC movie. Well, caveat to that. I've done exactly one NTSC and one PAL, and the PAL allowed a -40ms delay, whereas that crashed the NTSC version, which would only allow a -31ms delay.
Not sure why it would allow different timings if it is indeed a Windows bug.
Also, at risk of sounding newbie-ish, while ripping The Count of Monte Cristo, both AC3 file listed as -66ms delays, yet when I (accidentally) added 66 for the delay (i.e. positive 66) the synch came out perfect. A 132ms error in delay should be noticeable. Is it possible that when extracting the AC3 files that they, like the subs, have the delay built into the header?
Alphaloop
10th November 2002, 10:33
@timekills:
http://home.t-online.de/home/520072193568-0001/
This is "AC3 Delay Corrector". It adds silent or cuts ac3-blocks in front of the ac3 stream. Just input your delay then. Because Ifoedit hasn't problems with positive delays, you only need this tool for the negative ones. Although the tool adds/cuts full blocks (not single ms), the resulting little positive delay isn't a problem anymore for IfoEdit.
i.e.: You have a delay of -66. Take ac3delay, input -66. It then cuts 64 ms (2 blocks) from the beginning, resulting in a final delay of -2. This you can use in IfoEdit. This little negative shouldn't be the problem now anymore.
i.e.2: You have -117, enter it in ac3delay. It cuts 4 blocks (128 ms) from the beginning, resulting delay to be entered in Ifoedit is +11.
hth :)
murdof
12th November 2002, 17:25
So what about DTS tracks with negative delay?
Also DVD2AVI gives me -96ms for Alien (R2) and vobedit in edit->get video/audio delay displays a value of -16 (audio-delay id<80>).
Even if I get the audio stream wrong and it's not 80 (but I know it is) there is no value -96 for audio delay in vobedit.
Which one is the correct value to put in ifoedit?
2COOL
12th November 2002, 21:45
Originally posted by Alphaloop
i.e.: You have a delay of -66. Take ac3delay, input -66. It then cuts 64 ms (2 blocks) from the beginning, resulting in a final delay of -2. This you can use in IfoEdit. This little negative shouldn't be the problem now anymore.
i.e.2: You have -117, enter it in ac3delay. It cuts 4 blocks (128 ms) from the beginning, resulting delay to be entered in Ifoedit is +11.
Alphaloop,
I must have a different version than yours and I just downloaded it a couple days ago. When I open my source ac3, the delay is already inputted into the start delay field. I had a -181 delay. So I figure, okay so inputted and try silence checkbox is checked, and click write button.
Information box states before correction:
Source file information:
Sampling rate: 48 kHz
Nominal bit rate: 384 kbps
Framelength: 0x0600
Length: 1066frames (00:00:34,112)
WARNING> Filelength is not OK.
WARNING> Possible corrupted file or
WARNING> last frame is too short.
There are 31.25 frames in one second.
181ms (00:00:00,192) ms to be cut at beginning.
After correction:
Target file information:
6 frames (192ms) have been cut at start.
1059 frames (00:00:33,888) have been written.
My ac3 went from 1,599KB to 1,589KB.
So When I went to input the new ac3 as my video source, it still inputs -181ms into the start-delay field. It should've gave me a lower delay.
Now where are you getting these different final delays of -2ms and +11ms?
Alphaloop
12th November 2002, 21:55
Do you possibly have DVD2Avi generated ac3 which has the delay in its filename? AC3Delay then takes automatically the delay from the filename, although ac3delay already has edited it a step before.
If the ac3 HAS -181, and ac3delay cuts 192, then you HAVE +11, whatever ac3delay shows when reloading the file. Don't become confused... ;)
Best way is to avoid having delays in filenames.
As your logfile of ac3delay shows, it has cut 192ms from beginning. Period. So it is now +11. (-181+192)
rui
13th November 2002, 22:33
Originally posted by 2COOL
There are 31.25 frames in one second.
I also got this info. But why? It was a PAL source, so each frame should have 25 fps, right? Or it's because we are dealing with audio?
Alphaloop
13th November 2002, 23:05
This means 31.25 AC3-FRAMES. Hasn't to do with the videostream and its video frames. AC3 is also a format which uses frames within itself. (like mp3 ;) )
The videostream has its video frame rate. The AC3-stream has its own ac3 frame rate.
rui
14th November 2002, 22:33
Thanks for the explanation :)
I must confess i am a newbie regarding dvd and ac3 matters.
Till this day i only did dvix or xvid movies, never using ac3 (only mp3 or ogg), but didn't knew that.
timekills
21st November 2002, 08:10
Alphaloop - thanks! It works perfectly.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.