View Full Version : ReClock DirectShow filter : try it !
Pages :
[
1]
2
3
4
5
6
7
8
9
10
11
12
13
14
ogo
6th December 2002, 23:39
This work was submitted a few days ago to doom9.net webmaster, but as i didn't get any response yet, i'm posting a link in the forum in case some users would like to try my new toy :)
ReClock is a DirectShow filter that will help to get rid of most causes of jerky DIVX/MPEG playback. How it does it too complex to explain here (it was a lot of work to achieve that ...). Anyway there is a HUGE readme in the distrib that explains everything !
Please post your results (success or not) in the forum, it will help to improve my filter
To get the current binaries, please visit my little web site :
http://ogo.nerim.net/reclockfilter
Previous version can also be found on this website
PS: sorry for my bad english, i'm french
:D
OGO
gabest
7th December 2002, 05:49
Nice work. Are you planing to support WAVEFORMATEXTENSIBLE with channel mapping? :)
ogo
7th December 2002, 13:54
Thanks gabest.
Sure i'll see if i can add multichannel support in next release (shouldn't be too hard)
Chibi Jasmin
7th December 2002, 14:40
I tried it, works fine...and multichannel is exactly what I was going to ask for...now, as you probably know, AC35.1-AVIs work fine, but sound is only 2 channel then..., is there a solution in sight for full 5.1 sound? Would be great! In fact, that would be fantastic :D
Keep up the good work on that thing!
Is there a website, where we can get news and newest versions?
ogo
7th December 2002, 16:19
Ok guys :)
I just made a new version 0.95 which adds ... multichannel support :)
This is version 0.95 and you can get the link in my first post.
I did not have time to test it extensively but it seems to work fine. Let me know if its ok for you.
I don't really have time to make a website, maybe i should ...
OGO
gabest
7th December 2002, 17:35
The mapping looks correct, I could only test it with four speakers but I guess the rest is ok too.
Also, I found two cases when it locks up. Sometimes it freezes when I dynamically change the format (much more smooth than with the dsound renderer :)), and it always does if I load something while the player is being debugged (vc7). This happens with wmp64 and mpc both, so it's not just because of my player.
You can test the format change and channel mapping with mpc if you want, go to the options and enable the audio switcher and speaker config and keep clicking the big table. It will freeze sooner or later :)
http://download.vobsub.edensrising.com/mpc2kxp6406.zip
http://download.vobsub.edensrising.com/mpc98me406.zip
Chibi Jasmin
7th December 2002, 17:46
Great! I will test it as soon as I have time, probably later today!
Quick test: Properties in ReClock and Intervideo Audio decoder now show 6 ch correctly, but sound can simply not be heard at all (silence). Normal MP3 still plays...using SBLive on WinXP SP1.
ogo
7th December 2002, 18:37
Thanks gabest. It is a deadlock problem, and i think i have corrected it. I'll post the new version tomorrow (i must do some testing)
OGO
ppera2
7th December 2002, 18:46
I tested it and it works fine under Win XP. But AC3 has output only when set to 2 channel (downloaded 2 hours ago).
In Win 98 WMP locks up immed. after start when click on AVI associated with WMP. Bsplayer which doesn't loads filter works still fine.
Error in manual: " So a cinema movie that has duration of 60mn plays on PAL in 59mn36 seconds. " - Actually about 57 min 36 sec :-)
gabest
7th December 2002, 19:17
Hm, this is strange. First I tried to remap a stereo wave file to 3+ channels and that worked fine, I could position front left to back right, etc., but now I'm unable to do the same with an ac3 file. It sounds wiered like the sound was going in circles around me, jumping from speaker to speaker.
update: This ONLY happened with the ac3 filter from ac3filter.sf.net, with intervideo/cyberlink/nvidia filters it was perfect.
Chibi Jasmin
7th December 2002, 19:27
It's simpler here: No weird sounds, just silence, when intervideo audio decoder is set to more than 2 channels :-) 2 channels work...
UPDATE: 6 ch sounds works fine with AC3Filter from Valex, will use that one then :-)
Chibi Jasmin
7th December 2002, 20:31
One more thing: Would be nice to be able to manually define a source frame rate in case the detection doesn't work (happens with Intervideo Video Decoder or Cyberlink Video Decoder), so we can also use frame rate conversion on mpeg2-files!
BTW: Any idea, why I can't get AC3-output of DVD Navigator to connect to AC3-input of AC3Filter (mpeg2-demultiplexer works)? I could build a custom DVDGraph with AC3Filter then (and of course ReClock)! But maybe ReClock will soon work with Intervideo Audio, so this might then not be necessary anymore... :)
ogo
8th December 2002, 01:46
gabest> i just uploaded a new version (0.95b) which help to fix the deadlock problem with MPC and WMP. Anyway it's still not completely ok, i still can lock the playback from the ReClock properties page when playing with the "media adaptation" combobox. By the way many congratulations for MPC, it's a great player, lots a feature with a simple and clean interface. It has great DVD playback, and loads automatically ReClock with DVD (ZoomPlayer don't do that).
For DVD, i know that ReClock cannot detect framerate (and it will never be able to do it because it can't deal with VOB files), but it still corrects the clock. As of now you cannot enter manually the framerate (i'll add it in the next version), but you can approach a good value by selecting a framerate based on a refresh rate divisor (for example if your monitor is at 75hz, choose "refresh rate/3" for a PAL DVD).
I know of some problems with sound when seeking inside a DVD.
ppera2> could your test again with Win98 ? I corrected the typo in the manual. I know my english is awful, i hope the manual is at least understandable :)
Chibi Jasmin> For AC3, i'll have to make more tests, but in 0.95b i changed something, maybe it's better now. Could you try again ?
Thanks for your bug reports, i'm not here tomorrow, so i will look at AC3 problems monday !
OGO
Update:
- i reproduced the problem with intervideo audio decoder (in graphedit). Silence too...
- i tried with moonlight audio dekoda : ok with 2 & 4 channels (in graphedit)
gabest
8th December 2002, 02:06
Originally posted by Chibi Jasmin
BTW: Any idea, why I can't get AC3-output of DVD Navigator to connect to AC3-input of AC3Filter (mpeg2-demultiplexer works)?I'm afraid any filter wanting to connect to the dvd navigator needs to have a few licensed player keys... Once I tried to implement IKsPropertySet/AM_KSPROPSETID_CopyProt/* on the input pin using the old decss code, but those xing keys didn't help much. (my unencrypted dvds could be played though)
Chibi Jasmin
8th December 2002, 02:10
Originally posted by gabest
I'm afraid any filter wanting to connect to the dvd navigator needs to have a few licensed player keys... Once I tried to implement IKsPropertySet/AM_KSPROPSETID_CopyProt/* on the input pin using the old decss code, but those xing keys didn't help much. (my unencrypted dvds could be played though)
Well, so I actually can't build a DVDGraph with AC3-Filter, I am afraid...is that correct? Well, maybe ReClock will someday work with Intervideo Audio Decoder...
Chibi Jasmin
8th December 2002, 02:16
Originally posted by ogo
For DVD, i know that ReClock cannot detect framerate (and it will never be able to do it because it can't deal with VOB files), but it still corrects the clock. As of now you cannot enter manually the framerate (i'll add it in the next version), but you can approach a good value by selecting a framerate based on a refresh rate divisor (for example if your monitor is at 75hz, choose "refresh rate/3" for a PAL DVD).
I know of some problems with sound when seeking inside a DVD.
Chibi Jasmin> For AC3, i'll have to make more tests, but in 0.95b i changed something, maybe it's better now. Could you try again ?
Update:
- i reproduced the problem with intervideo audio decoder (in graphedit). Silence too...
About the frame rate thing: The frame rate detection doesn't work for DVDs/MPEG2...sure, I got that, that's why I was asking to be able to set the SOURCE frame rate manually! Then it should be possible to calculate the needed audio resample to hit the TARGET frame rate we set. At the moment, playing with mpeg2-files (dvd-source or just mpeg2-streams) leads to the message that frame rate cannot be changed because source frame rate is unknown...(also refresh rate/x thing). By setting source frame rate manually it should be possible to do frame rate adjustment on dvds/mpeg2s...am I wrong about this?
AC3 was working fine here with AC3Filter also in 0.95 version, didn't test 0.95b...will report back, if anything changes...intervideo audio support is still not supposed to be in, I understood...
gabest
8th December 2002, 02:29
Chibi Jasmin:
No, you can't if this interface implementation is missing. And even if it's there, the filter graph will send the EC_DVD_ERROR message with DVD_ERROR_CopyProtectFail for every encrypted dvd disc...
Ogo:
The deadlocks are definitly gone now :), but even the intervideo decoder I have here stopped working with the latest build :D, and also the ac3filter is still producing that strange output for me.
About the fps, you can find it out usually by analysing the video renderer's input media type or just simply the first MEDIATYPE_Video type with uncompressed data, but don't rely on this too much, it is up to the video decoder to set this field (divx502 doesn't do it for example...).
ogo
8th December 2002, 02:56
ok. Latest update before going to bed :D
0.95c is out, and this time sound is working with Intervideo Decoder Filter in 4 channels, 5.1, and 7.1 :) Didn't take time to test other AC3 filters, time to sleep ...
gabest> For frame rate detection, i use IMediaDet. I'll have a look on your method. I started DirectShow only 3 weeks ago, so i'm a little novice right now, and i have to learn ...
Chibi Jasmin> You're right about the "refresh rate/x" thing :) I will add manual frame rate in next version. With MPC & ReClock, we will finally be able to watch DVD's perfectly synced on big TVs ...
OGO
Chibi Jasmin
8th December 2002, 11:58
Originally posted by ogo
0.95c is out, and this time sound is working with Intervideo Decoder Filter in 4 channels, 5.1, and 7.1 :) Didn't take time to test other AC3 filters, time to sleep ...
Chibi Jasmin> You're right about the "refresh rate/x" thing :) I will add manual frame rate in next version. With MPC & ReClock, we will finally be able to watch DVD's perfectly synced on big TVs ...
OGO
Great, I will be able to use ReClock for DVDs now that Intervideo Audio works. If you then add manual source frame rate, I will be perfectly happy, if all works as expected... :-)
Chibi Jasmin
8th December 2002, 11:59
Originally posted by gabest
Chibi Jasmin:
No, you can't if this interface implementation is missing. And even if it's there, the filter graph will send the EC_DVD_ERROR message with DVD_ERROR_CopyProtectFail for every encrypted dvd disc...
Okay, now it's supposed to work with Intervideo Audio, I can skip that one anyway...thanx for explaining...
Chibi Jasmin
8th December 2002, 12:07
Problem with Intervideo Audio here: Wrong channel mapping or something...dialogues come out of right front speaker (supposed to be center), didn't do extensive tests for the other speakers...something to look at...all seems still fine with AC3Filter!
ppera2
8th December 2002, 23:48
ogo: I tried 0.95b and 0.95c . In c is now AC3 sound OK with 4-6 channel too. Unfortunately there is still problem in Win 98. WMP 7 and WMP 6.4 still frozes right after start, with all versions. Tried several times, with different codecs and directshow filters.
Chibi Jasmin
9th December 2002, 00:35
@ppera2: You don't have any channel mapping problems with Intervideo audio?
gabest
9th December 2002, 00:57
I don't have any either. Tested it with ac3test.vob saying: "front left, front right, real left, ...".
Chibi Jasmin
9th December 2002, 01:05
Strange...I had...tested by simply exchanging ac3filter.ax and iviaudio.ax and back...with iviaudio.ax center (spoken words) comes from the right, but only in conjunction with ReClock, using DirectSound Renderer iviaudio is fine...
@gabest&ogo:
One other thing...I am no expert on this, so correct me if I am wrong, but I got to the following idea, when reading that Ogo is searching for a better algorithm for audio resampling:
As far as I understood DVobSub's frame rate conversion does not do audio resampling (by looking at DSound Renderer I still had it at 48000Hz, but the frequency variable was modified from for example 1.00 to 1.04 (23.976->25 fps)), is that correct?
Wouldn't it then be possible to use DVobSub's way of frame rate correction for the audio and still maintain the clock correction capability of ReClock to avoid resampling and still have the corrected audio clock?
Maybe it's not possible, I didn't fully understand the concept, sorry if it's stupid.
BTW: Where can I get the ac3test.vob?
gabest
9th December 2002, 01:20
I got mine from here:
http://www.inside.dk/websupport/DVD-test/
The pitch still changes with dsound render, so it must be sending out the samples with a changed frequency too.
Chibi Jasmin
9th December 2002, 01:46
Thanx...
Well, as far as I understood, ReClock does two things (I will assume a 23.976 -> 25 fps conversion with the following numbers):
1. Resample 48000 Hz audio to 50050 Hz
2. Do little corrections to the audio clock of 48000, always setting different values close to 48000.
I thought
a) it might be possible to avoid resampling and just set audio clock to 50050 Hz and do the little clock corrections based on that frequency
or
b) it might be possible to avoid resampling and do the audio conversion for frame rate the way DVobSub does (it sets the frequency parameter (don't know exactly the meaning, but I saw it in DSound Renderer) from 1.00 to 1.04 (for 23.976->25fps) and do the audio clock sync corrections still based on 48000 hz.
maybe one of the two methods is possible and would make resampling unnecessary? Just an idea, I am not the expert...
I will play with the ac3test.vob later and post results with iviaudio.ax, I expect some wrong mapping...
Chibi Jasmin
9th December 2002, 01:56
Okay, back with AC3-test results using reclock 0.95c
Ac3filter: all okay
iviaudio:
Front left: comes out of Front left :)
Center: comes out of Front right
Front right: comes out of Center
Rear left: comes out of LFE
Rear right: comes out of Rear left
LFE: couldn't hear it (low frequency), but it should possibly be Rear right, if no speaker is double-assigned.
gabest
9th December 2002, 04:02
fleft, fright, center, lfe, rleft, rright, ... is correct the order of the interleaved audio samples, but I have no idea why you hear them from the wrong speaker :)
I noticed another thing with the (for me not working) ac3filter, the number of channels I set the number of times the duration decimates. The length is still 1:00 but with six channels it will reach the end of the stream at 0:10.
ogo
9th December 2002, 10:05
Hi !
Lots of intersting results guys :)
- for win98, i don't have it anymore, but i know i still have a very bad deadlock to solve (DirectShow i a nightmare on this side for me, nothing is very well documented ...). Maybe the deadlock will solve the prob. Anyway i will try to reinstall a win98 partition to test it, cause it should work fine under win98
- Intervideo Audio Decoder: i only have a four channel sound card (a Fortissimo II -great sound card by the way-), so i cannot test 5.1 sound. Anyway sound was ok for me in 4 channels. It's strange that 2 of you don't get the same results. Maybe if i explain what the problem was (is) with iviaudio, Gabest will be able to help me :D The problem is that iviaudio does not propose a media type in WAVEFORMATEXTENSIBLE as it should (more than 2 channels). In place it gives me a WAVEFORMATEX with more than 2 channels. Odd, since WAVEFORMATEX is only intended for 1 or 2 channels (this is an old structure), and does not include any channel mapping information. So i reconstruct a WAVEFORMATEXTENSIBLE for DirectSound and i configure the channels from the number of channels in the WAVEFORMATEX structure (4->Quad, 6->5.1, 8->7.1). But doing this i suppose that iviaudio does send the samples in the right channel order for DirectSound. It seems to be the case for me and Gabest, but not for Chibi Jasmin. So i miss something somewhere, but what ?
- AC3Filter: strange again. This time it works for Chibi Jasmin and me, but not for Gabest. Which version of AC3Filter do you use Gabest ?
- For the sound resampling problem : the resampling is mandatory even if there is no framerate correction, because the reference clock is derived from the video card, so there always is some deviation in the audio speed that must be corrected to avoid synchronisation problems with video. The default directsound renderer does this resampling using directsound (it tells the audio card to changes its hardware audio clock) ; at first i tried to do it the same way, but it didn't give very good results (pops, cracks, etc...). And it was not working with 48000hz audio tracks with framerate correction from 23,976->25fps, because directsound can't go beyond 50000hz resampling. The only problem i have with the algorithm i use is that it does linear interpolation which is not perfect for quality. BTW i will give source code for the resampler and the drc algorithm in next versions, because they are based on modified freeware source code. Maybe someone will improve the resampler :) The DRC is not perfect, but is quite easy to improve !
Without speaking of AC3, i know there is something still wrong with sound. I tested ReClock with more than 50 files, and i have 3 of them that produce bad sound. These are some old Captain Future episodes :D in 1 channel, 16 bits sound coming from the ACM wrapper. If i play those files with WMP, sound is ok. If i play with anything else (bsplayer, graphedit, ...) the samples i receive are not playable because sound is completely saturated, and i muse divide the samples by at least 100 to obtain hearable results ... It's not a resampling or DRC bug, because i still have the bug without the resampler or the DRC ...
I'm really scratching my head because i'm 99.9% sure that my code is correct (the mediatype checking/settings is really a not difficult part of a filter)
Just for curiosity which system clock deviation do you get on your PC's ? On a friends PC, i have seen 12000hz deviation for a 3.5mhz system clock. It's gigantic, and it means one frame missed every 300 frames ...
On my PC i get from 70 to 450 hz for a 1,2mhz clock depending on resolution and refresh rate.
OGO
gabest
9th December 2002, 10:25
The problem is that iviaudio does not propose a media type in WAVEFORMATEXTENSIBLE as it should (more than 2 channels). In place it gives me a WAVEFORMATEX with more than 2 channelsDO NOT accept that, it tries to fool you. If you reject it will try the correct one with WAVEFORMATEXTENSIBLE. I also fall in this trap a few weeks ago. I had no problems probably because I tested it through my audio switcher...This time it works for Chibi Jasmin and me, but not for Gabest. Which version of AC3Filter do you use Gabest ?0.55b, the last one out. Tried with or without audio switcher, in every possible player. I have an sblive with 4 outputs, using it under xp.
ogo
9th December 2002, 10:51
:-)
Thanks Gabest. I'll correct that tonight !
Chibi Jasmin
9th December 2002, 11:13
Originally posted by ogo
- For the sound resampling problem : the resampling is mandatory even if there is no framerate correction, because the reference clock is derived from the video card, so there always is some deviation in the audio speed that must be corrected to avoid synchronisation problems with video. The default directsound renderer does this resampling using directsound (it tells the audio card to changes its hardware audio clock) ; at first i tried to do it the same way, but it didn't give very good results (pops, cracks, etc...). And it was not working with 48000hz audio tracks with framerate correction from 23,976->25fps, because directsound can't go beyond 50000hz resampling. The only problem i have with the algorithm i use is that it does linear interpolation which is not perfect for quality.
Just for curiosity which system clock deviation do you get on your PC's ? On a friends PC, i have seen 12000hz deviation for a 3.5mhz system clock. It's gigantic, and it means one frame missed every 300 frames ...
On my PC i get from 70 to 450 hz for a 1,2mhz clock depending on resolution and refresh rate.
OGO
You sure, directsound cannot go beyond 50000? Try the simple DivXG400 fps conversion (not working for multichannel), and it will go beyond 50000 to be exact for 23.976->25 it goes to 50049 (properties of directsound renderer, without pops or cracks btw.
You say the default DSound Renderer also resamples??? I thought, it just sticks to the audio frequency of 48000 and that's why there is some desync (the reason why reclock was born)?
So how exactly does DVobsub do the fps-correction? I still don't understand. Going from 23.976 to 25 fps I see in Directsound renderer. With DivXG400: 50049 Hz, Freq 1.00 and with DVobSub 48000 Hz, Freq 1.04...does dvobsub also resample? Or what is this 1.04 parameter? One issue: If I remember correctly, DVobSub's frame rate correction (once forced into dvdchain with Cyberlink Video Decoder it got the right fps), was rejected by DVDNavigator, so its method might not be usable for dvdgraphs...
on my system I have: about 1191018.90 Hz with about -2163.1 Hz correction (varies a bit).
BTW: Don't forget the manual source frame rate :D
@gabest: manual source frame rate would also be great in dvobsub for the same reason ;) and while you're at it: could you make dvobsub not reset the frame rate value in the force fps field to the frame rate of the media on file open but just stick to the entered value?
ogo
9th December 2002, 11:48
>You sure, directsound cannot go beyond 50000? Try the simple >DivXG400 fps conversion (not working for multichannel), and it will >go beyond 50000 to be exact for 23.976->25 it goes to 50049 (properties of directsound renderer, without pops or cracks btw.
Strictly speaking the limit is 100000 in DirectSound. But my sound card won't go beyond 50000 (and i suppose many other sound cards).
>You say the default DSound Renderer also resamples??? I thought, it >just sticks to the audio frequency of 48000 and that's why there is >some desync (the reason why reclock was born)?
Just pitch change by modifyng the playback rate (ie playing audio at 48000hz on a card clocked at 50050hz). Maybe i wrong, i didn't play a lot with the ds renderer.
The reason of reclock is to have frames drawn in synch with vertical sync to suppress jerkyness by providing a reference clock and making frame rate corrections if necessary. I have a Philips 16/9 TV with a "Natural motion" processor that does frame interpolation at 100hz from a PAL or NTSC source. It works great, but the natural motion processor get completely confused when a frame come out of sync... Imagine playing a smooth game on you PC at 100fps, that some time go below 25fps. Unplayable :p
Anyway with recent versions of DirectX, the default audio renderer can slave its clock to an external reference clock, so reclock may probably have been written without having to make a complete audio renderer (just a reference clock and a properties panel). But i preferred to make a new renderer for the following reasons :
- i already knew directsound
- the limits of my sound card made impossible the frame rate conversion from 23,976 to 25 fps at 48khz
- i wanted a DRC
- i suspect the default audio renderer is not very smart when slaved to an external clock. In reclock i can control the sound the way i want
>So how exactly does DVobsub do the fps-correction? I still don't >understand. Going from 23.976 to 25 fps I see in Directsound >renderer. With DivXG400: 50049 Hz, Freq 1.00 and with DVobSub 48000 >Hz, Freq 1.04...does dvobsub also resample? Or what is this 1.04 >parameter?
25/23.976 = 1.0427, and 1.0427x48000 = 50050. So 1.04 is the pitch factor applied to the sound card. If you see something else than 1.00 in the default ds renderer, there must be some pitch change by it.
>BTW: Don't forget the manual source frame rate
Sure :)
Chibi Jasmin
9th December 2002, 12:07
>Strictly speaking the limit is 100000 in DirectSound. But my sound card won't go beyond 50000 (and i suppose many other sound cards).
Okay...
>Just pitch change by modifyng the playback rate (ie playing audio at 48000hz on a card clocked at 50050hz). Maybe i wrong, i didn't play a lot with the ds renderer.
well, this pitch change is not much in reality...a lot of original pal dvds also have this pitch change...wouldn't it be an option to do it this way at around 50050 hz? Well, okay, as you described above it wouldn't...for the 50000hz limit of some soundcards...
>Anyway with recent versions of DirectX, the default audio renderer can slave its clock to an external reference clock, so reclock may probably have been written without having to make a complete audio renderer (just a reference clock and a properties panel). But i preferred to make a new renderer for the following reasons :
- i already knew directsound
- the limits of my sound card made impossible the frame rate conversion from 23,976 to 25 fps at 48khz
- i wanted a DRC
- i suspect the default audio renderer is not very smart when slaved to an external clock. In reclock i can control the sound the way i want
Okay, sure, at least you know what you got then...
>25/23.976 = 1.0427, and 1.0427x48000 = 50050. So 1.04 is the pitch factor applied to the sound card. If you see something else than 1.00 in the default ds renderer, there must be some pitch change by it.
Yeah, that's what I thought to...can't this pitch factor also be used for reclock?
Forgive me, but I just don't see the point in resampling, if we could either modify this pitch factor or modify the audio clock (okay, you didn't wanna go beyond 50000Hz)...isn't it possible to apply the needed sync corrections including frame rate conversion to one of these without resampling?
>>BTW: Don't forget the manual source frame rate
>Sure
I will appreciate it...
Thanx in advance!
ogo
9th December 2002, 12:34
>Yeah, that's what I thought to...can't this pitch factor also be >used for reclock?
This is called the "rate" in directshow. For example, when you "increase rate" in MPC, you will change the directshow "rate" for all the filters in the graph. reclock as a filter can also be slaved by rate change (try it with MPC).
Most filters that change frame rate do it with directshow "rate" change on the graph.
But when reclock adapt frame rate, it does it differently : it just slow or accelerate it's reference clock. There are two rates in reclock : the directshow rate (shared with other filter), and the reference clock rate (used to fool other filters :)).
>Forgive me, but I just don't see the point in resampling, if we >could either modify this pitch factor or modify the audio clock
>(okay, you didn't wanna go beyond 50000Hz)...isn't it possible to >apply the needed sync corrections including frame rate conversion to >one of these without resampling?
The only way to correct audio is to slow it or to accelerate it, by two means :
(1) pitch change by the hardware (with limitations on some sound cards)
(2) software resampling
i only implement solution (2) in the current version. But you make me think i could also propose solution (1) in future versions. In fact my very early work was using version (1) but i was not happy with the results.
cca
9th December 2002, 13:44
Nice work Ogo, your filter came right when I was about to go mad! I spent the entire weekend trying to find out why my XVID (or DivX) encodes are playing with jerky motion now and then. Your filter works fine in conjuction with AC3Filter in my PC. But I have one question: What happens if someone wants to use the S/PDIF output to pass the audio to an external decoder? Can Reclock help in this case? Or it just messes up the degital stream? Or there is no need to use Reclock in this case?
sekxx
9th December 2002, 14:17
Thank's for your work ogo!
Just wanted to know if you are the ogo that have made a mod on mpeg2avi.exe some year ago?
ogo
9th December 2002, 14:58
Yep it's me !
I also made the first modified version of DVD2AVI (1.82) with a resizer. It started a "fever" of mods on DVD2AVI, but it's a pity to see that no one released a unified (and clean) DVD2AVI version with all the useful mods after that. :confused:
After that i played a little bit with GKnot (vdubconf).
I've always been interested in stuff related to video.
:)
ppera2
9th December 2002, 15:33
Yes, DVD2AVI 1.82 is great work. Session save is very useful too.
Some guys make currently MPEG Manipulator based on DVD2AVI, but it is far from usable. Maybe you can direct them in right way? :)
Chibi Jasmin
9th December 2002, 18:02
Originally posted by ogo
This is called the "rate" in directshow. For example, when you "increase rate" in MPC, you will change the directshow "rate" for all the filters in the graph. reclock as a filter can also be slaved by rate change (try it with MPC).
Okay...thanx for explaining...
Originally posted by ogo
The only way to correct audio is to slow it or to accelerate it, by two means :
(1) pitch change by the hardware (with limitations on some sound cards)
(2) software resampling
i only implement solution (2) in the current version. But you make me think i could also propose solution (1) in future versions. In fact my very early work was using version (1) but i was not happy with the results.
In fact I would like to see also version 1 in ReClock...maybe as an option for the user to chose, depending on what the user wants. I have been using method 1 for some time now (with DivxG400 (48000Hz->50049Hz) or DVobSub (rate 1.00 -> 1.04(27...)) without any problems on an SB PCI 128 and an SB Live card.
gabest
9th December 2002, 23:01
- AC3Filter: strange again. This time it works for Chibi Jasmin and me, but not for Gabest. Which version of AC3Filter do you use Gabest ? Just noticed something, this problem only happens with pure, demuxed ac3 files. (demuxed with dvd2avi)
Chibi Jasmin
9th December 2002, 23:33
Just tried that...pure ac3 with ac3filter and reclock also sounds kinda weird...
ogo
10th December 2002, 00:21
Hi again :)
0.96 is available. It contains :
- hopefully a fix for intervideo audio decoder
- hardware resampling by your sound card (see properties) :-)
- a manual frame rate combo when frame rate cannot be determined
Known bugs still to be corrected :
- sometimes sound is creaking like mad on some channels with software resampler. Pausing and restarting the graph fix the problem
- a deadlock (seen when playing DVD with MPC)
- looping sound in DVD menus (seen with MPC)
- does not work under win98 (i'll see that next week end)
I played a bit with AC3 filter and iviaudio, and here are my results with ac3test.vob on my 4 channels sound card :
- with iviaudio : left front ok, right front ok, i got center on left+right front, right surround ok, left surround ok, lfe on left front (!)
- with ac3 filter : 2_2 quadro config. Same results (even for lfe)
Update:
Gabest i also reproduced the problem with pure AC3 file extracted with DVD2AVI. This sure is a reclock bug since it works fine with the default renderer :(
OGO
gabest
10th December 2002, 00:29
"center on left+right" is ok to my opinion, and lfe coming out on left front is not a bug, that's the correct mapping if you don't have a real lfe output.
cca
10th December 2002, 01:38
I tested your new version Ogo and found that AC3Filter does not work when set to outpout olny 2 channels. But it works with 4 channels. On the other hand, the intervideo filter works fine. The AC3Filter, when set to output only 2 channels invokes by default the directsound renderer and not ReClock. When set for 4 channels, ReClock loads by default. If I force ReClock for 2 channels, no audio is played. I have not tested with more than 4 channels. The previous version works with AC3Filter and 2 channel output.
One other thing I noticed is that the first 1 or 2 seconds of the audio are cut off. But this is minor bug compared to the AC3Filter issue.
FredThompson
10th December 2002, 03:25
All that's on this page:
http://www.geocities.com/casimir999/
is what looks like a DSL optimizer.
Would you please add links for your ReClock filter?
gabest
10th December 2002, 03:31
You can find the links at the very first post of this thread.
FredThompson
10th December 2002, 03:41
Yes, I know. I'd like to add this to the links lists I maintain on Donald Graft's site and deep linking into the Doom9 forum is somewhat awkward compared to going straight a support site. Some of the links are into forums but that can become a problem. For example, there are threads on one of the TiVo forums that run into the thousands of replies. If people are directed to a support site, it reduces the demand on the discussion boards.
edit: oops, that should read, "hundreds"
--
(OT) Love VobSub, btw.
gabest
10th December 2002, 03:47
Ah, I see :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.