View Full Version : ReClock DirectShow filter : try it !
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 :)
BlackSun
10th December 2002, 08:37
I was wondering if you can add a switch to prevent the filter from loading (that's easier than registering/unregistering).
Welcome back OGO :) (remember mpeg4-fr ? :) )
Chibi Jasmin
10th December 2002, 11:31
Man, this thing works great now! You made me very happy...finally I can do frame rate conversion on dvds with multichannel without any hassle! This manual frame rate thing works fine...intervideo audio is fixed for me to (5.1) and hardware as well as software resampling also works...THANX A LOT!
Can you make the setting for hardware resampling on/off stick?
ogo
10th December 2002, 12:46
Quick update: 0.96b is available and fix two problems :
- 2 channels not working with AC3Filter (i'm so stupid sometimes)
- volume/pan not restored correctly when switching from hardware/software resampling
Next version is due only this week-end. I need time to find and fix other problems (deadlocks, win98, etc ...)
Hi BlackSun, it's a long time ago ... Nice to talk to you again :)
Chibi Jasmin, the setting for hardware resampling should stick. It's always saved in registry :)
FredThompson, i'll do a little support site on geocities later in the week :)
Chibi Jasmin
10th December 2002, 13:11
Will try, if it sticks, I was under the impression it doesn't, well, I'll see...thanx for everything...
UPDATE: Seems to stick indeed... :D
ogo
10th December 2002, 19:21
The little web site is online. All future versions will be on this site.
Here is the url : http://www.geocities.com/reclockfilter
cca
10th December 2002, 19:23
Well, I found another bug. I have a DVD movie which starts without first going to the menu, it plays the movie immediately. If I go to the menu, normaly I hear nohing because there is no sound in that DVD's menu. With ReClock instead of silence I hear the last few seconds of sound repeating over and over until I resume normal playback. Just something to look over for the next release!
Chibi Jasmin
10th December 2002, 21:33
ogo, can you include a button to enable/disable the clock correction (leaving frame rate conversion working)? I am not sure and I am not blaming your filter, but I still have some jerkiness occasionally here and would like to do a few tests without clock correction, although I doubt it will help, because I have the same problems with DSound Renderer, might just as well be the VBR MP3 in the AVI I used for testing :D. The frame rate conversion still is very useful, anyway...
Did I understand it correctly, that your filter tries to deliver a steady frame rate correcting the audio speed/clock to match the video? And video is precisely played with the chosen frame rate?
BTW: I am using G400 DH with DVDMax option for playback on TV.
UPDATE: I just read this explanation on your page:
'It provides a new reference clock that is locked to the video card hardware clock, in order to ensure that frames are played at the exact speed of what is expected by the video card vertical sync.'
So, let's say I have 100 Hz refresh rate for the monitor...program choses to use pal mode and plays my 23.976 movie at 25 fps. But maybe 100 Hz is not exactly 100 Hz on my card but a little off...would that mean, that my movie is also not exactly 25 fps? This might be the reason for jerkiness on TV (expecting 25 fps, although I understood it doesn't have to be precise for the TV), what do you think? Just an idea...does the behaviour of reclock change, if I set it to auto,25 fps or refresh rate/4?
gabest
10th December 2002, 23:47
Hey ogo, can I ask you a favor, could you check if mpc and its audio switcher are transferring the data for spdif correctly? I can't try it because I don't have any external equipment, but those who have are saying that only silence is coming out.
ogo
11th December 2002, 11:00
cca> yes, i'm looking into it
gabest> my audio card has sp/dif but i don't have equipment to connect to it :( Moreover reclock does not accept digital media type. But i'll make quick test (make reclock accept digital) and see if data i receive contains all zeros or not, maybe it could help you.
I also have a question for you :) What do you do in MPC in DVD mode when the user click on "root menu" ? Do you pause/stop and restart the graph ? I have a looping sound problem, because my filter does not get notified at all ? Maybe it's another critical section problem ...
BTW is there something i don't know about 16 bits, mono, PCM sound format ? I have a bug that drives me crazy : playing a sound file in 16bits, mono, 11025hz PCM format just produce noise with reclock, where :
- 8bits, mono or stereo, 11025 hz plays fine
- 16bits, *stereo*, 11025 hz plays fine (!!!)
- 8 or 16bits, mono or stereo, all other sample rate plays fine (grrr)
The AC3Filter problem with "pure" AC3 files also is very strange. I'm beginning to think it's a problem in AC3Filter because :
- if i recompile AC3Filter in debug mode, all is fine
- if i recompile AC3Filter in release mode, the problem shows up
- if i recompile AC3Filter in release mode but disable optimizations, all is fine
Anyway, it does not confirm at all it is a problem inside AC3Filter.
Chibi Jasmin>Yes you understood right. I tried to explain with great length in the readme, but my english is not perfect (i'm french). Whatever mode you choose, the reference clock of reclock will ALWAYS be synced with your video card. So if for example your video card runs at 100hz, the reference clock will exactly thinks 1 second has exactly elapsed each time your monitor advance 100 vertical syncs. So if you play a DIVX with reclock at a framerate that is a multiple of your video refresh rate, it will play in sync with your hardware. It's very important ESPECIALLY for TV out (i explain that in the manual and it's the contrary of what you think about TV).
Without reclock, your video hardware, and directshow don't use the same time base, and there is some deviation. I've made a lot of test with my tv and my pc, and i can attest that reclock does work at least for me. But you will still get dropped frames if there are time consuming tasks in the backgrond (kazaa, edonkey for example) when you play a divx, or if your divx has some problems. As you know windows in not a real time OS, and media playback has very tight timings ... So a Win 2000/XP kernel is better for the task.
The whole problem is precision: the ppm indicator give you an indication of how precise the current correction is.
The frame rate detection and adaptation is just here to adapt DIVX where the framerate is not a multiple of the video refresh rate. When you play with the "media adaptation" combo, you just modify how the DIVX frames can match with the video card, you don't modify anything in the reference clock. Just choose an adaptation that will produce a final frame rate that is a multiple of your video card. Hope i'm clear :D
I don't see an interest in disabling the "corrected" reference clock. You can just uninstall reclock if you want to see the difference between reclock and the default audio renderer.
gabest
11th December 2002, 11:08
Originally posted by ogo
I also have a question for you :) What do you do in MPC in DVD mode when the user click on "root menu" ? Do you pause/stop and restart the graph ? I have a looping sound problem, because my filter does not get notified at all ? Maybe it's another critical section problem ...Nothing more is happenning than a call to IDvdControl2::ShowMenu, but the dvd nav filter is a crap as it is, it can't seek while being paused, and everything it does has a huge latency, 0.5-1 sec is the minimum.
ogo
11th December 2002, 11:15
Ok.
Just to add something for the 16bits, mono, 11025hz problem. It must be somethin with directsound. If i tell directsound to play it at 11026 instead of 11025 it works fine ! I see this behaviour with all sound cards. Directsound must do something special at 11025, or i have the mad cow disease :p
gabest
11th December 2002, 11:33
*.wav made with virtualdub, PCM 11025Hz 16bit mono, everything plays fine.
ogo
11th December 2002, 11:58
Even with this one ?
(copy in a new window to bypass geocities protection)
http://www.geocities.com/reclockfilter/pcm_11k_mono.zip
gabest
11th December 2002, 12:31
Well, this one makes a wiered noise only :)
Chibi Jasmin
11th December 2002, 13:47
Originally posted by ogo
Whatever mode you choose, the reference clock of reclock will ALWAYS be synced with your video card. So if for example your video card runs at 100hz, the reference clock will exactly thinks 1 second has exactly elapsed each time your monitor advance 100 vertical syncs. So if you play a DIVX with reclock at a framerate that is a multiple of your video refresh rate, it will play in sync with your hardware.
Okay, I got that part...and if card runs at 99,8 Hz in reality (indicating 100 Hz), video runs at 24,95 fps, but the tv automatically syncs with 24,95 fps and it's fine? Or does such deviation in the refresh rate not exist? I still don't understand that part too well...I got it so far:
DivX plays in sync with my video hardware (in sync with my refresh rate), audio clock is corrected to match this. So fine so good. But does that guarantuee it is in sync with my tv? Is the refresh rate exact enough to produce a frame rate of the video that does not confuse my tv? I didn't get that from the readme...you say the video frame rate is always EXACTLY a multiple/fraction of my refresh rate. Makes sense to avoid jerkiness, sure, but you don't say anything about how precise the refresh rate is or should be and how that affects TV-Output...can you explain that a bit more, please? Thanx in advance!
Originally posted by ogo
But you will still get dropped frames if there are time consuming tasks in the backgrond (kazaa, edonkey for example) when you play a divx, or if your divx has some problems.
Yeah, sure, that's what I was thinking, too...
Originally posted by ogo
I don't see an interest in disabling the "corrected" reference clock. You can just uninstall reclock if you want to see the difference between reclock and the default audio renderer.
Well, I would have to do the framerate conversion with another filter then, making it a bit complicated...but I could as well do some tests with 25 fps material :D I understand, you don't wanna disable it, of course...
ogo
11th December 2002, 14:19
Okay, I got that part...and if card runs at 99,8 Hz in reality (indicating 100 Hz), video runs at 24,95 fps, but the tv automatically syncs with 24,95 fps and it's fine? Or does such deviation in the refresh rate not exist? I still don't understand that part too well...I got it so far:
Yes you got it. Your TV will always synchronize itself to its input signal (to a certain extent). It your PC delivers vertical syncs at 49,9 hz, your TV will display pictures at 49,9 hz. That's what happen with every equipment you connect to your TV. Even a DVD player connected to a TV doesnt play at exactly 50hz.
So now, if your PC is connected to a TV, and if your movie is played at a speed that is a exact multiple a the video card refresh rate (ie: also tv refresh rate), your movie will be fine on your TV. That's the whole purpose of reclock : good TV-OUT :)
I made all my tests with a Geforce3 and latest TVTool.
Without reclock, every 3-4 minutes, the video becomes jerky during 5-10 seconds (during a vsync "traversal"). With reclock i can play a whole movie without jerkyness (or too rare to be noticed), and i have a very picky tv-set that don't like non-smooth framerate (see me earlier post about natural motion processing).
What make me happy is that reclock also works with MPC, so i can also play my DVDs fine.
I also have a special video renderer to make my tests which can visually tell me how far the vsync point is from the current drawn frame ; it tells me if the clock is correctly tweaked ...
Chibi Jasmin
11th December 2002, 15:56
Okay, then I understood it...I suppose it doesn't make any difference that I am using a Matrox card in DVDMax mode, which works slightly different. In case you don't know, it does not simply clone the desktop to a tv, it outputs any video overlay window that is created fullscreen to a connected TV-set (you don't have to fullscreen on monitor or can even minimize the player).
I could THINK of (not saying there definitely is one) a possible problem. The Matrox card MIGHT produce some kind of own clock/rate whatever for it's tv-output that does not directly depend on the monitor's refresh-rate (you can set the card in PAL or NTSC mode and in both cases select whatever refresh rate you want for the monitor) and then some deviation might occur...let's say, we have 99,8 Hz refresh rate on monitor -> 24,95 fps video, and the 'dvdmax clock' (if it exists) is 24,97 :D Well, this is just speculation, don't forget! Do you know anything about Matrox' DVDMax implementation? Can I help doing any tests maybe?
My point is: you're saying 'video card refresh rate (ie: also tv refresh rate)' -> this might not be true for matrox dvdmax or in other words, I simply don't know how the tv refresh rate depends on monitor refresh rate...at first glance I'd say it does not depend at all, because I can set my monitor to whatever refresh rate I want, the dvdmax output is still around 50 Hz (pal), otherwise my tv wouldn't sync at all, if I got it right. I am a bit confused :)
I simply don't know, I am just a bit worried :D
BTW: I don't know how tv-output on geforce cards works, they basically clone the monitor picture to the tv, is that correct (such a mode also exists on matrox but is not the preferred one for video playback)? And you can set the refresh rate of monitor picture to whatever rate you want and tv stays at 50 Hz (you can do that with matrox' clone mode)?
Sorry for all this confusion, I understood it so far by now:
With Reclock you get a video that is synced with your monitor refresh rate so it won't be jerky on monitor. BUT: There are different TV-Out implementations on different cards, how can we be sure, that being synced with monitor refresh rate and therefore not being jerky on monitor guarantuess perfect playback on tv?
ogo
11th December 2002, 16:23
My point is: you're saying 'video card refresh rate (ie: also tv refresh rate)' -> this might not be true for matrox dvdmax or in other words, I simply don't know how the tv refresh rate depends on monitor refresh rate...at first glance I'd say it does not depend at all, because I can set my monitor to whatever refresh rate I want, the dvdmax output is still around 50 Hz (pal), otherwise my tv wouldn't sync at all, if I got it right. I am a bit confused
You're right. If your video card produce another internal clock for tv wich is not related to the clock of your monitor, yes we have a real problem. I have a notebook with a Radeon M6 Mobility which just work the same way, but i didn't test reclock with tv-out on it yet. Some testing on it may give some clues ...
Just to know, when you output PAL to your TV, what information does you see in the "video hardware" tab of reclock ? If you don't see 50hz, then there is a problem for sure. However, there may be some solution if DirectDraw support your second screen (the tv out) as a second video adapter. I'll search more informations on this. What exact model of card do you have ?
BTW: I don't know how tv-output on geforce cards works, they basically clone the monitor picture to the tv, is that correct (such a mode also exists on matrox but is not the preferred one for video playback)? And you can set the refresh rate of monitor picture to whatever rate you want and tv stays at 50 Hz (you can do that with matrox' clone mode)?
On GeForce2/3 the picture is shared between the monitor and the tv (ie: the monitor refresh rate is set at 50hz during if for example you choose PAL mode). So the clock is also shared, and i see "50hz" when i output PAL material to my TV. However some GeForce4 do work like your Matrox.
Chibi Jasmin
11th December 2002, 16:33
Originally posted by ogo
You're right. If your video card produce another internal clock for tv wich is not related to the clock of your monitor, yes we have a real problem. I have a notebook with a Radeon M6 Mobility which just work the same way, but i didn't test reclock with tv-out on it yet. Some testing on it may give some clues ...
Just to know, when you output PAL to your TV, what information does you see in the "video hardware" tab of reclock ? If you don't see 50hz, then there is a problem for sure. However, there may be some solution if DirectDraw support your second screen (the tv out) as a second video adapter. I'll search more informations on this. What exact model of card do you have ?
Video Hardware tab: Refresh rate 100 Hz (the one my monitor is set to), clock: varies between about 86500 and 87500 hz (seems to depend on video dimensions, unsure...). exact model of card Matrox G400 Dual Head AGP 32 MB (the AGP 4x capable version)
In DVDMax mode, the tv out is not a second screen, you can do this setting the card in multidisplay mode, but that's not what we wanna do for video playback on tv. You can even connect two monitors and configure them with two different resolutions and refresh rates in this mode, so chances are great, tv-clock in dvdmax mode is also independently generated...
That's why I have been asking for support of disabling clock correction. I didn't have too much problems with jerkiness on tv, but reclock is the only working solution for me to do framerate conversion on dvd playback and I am not sure, if the clock correction part does any good or even bad, but the frame rate correction thing is so cool...maybe you think it over, giving an option to disable clock correction?
I don't even care for jerkiness on monitor...in fact, I didn't even have jerkiness (or very little, don't know) with monitor at 85 Hz for a long time. Maybe Matrox' TV-Out doesn't need any adjustment?
Originally posted by ogo
On GeForce2/3 the picture is shared between the monitor and the tv (ie: the monitor refresh rate is set at 50hz during if for example you choose PAL mode). So the clock is also shared, and i see "50hz" when i output PAL material to my TV. However some GeForce4 do work like your Matrox.
So what to do with these cards? Some research needed, I suppose...
ogo
11th December 2002, 16:45
Video Hardware tab: Refresh rate 100 Hz (the one my monitor is set to), clock: varies between about 86500 and 87500 hz (seems to depend on video dimensions, unsure...). exact model of card Matrox G400 Dual Head AGP 32 MB (the AGP 4x capable version)
clock depends on screen size and refresh rate. It should never change if don't don't change resolution or refresh rate. In the current version of reclock, the clock estimation is not always well made (it's now corrected but not posted yet). If it's the case, clock is badly corrected, and it can make playback worse ... Just to check if you have the bug, can you do the following :
Look in the registry here : HKEY_CURRENT_USER/Software/ReClock/Config
You will see some keys with the form "a"x"b"x"c"x"d".
If you see more that 1 key that begin with the same "a" and "b" and "c" but have a different "d" then you have the bug.
Ex:
1024x768x75x1040 )
1024x768x75x1050 ) -> IS WRONG
I'll post the next version tonight with this fix, and another one for the sound.
For the clock disabling problem i don't think it is so important because when the default audio renderer is used, the reference clock is based on the sound card speed. Using this reference clock instead of the reclock one would not give you something more accurate. And disabling the clock is really hard to do for me ...
Chibi Jasmin
11th December 2002, 17:04
Originally posted by ogo
clock depends on screen size and refresh rate. It should never change if don't don't change resolution or refresh rate.
But it does...when opening a video, clock is different with different videos...
Originally posted by ogo
In the current version of reclock, the clock estimation is not always well made (it's now corrected but not posted yet). If it's the case, clock is badly corrected, and it can make playback worse ... Just to check if you have the bug, can you do the following :
Look in the registry here : HKEY_CURRENT_USER/Software/ReClock/Config
You will see some keys with the form "a"x"b"x"c"x"d".
If you see more that 1 key that begin with the same "a" and "b" and "c" but have a different "d" then you have the bug.
Ex:
1024x768x75x1040 )
1024x768x75x1050 ) -> IS WRONG
I'll post the next version tonight with this fix, and another one for the sound.
Seems I got the bug:
[HKEY_CURRENT_USER\Software\ReClock\Config]
@=""
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x769]
"Version"=dword:00000001
"Wait"="78023.400000"
"WaitFactor"="1.300390"
"Freq"="1191065.738860"
"Ti"="-1364.310232"
"Duration"=dword:000000f0
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000001
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x770]
"Version"=dword:00000001
"Wait"="77922.060000"
"WaitFactor"="1.298701"
"Freq"="1191064.998550"
"Ti"="-1366.473598"
"Duration"=dword:0000004d
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000001
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x771]
"Version"=dword:00000001
"Wait"="1297.016861"
"WaitFactor"="1.297017"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003c
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x773]
"Version"=dword:00000001
"Wait"="77619.660000"
"WaitFactor"="1.293661"
"Freq"="1191065.975042"
"Ti"="-1370.357832"
"Duration"=dword:000000f0
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x778]
"Version"=dword:00000001
"Wait"="26207.000859"
"WaitFactor"="1.285347"
"Freq"="1191066.758166"
"Ti"="-1379.022244"
"Duration"=dword:00000502
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x784]
"Version"=dword:00000001
"Wait"="0.000000"
"WaitFactor"="1.000000"
"Freq"="1193182.000000"
"Ti"="0.000000"
[HKEY_CURRENT_USER\Software\ReClock\Config\1024x768x100x792]
"Version"=dword:00000001
"Wait"="1262.626263"
"WaitFactor"="1.262626"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003c
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x864]
"Version"=dword:00000001
"Wait"="1227.893086"
"WaitFactor"="1.157407"
"Freq"="1192262.154714"
"Ti"="-343.783374"
"Duration"=dword:0000003c
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x865]
"Version"=dword:00000001
"Wait"="17539.150929"
"WaitFactor"="1.156069"
"Freq"="1191016.728224"
"Ti"="-1570.747249"
"Duration"=dword:0000003c
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000001
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x866]
"Version"=dword:00000001
"Wait"="68236.873077"
"WaitFactor"="1.154734"
"Freq"="1191017.645117"
"Ti"="-1571.513361"
"Duration"=dword:00000043
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000001
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x868]
"Version"=dword:00000001
"Wait"="1152.073733"
"WaitFactor"="1.152074"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003d
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x869]
"Version"=dword:00000001
"Wait"="1150.747986"
"WaitFactor"="1.150748"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003d
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x875]
"Version"=dword:00000001
"Wait"="1142.857143"
"WaitFactor"="1.142857"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:00000041
"DRCActive"=dword:00000000
"HardwareResample"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x887]
"Version"=dword:00000001
"Wait"="1127.395716"
"WaitFactor"="1.127396"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003c
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x898]
"Version"=dword:00000001
"Wait"="3526.756105"
"WaitFactor"="1.113586"
"Freq"="1190912.814438"
"Ti"="-1669.858488"
"Duration"=dword:00000093
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x904]
"Version"=dword:00000001
"Wait"="1106.194690"
"WaitFactor"="1.106195"
"Freq"="1193182.000000"
"Ti"="0.000000"
"Duration"=dword:0000003f
"DRCActive"=dword:00000000
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x906]
"Version"=dword:00000001
"Wait"="0.000000"
"WaitFactor"="1.000000"
"Freq"="1193182.000000"
"Ti"="0.000000"
[HKEY_CURRENT_USER\Software\ReClock\Config\800x600x85x602]
"Version"=dword:00000001
"Wait"="2403.505698"
"WaitFactor"="1.954270"
"Freq"="1192699.698376"
"Ti"="-189.003825"
"Duration"=dword:00000059
"DRCActive"=dword:00000000
[/B][/QUOTE]
Originally posted by ogo
For the clock disabling problem i don't think it is so important because when the default audio renderer is used, the reference clock is based on the sound card speed. Using this reference clock instead of the reclock one would not give you something more accurate. And disabling the clock is really hard to do for me ...
Well, the frame rate conversion part is what I wanted to keep, because it's the only fully working frame rate conversion I got. But I wanted to see what happens, if the clock correction is not made (using the same reference clock as the default renderer = sound card speed), because we're not sure, if the correction is even going into the right direction (if there's two independent clocks for monitor and tv as described above). Anyway, if it's hard to do...let's better find out, if there's a problem with independent clocks for monitor and tv or not...
On this site: http://grafi.ii.pw.edu.pl/gbm/matrox/ there's some technical information about the matrox g400 parts, maybe you could have a look at this (especially the point called 'InDepth' explains some hardware stuff)... some quick links:
http://grafi.ii.pw.edu.pl/gbm/matrox/g4intro.html
http://grafi.ii.pw.edu.pl/gbm/matrox/mgaclock.html
Maybe this is not all you need, but it might give some insight into the g400 architecture.
ogo
11th December 2002, 17:39
Wow :) yes you have the problem. That also explain why your "hardware resampling" setting is not always sticky, because each registry group store its own settings.
Hope next version will fix that properly. Before installing it, please delete all entries under the "config" folder.
I'll check your links for Matrox.
Chibi Jasmin
11th December 2002, 17:41
Hope you'll find something interesting there...it's basically about overclocking the card and stuff, but maybe you find some hint, if there might be an independent tv-clock or not...
Chibi Jasmin
11th December 2002, 19:50
The link for 0.96c is screwed.
ogo
11th December 2002, 19:53
You're too fast for me :D
Just wanted to say that 0.96c is available :)
The link is ok now ...
Chibi Jasmin
11th December 2002, 19:55
Bad news, V0.96c freezes on file open (automatic graph building), player is frozen with 99% cpu usage!
Did you find something interesting about the Matrox cards?
ogo
11th December 2002, 20:18
It means it is not able to find your video clock frequency (this takes 100% cpu during .5 second normally but will take forever if it can't find the result).
What is the speed of your processor ? Could your try at lower resolution and with lower refresh rate ? Thanks
ogo
11th December 2002, 20:34
Can you test with this version (i relaxed some parameters) :
(copy this link in a new IE window)
http://www.geocities.com/reclockfilter/setup.zip
This version will produce a log in c:\reclock_log.txt. Can you give me the results by email (for more than 1 run if possible) ?
Thanks
cca
11th December 2002, 20:36
For what it worth, the new version works OK here. The bug with menus in DVDs remains, but you didn't say that you fixed it anyway:D Ofcourse I'm not using a Matrox card but a GeForce 4 TI 4200 and an AMD Duron 1.2GHz. Keep 'em coming Ogo!
I should also say that my refresh is 75Hz at 1024x768.
Chibi Jasmin
11th December 2002, 20:42
Originally posted by ogo
It means it is not able to find your video clock frequency (this takes 100% cpu during .5 second normally but will take forever if it can't find the result).
What is the speed of your processor ? Could your try at lower resolution and with lower refresh rate ? Thanks
Processor speed is 1365 MHz.
Will try with lower resolution/refresh rate...results in a minute...
UPDATE:
Still crashes with 1024x768 16bit and 32 bit.
800x600 at 16 bit works!
Chibi Jasmin
11th December 2002, 20:46
Originally posted by ogo
Can you test with this version (i relaxed some parameters) :
(copy this link in a new IE window)
http://www.geocities.com/reclockfilter/setup.zip
This version will produce a log in c:\reclock_log.txt. Can you give me the results by email (for more than 1 run if possible) ?
Thanks
I will...
UPDATE for some reason I can't get it to freeze anymore...it takes very long (few seconds) to actually load, but it does...will do more tests, before sending anything to you...or are you interested in success logs, too?
Chibi Jasmin
11th December 2002, 21:04
Well, it seems the debug version doesn't freeze (but takes very long to load), while the other regular verions freezes...let me know, if you still want the (success) logs...
BTW: I still have multiple 'd' (axbxcxd) entries in my registry (seems there's something special about Matrox cards :D):
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x864]
"Version"=dword:00000001
"Wait"="1192.129210"
"WaitFactor"="1.157407"
"Freq"="1193254.826025"
"Ti"="49.454537"
"Duration"=dword:00000040
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x865]
"Version"=dword:00000001
"Wait"="1226.473602"
"WaitFactor"="1.156069"
"Freq"="1192699.447524"
"Ti"="-217.712859"
"Duration"=dword:00000043
[HKEY_CURRENT_USER\Software\ReClock\Config\1152x864x100x866]
"Version"=dword:00000001
"Wait"="1189.376443"
"WaitFactor"="1.154734"
"Freq"="1193238.433484"
"Ti"="16.383552"
"Duration"=dword:00000046
also the Clock entry in video hardware is still varying from file to file without changing refresh rate or resolution!
ogo
11th December 2002, 21:24
The version is the same, i just modified a parameter to let it load ;)
Yes, please send me the logs by email.
At what speed does run your processor ?
Chibi Jasmin
11th December 2002, 21:40
I wrote further up, it runs at 1365 MHz.
Will send some logs...just a minute.
UPDATE: Sent.
Chibi Jasmin
14th December 2002, 16:18
Any progress with the filter? :)
ogo
14th December 2002, 17:29
Hi !
Just sent you the latest version by email before to publish it :)
Chibi Jasmin
14th December 2002, 17:45
Cool, I sent you a reply, need an answer, before I start my tests...
gabest
15th December 2002, 14:38
Chibi Jasmin: Forget what I said about dvds and the ac3filter decoder: http://download.vobsub.edensrising.com/ac3filter.rar :D
ogo
15th December 2002, 16:39
Hello Gabest
I sent an email to Valex for the "pure" ac3 playback issue. He is looking into it :)
Next version of reclock should be available tonight if all goes well :)
Chibi Jasmin
15th December 2002, 18:09
Originally posted by gabest
Chibi Jasmin: Forget what I said about dvds and the ac3filter decoder: http://download.vobsub.edensrising.com/ac3filter.rar :D
Is this a modified version of V0.55b which works in DVDGraph? Also with encrypted DVDs? If yes, I'd highly recommend sending your changes to Valex for including in his versions...
Chibi Jasmin
15th December 2002, 18:10
Originally posted by ogo
Hello Gabest
Next version of reclock should be available tonight if all goes well :)
Great, I will start the test you wanted now.
ogo
15th December 2002, 21:24
Version 0.97 is available on my web site. It has some big changes in video clock estimation and correction.
I think this version is quite close to 1.0 :)
I'd like to receive some log files of runs of Reclock to check is all is ok (see changelog.txt for details) with a description of the video and audio hardware you use.
Thanks again
OGO
gabest
16th December 2002, 02:26
Originally posted by Chibi Jasmin
Is this a modified version of V0.55b which works in DVDGraph? Also with encrypted DVDs? If yes, I'd highly recommend sending your changes to Valex for including in his versions... Yea, but I was still using the xing keys in this. Now I'm finding out a few other player keys by running a brute force search. I don't understand decss fully so I just try all possible 40bit keys, but in 5 hours and 1/4th of the tries I already found one key :) Btw, I think xvalex has posted his first here at doom9 in that audio time shifter filter thread, he just has a different nick name :)
cca
16th December 2002, 12:44
I tested the latest version and attached the logs. It works ok except for the known bugs, mostly with DVDs. Test configuration: 1320MHz AMD Duron, GeForce 4 TI 4200 + TVTool 6.8.4, SoundBlaster Audigy. NView not used.
@ Gabest:
The modified version of AC3Filter works with DVDs but crashes the player when trying to play AC3 from AVI files. You added DVD capability and killed AVIs! At least that's what's happening here.
Looking forward for the next version Ogo!
gabest
16th December 2002, 12:52
cca: There was a small error in the source code, it can be corrected easily.
cca
16th December 2002, 14:12
Glad to hear that Gabest.
gabest
16th December 2002, 14:30
Corrected that prob, added more player keys, sent a patch to xvalex :)
http://vobsub.edensrising.com/ac3filter.rar
ogo: How do you define the looping sound in dvd menus? I can only hear the last 0.x sec sometimes repeating after a seek or a change from one title/menu to another. I don't know exactly but somehow it must be releated to the flushing. Are you blocking the input and emptying the buffers without sending them out to the soundcard between beginflush and endflush?
ogo
16th December 2002, 14:45
Thanks cca for your tests. I'll analyze the logs, and tell you if all is ok
Gabest:
Starting with 0.97 the problem with DVD only occurs with Intervideo decoder (Cyberlink is fine). It's simple to reproduce : start playing a movie, wait for some sound, and then click on "root menu" in MPC. Root menu will appear, but you will hear a looping sound of the last 1 or 2 seconds. The problem is that Intervideo does not call BeginFlush() or EndFlush() on my input pin when "root menu" is choosen from MPC menu. In fact nothing at all is called in my filter or input pin, so i can't stop sound. However BeginFlush() is called when the user click on something in the root menu : this is very strange. For comparison, Cyberlink just call BeginFlush() as soon as "root menu" is clicked, so it's fine with this filter. I don't know what to do to solve this problem.
Did you correct the problem of ac3filter with "pure" ac3 files ? I believe it's a problem in ac3filter, not in reclock
OGO
gabest
16th December 2002, 15:01
Ah, now it is looping nicely even with the ac3filter :) But I didn't succeed for the first attempt, only for the second when going to the subtitles menu. It must be some random thing, the response time of the dvd navigator is very bad, it may confuse something.
I didn't look into that prob with demuxed ac3 files. The coding style is not for my eyes :)
ogo
16th December 2002, 15:18
Speaking of the "pure" ac3 file problem with ac3filter, try to recompile ac3filter in debug mode, and you will see that the problem disappear ... Funny
2 strange bugs to correct until 1.0 :D It's challenging ...
gabest
16th December 2002, 15:29
Interesting, it really works correctly in the debug build.
edit: no, not always...
edit2: Why are the timestamps always start:-1, stop:-1? I think in this case ac3 stream runs through the graph without waiting for the samples to complete their playing time. It seems that the ac3 parser filter forgets to attach the timestamps and no other filter corrects this by calculating the real length from the number of samples and the frequency.
edit3: When the sound starts looping in the dvd menu, there is nothing going through the ac3 filter. It must be something in reclock doing this. Why is it playing the same audio buffer again and again when no samples arriving? (btw, the last sample had start:-1 on it, and was a discontuinity)
ogo
16th December 2002, 18:00
edit: no, not always...
Gloups :(
edit2: Why are the timestamps always start:-1, stop:-1? I think in this case ac3 stream runs through the graph without waiting for the samples to complete their playing time. It seems that the ac3 parser filter forgets to attach the timestamps and no other filter corrects this by calculating the real length from the number of samples and the frequency.
I agree with you
edit3: When the sound starts looping in the dvd menu, there is nothing going through the ac3 filter. It must be something in reclock doing this. Why is it playing the same audio buffer again and again when no samples arriving? (btw, the last sample had start:-1 on it, and was a discontuinity)
It's playing the same sound again and again because DirectSound use a circular audio buffer : when it's not feeded in time, it will start to play sound of the past again and again ...
I checked the samples arriving in reclock (not with ac3filter but with intervideo audio decoder). If i remember well, the last one had normal start and end times (nothing special), and all samples had discontinuity=1 (i'll check again tonight)
gabest
17th December 2002, 05:17
Are you sure all samples were a discontinuity? IsDiscontinuity() is somewhat evilish, you can't write if(pSample->IsDiscontinuity()) {...} since it returns S_OK or S_FALSE.
ogo
17th December 2002, 11:04
Oups ... you're right.
All samples i received return IsDiscontinuity() = S_FALSE (ie 1). I must suffer from C++ Pavlov syndrom Isxxx() means for me "return bool".
I checked again with intervideo. IsDiscontinuity is always FALSE when i return to root menu. However when i seek a DVD, i receive a discontinuity for the first sample after seek. It must be a threading problem, because a soon as i click on something in the root menu, i receive the BeginFlush() i should have received before.
Speaking of seek, you noticed strange clicks or noise when seeking DIVX or DVD. This is corrected in next version of reclock.
I have also a little problem to submit to you for MPC. The bottom line is never drawn on my PC (i see some garbage in it). I'm using winxp sp1 dx 8.1, geforce 3, detonator 41.09
gabest
17th December 2002, 11:13
With which renderer is it happening?
ogo
17th December 2002, 11:49
i'm not at home, i'll tell you tonight :)
i have also a little media file that hangs MPC, i'll see if i can send it to you by email. Do you accept big emails ?
BTW do you know how i can use DVD navigator with graphedit ? i don't understand how to connect it ... It works with video, but not with audio (it says it can't connect its ac3 output to ac3filter). Do i miss something ?
gabest
17th December 2002, 11:56
I don't think I can accept anything bigger than a megabyte, but I will send you my ftp address.
about the ac3filter, did you try this version I posted here? Also, 0.6b is already out at sf.net with the modifications needed to connect to the dvd navigator.
ogo
17th December 2002, 16:41
I don't think I can accept anything bigger than a megabyte, but I will send you my ftp address.
Ok i'll see that
I made some quick tests with ac3filter 0.6b. Pure ac3 filter playback problem is still there, and now it even make graphedit crash ...
gabest
17th December 2002, 16:46
I think this part of the code is causing the crash:ac3filter.cpp, line 238:
void
AC3Filter::new_sample()
{
DbgLog((LOG_TRACE, 3, "AC3Filter::new_sample"));
if (sample) sample->Release(); // <---- 2, crash
if FAILED(InitializeOutputSample(input_sample, &sample)) // <---- 1,
sometimes InitializeOutputSample fails and "sample" stays filled with memory
garbage
{
sample = NULL; // <---- 3: add this line to fix it
throw "Get delivery buffer failed";
}
(I sent this to xvalex in email)
ogo
17th December 2002, 19:04
Gabest, i made some tests with graphedit with :
- intervideo audio decoder
- intervideo video decoder
- reclock
- video renderer
- dvd navigator
Guess what ? The problem i see in MPC does not reproduce here. When i go back to the root menu, i receive my BeginFlush() and sound is stopped correctly (no looping). I also checked with ac3filter, and it is fine too (apart for the crash you corrected)
What do you think of this ?
gabest
17th December 2002, 19:27
How did you call the dvd navigator functions in graphedit?
ogo
17th December 2002, 19:39
How did you call the dvd navigator functions in graphedit?
Click play, then open the properties page of dvd navigator
to go to the root menu, highlight "root menu", then click apply (i does not always work), then click "SE" to start the movie. Wait for some sound, the highlight again "root menu" and click apply. it should go back to root menu
For my avi file with problem, forget it, it makes explorer crash when i ask properties. It also makes virtualdub crash. So it's just a bad avi :)
For the bottom line problem, i had to try many times and concluded that :
- it seems to only happen if i choose "System default" as video renderer :confused:
- it seems to only happen if i choose "Stretch to window"
ogo
17th December 2002, 19:58
update: for the looping sound problem. You even don't need graphedit : simply play the DVD with MPC, and use DVD navigator from the filter list. Then go back to "root menu" with DVD navigator and bingo sounds stop correctly ...
gabest
17th December 2002, 20:00
I think you can consider the "looping sound bug" solved... If I add the DVD_CMD_FLAG_Flush to the call it plays perfectly alright. Now, I just don't know why it was already ok with the other MS renderers.
gabest
17th December 2002, 20:46
Added this flushing flag to a few places and the seeking and menu navigation also seems to go faster now: http://vobsub.edensrising.com/mpc2kxp6413.zip.
ogo
18th December 2002, 00:50
Oh great :) Thanks Gabest
Will you have a look inside ac3filter for the "pure" file issue ? You said in a earlier post that the bug was not always appearing in debug build.
For reclock i just have to have a look into win98 problems and it will be finished :)
Chibi Jasmin
18th December 2002, 01:32
I didn't really understand, if you guys noticed, but the dvd menu looping thing also happens with ZoomPlayer and Intervideo Video/Audio...just in case...
gabest
18th December 2002, 11:33
ogo: Ok, I'm going to dive into ac3filter's code again... but you could also check reclock since it works well with the other audio renders.For reclock i just have to have a look into win98 problems and it will be finished LOL, that's what you think :D
Chibi Jasmin: Who knows, maybe zoomplayer also forgets to use this flag. Blight, are you listening? :)
ogo
18th December 2002, 12:25
gabest, i really think it's a problem in ac3filter. The sample times i receive are bad : i always receive the same two values for starttime and stoptime, except for the first sample. My renderer thinks those time are times of the past, then it schedule to sample to play them as soon as they are received (because they are too "old"). That's why the sound plays at full speed (unsynced).
gabest
18th December 2002, 13:41
It is the problem of the ac3 parser because it doesn't set the time on the samples, but you could easily correct it if you were manually accumlating the times when this happens. I've just tried this with my audio switcher and it worked fine that way (http://vobsub.edensrising.com/mpc2kxp6414.zip). Also, I believe that such a workaround fix could help your renderer out in a few other but similar graph configurations.
ogo
18th December 2002, 14:33
Yes you're right. Didn't know a renderer could have to create its own sample times ...
Anyway here is a part of my ScheduleSample method. Do you think it is sufficient to do that (it works fine with pure ac3 files) :
BOOL CReClock::ScheduleSample(IMediaSample *pMediaSample)
{
REFERENCE_TIME StartSample;
REFERENCE_TIME EndSample;
// Is someone pulling our leg
if (pMediaSample == NULL) return FALSE;
// Get the next sample due up for rendering. If there aren't any ready
// then GetNextSampleTimes returns an error. If there is one to be done
// then it succeeds and yields the sample times. If it is due now then
// it returns S_OK other if it's to be done when due it returns S_FALSE
HRESULT hr = GetSampleTimes(pMediaSample, &StartSample, &EndSample);
if (FAILED(hr)) return FALSE;
/////////////////// FIX FOR MISSING SAMPLE TIMES
// Sample is due for rendering now (no timestamps). We have to calc our own
// timestamps
if (hr == S_OK)
{
// Not sure if this is necessary
if (pMediaSample->IsDiscontinuity() == S_OK)
m_nextStart = 0;
ULONGLONG l_estimatedLen = ((ULONGLONG)10000000 * (ULONGLONG)pMediaSample->GetActualDataLength()) / ((ULONGLONG)m_audioFormat.Format.nBlockAlign * (ULONGLONG)m_audioFormat.Format.nSamplesPerSec);
StartSample = m_nextStart;
m_nextStart += (REFERENCE_TIME)l_estimatedLen;
EndSample = m_nextStart;
hr = S_FALSE;
}
// Sample has a timestamp. Take it as the last known
else if (hr == S_FALSE)
m_nextStart = EndSample;
/////////////////// END OF FIX FOR MISSING SAMPLE TIMES
gabest
18th December 2002, 16:10
Well, mine looks like this:REFERENCE_TIME rtStart, rtStop;
if(SUCCEEDED(pIn->GetTime(&rtStart, &rtStop)))
{
rtStart += m_rtAudioTimeShift;
rtStop += m_rtAudioTimeShift;
pOut->SetTime(&rtStart, &rtStop);
m_rtNextStart = rtStart;
}
else
{
pOut->SetTime(&m_rtNextStart, &m_rtNextStop);
}
WAVEFORMATEX* wfe = (WAVEFORMATEX*)pInPin->CurrentMediaType().pbFormat;
int bps = wfe->wBitsPerSample>>3;
int len = pIn->GetActualDataLength()/(bps*wfe->nChannels);
m_rtNextStart += 10000000i64*len/wfe->nSamplesPerSec;
m_rtNextStop = m_rtNextStart + 1;There are a few minor differencies.
1. I wouldn't trust the stop times, they are not necessarily the beginning of the next sample. While debugging ac3filter, I could see that they are only set to start+1, just like I do now.
2. Instead of checking pMediaSample->IsDiscontinuity(), I check the return value of GetTime(..) and make the workaround depend on this.
edit: looking at my code again, I could also write "m_rtNextStop += 10000000i64*len/wfe->nSamplesPerSec;" there in the last line :)
Chibi Jasmin
18th December 2002, 20:16
Originally posted by gabest
Chibi Jasmin: Who knows, maybe zoomplayer also forgets to use this flag. Blight, are you listening? :)
Just to make it clear, I meant in conjunction with ReClock only. With Default DirectSound it works fine...so is this a problem of ZoomPlayer or Reclock? :D
ogo
18th December 2002, 23:34
I would say ZoomPlayer but i'm biaised :)
Anyway version 0.98 is available on my website !
All known bugs are corrected, except the win98 problems. Please send me some feedback if you want a working ReClock on win98 (maybe version 0.98 does work on win98)
Did you see guys we are currently competing for the longest thread in the "general discussion forum" ?
:D
Chibi Jasmin
20th December 2002, 02:21
Maybe you, ogo or gabest, can mail the fix for the Intervideo looping thing to blight?
And how do we get on with the issue of 'may not correct the good video clock on dual head/2 ramdac cards?'. Any progress on this one?
ogo
21st December 2002, 17:04
And how do we get on with the issue of 'may not correct the good video clock on dual head/2 ramdac cards?'. Any progress on this one?
I've not been able to get my hands on a G450 (only a G200). I'll make some tests on my notebool (it has a dual head M6 mobility video card), and i'll report results !
In the meantime Merry Christmas & Happy new year :D
Chibi Jasmin
22nd December 2002, 02:39
Same to you :)
ogo
22nd December 2002, 15:44
Version 0.98b is out on my website.
It fixes some problems with dual head Radeon video cards, and may also fix problems with other dual head video cards.
I also give new instructions in the readme to use successfully dual head videocards with ReClock.
Chibi Jasmin could you test again ReClock on your G450 with these instructions ? Thanks
OGO
Chibi Jasmin
22nd December 2002, 17:00
Hi there...
The instructions don't make any sense for the Matrox way of doing things...it would compromise the whole use of the dual head thing having a (maybe even minimized) playback window on the desktop (monitor) and fullscreen output on tv. I am not even sure, if TV as primary display would work, and even if, I would not be willing to use it that way...the special playback mode of Matrox cards (DVDMax) I am talking of gives way better playback quality than any cloning or fullscreening on primary display or whatever, so what you describe is not usable or at least not usable without compromising usability and image quality on Matrox cards. I consider it not an option, sorry to say that...I can't comment on any other cards.
BTW: I have a G400 Dual Head, not G450.
Seems there is some further investigation needed into the dependency of two video clocks (do even two clocks exist?) on the Matrox cards.
I didn't have too many problems though, the way it is...maybe we don't even need to adjust anything...I don't have too much jerkiness with or without clock correction so it's hard to say, if something is actually successfull or even needed...maybe the Matrox TV-Out thing automatically adjusts itself to some extent to the video frame rate? Who knows...I don't...
ogo
23rd December 2002, 20:24
The instructions don't make any sense for the Matrox way of doing things...it would compromise the whole use of the dual head thing having a (maybe even minimized) playback window on the desktop (monitor) and fullscreen output on tv. I am not even sure, if TV as primary display would work, and even if, I would not be willing to use it that way...the special playback mode of Matrox cards (DVDMax) I am talking of gives way better playback quality than any cloning or fullscreening on primary display or whatever, so what you describe is not usable or at least not usable without compromising usability and image quality on Matrox cards
Maybe i'm wrong, but from what i've read, DVDMax is the same thing that "Theater mode" on Radeon videocards, ie stretching of an Overlay surface in full screen on your TV. For sure Radeon in theather mode doesn't work with ReClock, because i can't obtain informations on the clock used internally by the video card. That's why i suggest to use TV as a primary display (and in this case ReClock has access to the clock).
For what i saw with my eyes on a Radeon on a $1500 TV, quality is exactly the same in theather mode or primary tv display (it's always an overlay surface displayed on TV). The only important thing in primary mode, is to carefully choose screen resolution and to activate "overscan mode" which oddly is an hidden registry setting. BUT i can't speak for G400 cards, cause i didn't have one in my hands :)
Seems there is some further investigation needed into the dependency of two video clocks (do even two clocks exist?) on the Matrox cards.
Radeon cards have two RAMDACS. The only problem in your case is to have access to the clock of the TV RAMDAC. In the case of the Radeon, you get access to it in "primary tv" mode.
I didn't have too many problems though, the way it is...maybe we don't even need to adjust anything...I don't have too much jerkiness with or without clock correction so it's hard to say, if something is actually successfull or even needed...
It really depends on your hardware. I saw very different clock deviations on the PC's i used for the tests. Some of them needed huge correction, others didn't. The worst i saw was a PC that was skipping one frame every 20 seconds in PAL, and the best one frame every ... 30mn
However i observed that the RAMDAC used for TV was always more precise than the RAMDAC used for the monitor.
I submitted for the third time my work to doom9 webmaster, but i still didn't get any response. Maybe i'm sending my e-mail to the wrong adress. Is submission@doom9.net correct ? In the past i had a direct e-mail adress to contact doom9 but i lost it. Could some admin help me (or give me a response). Thanks in advance ;)
Sumster
24th December 2002, 08:47
First comment!
RECLOCK is amazing! For the first time, DIVX movies are playing back smoothly on my Radeon card! After months of trying to fix my jerky panning scenes, they are finally smooth as silk!! I should mention, I run my monitor at 85Hz and my DIVX are at 23.976, therefore Media adaptation does not work. DESPITE THIS, media are playing back much smoother than before (which I assume is due to the more accurate external clock).
When I use TV-out on my Radeon, it sets both my monitor and tV-OUT to 60Hz automatically. I do not need framerate adaptation for my media, as RECLOCK seems to make things smoother even without media adaptation.
My main issue was using SPDIF out to my external receiver. That is the main reason I mux AC3 files with my DIVX. Is there any way to use RECLOCK to simply act as a more accurate external clock using the default directsound device??? This way, video would be smoother, and the audio would sync along with the smoothened video. I do not want any changes to the digital SPDIF stream, DRC, etc... just utilize the external clock function in DirectX 8 with the Default Directsound driver so that SPDIF could be enabled.
Is this possible??
Thanks again for all of your work!
Sumster
Sumster
24th December 2002, 08:56
Or more simply put....
Can you disable RECLOCK as an actual audio renderer, and simply use it as a more accurate external clock for VMR9 and the default directsound renderer?
Thanks!
billou2k
24th December 2002, 09:11
Hi there
thanks to Ogo and Gabest for that work that looks great.. but unfortunatly I cant test it as Geocities realised you've got too much success ;-)
could it be host in doom9 server or another temporary place?
Great work guys
Bye
billou2k
24th December 2002, 10:37
Looks like eventually I could access the file...
So I must said I am amazed by your tool Ogo,
it is really a pain relief!
Until now I thought that my hardware was the only reason to jerkiness (xp 1800+ radeon8500 sb audigy... shame...)so i was somehow resigned in that crappy jerkiness.
But everything is solved now so a GREAT Thanks to you and all those helping you.
Keep up the excellent work!
ogo
24th December 2002, 12:45
Thanks for your positive comments :)
Sorry for the problems with Geocities. Didn't knew the bandwidth limit was so low. I asked my ISP to give me access to some space. It will take a few days ...
I must go (it's Christmas now and i go back to my family). I won't have access to Internet for a few days, so i'll answer your questions when i'll be back (27/12) !
In the meantime happy Christmas to all :D
Chibi Jasmin
24th December 2002, 13:30
Originally posted by ogo
Maybe i'm wrong, but from what i've read, DVDMax is the same thing that "Theater mode" on Radeon videocards, ie stretching of an Overlay surface in full screen on your TV. For sure Radeon in theather mode doesn't work with ReClock, because i can't obtain informations on the clock used internally by the video card.
It's the same for G400...
Originally posted by ogo
That's why i suggest to use TV as a primary display (and in this case ReClock has access to the clock).
For what i saw with my eyes on a Radeon on a $1500 TV, quality is exactly the same in theather mode or primary tv display (it's always an overlay surface displayed on TV). The only important thing in primary mode, is to carefully choose screen resolution and to activate "overscan mode" which oddly is an hidden registry setting. BUT i can't speak for G400 cards, cause i didn't have one in my hands :)
This however is no solution for the G400 for reasons I tried to explain above...it compromises usability and quality(!). If there's no way to have access to the tv-clock on G400, it's a problem, I guess...
I perfectly understand your suggestion, and I also understand, why it's not usable or at least a very bad compromise...
Originally posted by ogo
Radeon cards have two RAMDACS. The only problem in your case is to have access to the clock of the TV RAMDAC. In the case of the Radeon, you get access to it in "primary tv" mode.
Yeah, getting the tv-clock is the problem...but there should be a way to get access to it without switching around with displays and resolution and setting tv as primary display. Otherwise, it's bad...hope you find something...or try to get your hands on a G400 for testing or something like that :) But first have a nice christmas...catch ya l8er!
BTW: I still have Reclock crashing sometimes on starting to play a dvd (seems to crash while graph building) with zoomplayer.
Shootist
25th December 2002, 10:38
Sorry, this site is temporarily unavailable!
Maybe time to move to a better web with more traffic? I want to get it too. Didn`t find it with google...
Membrax
25th December 2002, 12:52
Hi all!
I really need reclock ... but I can't access the website!
If someone could send it to me (dr_alexx@hotmail.com)
I could up it to my site !
Thanks! Merry Christmas ;)
Chibi Jasmin
25th December 2002, 14:56
Originally posted by Membrax
Hi all!
I really need reclock ... but I can't access the website!
If someone could send it to me (dr_alexx@hotmail.com)
I could up it to my site !
Thanks! Merry Christmas ;)
I just sent it to you.
nikthebak
25th December 2002, 15:09
Yes, maybe it would be a good thing to make ReClock doom9 hosted. Anything even remotely popular IST officially DEATH when hosted on GeoCities...
However, I'm having some problems with ReClock and TV out with my Radeon 7200. When TV-out is activated (sets the refresh rate to 50 Hz for monitor), media players hang when opening a video clip. Seems like ReClock can't recognize the refresh rate used.
Membrax
25th December 2002, 19:37
Thanks mate !!!!
I didn't have the time to test it yet (in france we eat a lot for christmas ;) )
Download :
hp://membrax.free.fr/ReClockV0.98b.rar
enjoy !
ogo
26th December 2002, 22:45
Back from Christmas :)
Sorry for the problems with geocities. Thanks to some space given by my ISP i have setup a new permanent website. It's located here (http://ogo.nerim.net/reclockfilter) !
I have received some bug reports (mainly lockup problems), and will look into them.
OGO
cca
27th December 2002, 11:22
The latest versions of AC3Filter support PCM 24bit and PCM Float as output but ReClock does not support this. Ogo, can you add this modes to ReClock?
nikthebak
27th December 2002, 14:06
OK, I just solved the ReClock locking up problem with TV-out enabled. The solution was to enable ONLY the TV-out. The lockup occured only when both monitor and TV-outs were enabled.
However, other problem emerged, ReClock locks when DirectVobSub is enabled.
ogo
27th December 2002, 14:35
Yes there are some reports of lockups :
- with DirectVobSub
- with ZoomPlayer beta 3
- with some media files
I'm looking into these problems. I'm currently scratching my head on a "case" here :)
I have not included support for PCM24 or PCM float now. They are really a hassle to add. Do you REALLY think it would be useful ? In which case ?
I have also been asked to add AC3 SP/DIF support which i think would be more interesting. I could add it but i'm quite sure there will be synchronisation issues with video, and i don't have a hardware AC3 decoder in my hands to test (however i have sp/dif on my soundcard). Someone is making some tests for me.
Anyway Gabest or Valex could you give me some hints on how to add SP/DIF support in the renderer (the media type is not the problem, i just need info for the playback part) ??? Thanks
gabest
27th December 2002, 14:40
Sorry, I have absolutely no idea about how to output anything using dsound :o
ogo
27th December 2002, 22:55
Christmas, Christmas ...
A new version is available (0.98c). It fixes a lockup problem (no new features)
Gabest> Got some infos about AC3. dsound is pure s... cause i must use Waveout to get AC3 working ... It means rewritting some stuff :(
:)
sillKotscha
28th December 2002, 02:33
Hi ogo,
first of all thanks for your ds_filter. Keep up your good work! I've tried it and it work very well - but, yes a little but :( - today I've tested your filter on some short *.mpg clip and unfortunately it cuts off the sound at the beginning and at the end...
I think it's due to your filter because after uninstalling everthing was as expected, I mean I could hear all of it.
It is a very short clip and I've uploaded it, so maybe you can test it and afterwards tell me that I'm dumb or find out that it's really due to your filter.
Thanks in advance
Sill
test clip (http://www.sahnau.de/skotscha/voll%20s%fc%df.rar) = (856k)
Xenoproctologist
29th December 2002, 13:27
This filter seems interesting, but the pitch shifts are murder to those of us with perfect pitch (or in my case, near-perfect pitch). Since (according to your readme) you won't do true audio resampling, could you provide persistant Media Adaptation Speed settings so I can at least force the framerate to the video's original speed?
ogo
29th December 2002, 14:03
sillKotscha> This cutted sound is due to the preload time of reclock which is much longer than the preload time of the directsound audio renderer (500ms versus maybe 50-100ms). Such a big latency is necessary to allow smooth pitch changes of the sound. Maybe i'll provide a setting to allow lower latency in future versions, but for now i can't do nothing for that
Xenoproctologist> The audio speed MUST be changed in order to stay in sync with the video. There is no way to go around this. So resampling is mandatory. You can use "hardware resampling" if it works fine with your soundcard. This will give you original quality sound. To my knowledge no human being can hear pitch differences as low as 10hz :)
If you want a constant pitch sound, just disable clock correction. You will loose the accurate clock (which is what reclock was made for), and reclock will just act as a framerate changer for your media (ie 23,976->25 fps adaptation for example). But this is a way to use it i really don't recommend.
Xenoproctologist
29th December 2002, 15:18
Xenoproctologist> The audio speed MUST be changed in order to stay in sync with the video. There is no way to go around this. So resampling is mandatory. You can use "hardware resampling" if it works fine with your soundcard. This will give you original quality sound. To my knowledge no human being can hear pitch differences as low as 10hz
If you want a constant pitch sound, just disable clock correction. You will loose the accurate clock (which is what reclock was made for), and reclock will just act as a framerate changer for your media (ie 23,976->25 fps adaptation for example). But this is a way to use it i really don't recommend.
The clock correction isn't really an issue, and truthfully is what interests me here. It's the framerate changer which is playing havoc with my ears. Since I'm effectively locked at a refresh rate of 75hz (unable to go higher; unwilling to go lower), all my 23.976fps video ends up playing at 25fps with ReClock, resulting in about a half-step increase in audio pitch. What I want is for ReClock to remember that I set it to play at the video's original framerate.
ogo
29th December 2002, 15:23
Opps sorry i didn't understand at first :)
Try 72hz, it will automatically play the video at 24fps, which is not very far from 23,976 fps. It should say "CINEMA mode"
Xenoproctologist
30th December 2002, 01:10
No dice. 75hz is the minimum I can view for any significant period of time without getting a headache. Anything less and I swear I can feel my retinas bleeding. ^^;
oddball
30th December 2002, 02:05
I cannot get ReClock to load whatsoever.
Is there a problem with running ReClock with ffdshow/VobSub/DiVXG400/AC3filter?
Matrox G400 Dual Head Max32
SBLive! Original
WinXP
P3 700
ogo
31st December 2002, 12:14
Hi !
First of all happy new year :)
Version 0.99 of ReClock is out. This version have a LOT of changes, including some experimental support for AC3 pass through, and DVD frame rate detection. :D
I'll submit version 1.0 to Doom9 when it will be ready, but for now it's a bit too early
Thanks for reporting any problem :)
sillKotscha
31st December 2002, 14:24
Hi ogo,
concerning my 'problem' above I can tell you... now it works like a charm :D
thanks very much
and happy new year to you as well :cool:
Sill
billou2k
31st December 2002, 15:17
Hi I didnt test reclock much since last time sorry;-)
but reading ogo's readme, I was wondering if xbox (or other game consoles) dvd playback was expected to be a bit jerky as well (as xbox is basically a small pc)? Ogo have you got an idea on the question?
I recently got one (XBOX), I didnt test dvd playback much yet (no much time in christmas period) but I ve watched some episodes of ER (japanese zone2) and its not really what i call smooth video... maybe it's because I'm in UK (25Hz) and ER comes from US (29.97Hz) ... but if it is the reason it should be jerky on any dvd standalone player right?
Can someone else with xbox at home could tell me if dvd playback is always smooth (and what kind of format is usually played, PAL NTSC ..?)
(sorry the post may be not completly related with reclock but as its partially I thought it would be ok to post it here)
Chibi Jasmin
31st December 2002, 16:29
Originally posted by ogo
DVD frame rate detection. :D
Fails on NTSC content...detects 29.97 fps on a stream that is actually 23.976 fps. You should know that software players don't perform telecine on playback as the flags in the stream indicate...but there still is true 29.97 fps content on ntsc dvds sometimes (documentaries etc.), so if you somehow get this corrected, will it autodetect changes while playing (switching from main movie at 23.976 fps to extras at 29.97 fps or something like that)?
Please add an override button, in case detection is wrong...before I could watch my ntsc-movies fine on pal tv by setting it to 23.976, it then got speed up to 25 and all was fine. Now it wrongly detects 29.97 and I am stuck.
BTW: I just saw new Zoom Player beta has the following feature:
* New "UseSystemClock" function for Graph Building scripts. This
function tells Zoom Player to create a System Clock and use it
to keep Sync. It may help with microstutter issues but may also
cause Audio Desync.
Is this something like what ReClock does? Maybe it's not as sophisticated as ReClock...we don't know what from Blight creates the clock or what he syncs it with...or is it something different? Should the two be used together or not??? Please test it, as you are into this stuff...as far as I got it, you have to add 'UseSystemClock' to your manual graphs...see sample graphs with latest ZoomPlayer 3.00 beta 4
ppera2
31st December 2002, 16:53
I checked V. 0.99 . Unfortunately there is still no improvement about work under Win 98. It still locks WMP. I deinstalled all filter, and used only DivX 3.11, but it locked all the time.
gabest
31st December 2002, 17:03
ogo: Isn't that Win16Mutex/Win16Lock causing the lockup problem? I don't know if it also affects dsound or reclock, but when a dx surface is locked any gdi call from other threads will halt.
Airw0lf
1st January 2003, 07:04
Hi guys, I installed ReClock for the first time a few minutes ago, and I have two questions.
I just installed v0.99 and I am wondering how I can access the ReClock properties window via the start menu as mentioned in the documentation. The ReClock folder in the start menu only contains a link to the readme and to the uninstaller. I'm guessing someone must have forgotten to put the link in the new build. Could someone post what the shortcut normally points to so that I could make it myself? I need this when I'm playing DVDs in PowerDVD.
Also, does ReClock have an effect on TV Tuners? In other words, when I'm watching TV via the ATI DirectShow TV App, is ReClock working in the background too? In such a case, I wouldn't really want ReClock to be enabled, since TV viewing has worked near perfect (touch wood) for me in the past...
mwillberg
1st January 2003, 16:32
Let me say, great work! I _love_ the smooth playback. Always thought I had some problems with my system (even though I've had several GFX and sound cards) since the playback has never been 100% smooth on TVs. Well now it is! :)
However, I noticed 2 issues that I haven't read about in neither the readme nor this thread:
1) When first playing a file, the sync is off. I'd say the sound lags by up to 500ms. The timing gradually improves, and after about 30s it is no longer noticable. This happens with both 25fps and 23.976fps clips.
2) Ok, I read and understand that AC3-passthrough is experimental, but I assume you still want feedback. Works fine for me, except I get a huge memoryleak. About 10MB/minute. The exact same graph with ReClock uninstalled doesn't show this, but I can make a list of all filters in use if necessary. Just to clear up, this _only_ seems to happen with AC3-sound, not with MP3 and Vorbis.
My system (or the parts that might be useful to know):
Windows 2000 Professional SP2
DirectX 8.1
Duron 800mhz
ATi All-In-Wonder 128 hooked up to a PAL television
Soundblaster Live 5.1 Player with optical addon
ZoomPlayer used for playback.
Ewi
1st January 2003, 19:08
Hi!
At first: I like your filter VERY much. Thank you.
But I think I have a serious bug here:
I'm using ReClock 0.99 with Zoomplayer 2.90 under WinXP SP1. I have problems using the latest Xvid DSF from Nic (I have them from Koepis Page)(XviD-Dec-291202.exe).
Always I start an Xvid coded movie I get a (forever repeating) popup message saying "Invalid floating point operation" from Zoomplayer (as you can see in the Screenshot). But the movie starts and you can hear sound for 1 second or so.
http://www21.brinkster.com/gunter123/crash.html
I have to hardkill Zoomplayer via taskmanager.
All other sources work fine (DivX502,MPEG1,MPEG2,WMV). If I change the 4cc code in my Avi to DIVX/DX50 the file plays fine (now decoded by DivX5 filter for sure).
For a short test I used WMP8 to play these Xvid files. Same behaviour: Crash after 2 seconds. Here is a message, too, but it pops up for a millisecond and does not remain onscreen, so I don't know what WMP8 is saying.
If I uninstall Reclock everything is fine...
Thank you in advance...
P.S.: If further reports on this are useful I would be glad to help
Airw0lf
2nd January 2003, 01:07
mwillberg - regarding your first point, I think you will find that the answer is in the readme.rtf:
"- When your run ReClock for the first time for a specific resolution and refresh rate, the reference clock will be inaccurate during the first minutes of playback while being corrected. This can cause jerky playback at the beginning of the movie. The time to obtain an accurate clock will depend on many factors (initial error of clock, PC speed,
). After this adjustment, ReClock will store the correction in the registry, so when you will open another media, the clock correction parameters will be retrieved."
Try playing those files again, if the registry settings are present after running for the first time, you shouldn't have too many more problems.
mwillberg
2nd January 2003, 08:03
@Airwolf:
Thanks for your answer.
However, I had one of the files running for 8 minutes, stopped, and started playing it again. Still desynced. And I just checked the registry, the settings for my current resolution _are_ there.
So that's not it I'm afraid, but I apologize that I didn't make myself clear about this in my first post.
ogo
2nd January 2003, 10:32
Wow lots of reports :)
Ok here we go ...
oddball> Maybe you should try without DIVXG400
billou2k> Really i don't know for the XBOX (i don't have one). Knowing if the XBOX uses DirectShow to render DVD's would help, but i doubt it does.
Chibi Jasmin> Yes there is a problem for NTSC between 23,976 and 29,97fps content. The frame rate detection code for DVD is based on MS provided objects, but they just provide NTSC/PAL info, so it's just a choice between 25 and 29,97fps. Maybe Gabest has some lights on this ? If i don't find a way to differentiate 23,976 and 29,97 i'll remove frame rate detection for NTSC DVD. For your question about ZP SystemClock, well it's just a clock based on the PC system clock, and this clock is synced to nothing. So it's a matter of luck. If the system clock runs at a speed that is closer to the video card clock than the sound provided clock, then you will get less video stuttering. If not you will get the reverse result. There is not synchronisation process in this.
ppera2> Please send me your logs by email (c:\reclock_log.txt)
gabest> Could you help me for the NTSC DVD framerate issue ? The locking problem was mainly interaction between the graph and my renderer. I cannot query other interfaces and call methods from the filter graph from the renderer when i want (especially before the rendering starts) without going into locking issues (the debugger just tells me it stuck into some NT API call). Starting with 0.99 i use a separate thread for this and it's much better.
Airw0lf> There is not access to properties from the start menu. You must have the filter running to access its properties from you media player. Maybe i'll add a switch in the start menu to enable/disable reclock. I doubt reclock has any effect on tv tuners.
mwillberg> Yes the sounds can get off sync sometime at the beginning of playback. It can occurs if you sound card clock run at a speed that is very far from the reference clock provided by reclock. For AC3 you're right, there is a HUGE memory leak :D It's solved in the next version. Speaking of AC3 did you notice little drops in sound or bizarre things in sound ? I ask you that because of the way i use to resync AC3 sound (it's explained in the changelog). Could you send me your logs ? I'll check if there is a problem with sound.
Ewi> Yes i reproduced your problem. Not my fault here :) It's a bug in XVID decoder filter. As you may know floating point registers are shared with MMX registers, and XVID filter forget to restore the floating point registers before to call the reference clock. I have a workaroung for this in the next version of reclock (available tonight), but i will send a mail to Koepis. It was working without reclock, because the default clock does not use floating point like me ...
So next version will be out tonight with
- a fix for memory leak in AC3
- a workaround for crash with xvid
- a solution for NTSC DVD (either automatic framerate detection removed, or something else)
Cheers,
OGO
Ewi
2nd January 2003, 11:27
@ogo:
Oh!!
Excuse me for blaming you. It was not my intention to make a false alarm here. It was only my conclusion cause it was working without Reclock.
Thank you very much for resolving this issue this fast....
Chibi Jasmin
2nd January 2003, 15:23
Originally posted by ogo
Chibi Jasmin> Yes there is a problem for NTSC between 23,976 and 29,97fps content. The frame rate detection code for DVD is based on MS provided objects, but they just provide NTSC/PAL info, so it's just a choice between 25 and 29,97fps. Maybe Gabest has some lights on this ? If i don't find a way to differentiate 23,976 and 29,97 i'll remove frame rate detection for NTSC DVD. For your question about ZP SystemClock, well it's just a clock based on the PC system clock, and this clock is synced to nothing. So it's a matter of luck. If the system clock runs at a speed that is closer to the video card clock than the sound provided clock, then you will get less video stuttering. If not you will get the reverse result. There is not synchronisation process in this.
Well, mayb an override button for the detected frame rate is always nice (just in case, the detection is screwed for whatever reason, not to say it ever was screwed except for this ntsc thing).
Okay, I will just forget about the zoom player clock thing then...
Airw0lf
2nd January 2003, 22:07
ogo - thanks for your prompt reply. I think an enable/disable shortcut would be nice, it would help people a little with debugging. They wouldn't have to manually register/unregister the filter every time...
And a question for everyone in here more or less - has anyone got reclock working with DVD playback under ZoomPlayer, or is this not possible? (I think I saw a message to this effect way back on the first page of the thread, but I'm not sure I understood it right.) In any case, here's my situation: playing in DVD mode does not bring up the ReClock filter in the filters menu. However, if I rip a DVD to hard disk and manually load a .VOB file, then I can get ReClock to work. ReClock appears automatically for any other type of file too. (MPEG, etc)
Thanks, and sorry if this is a stupid question. I've only just started using Zoom Player for DVD playback, I've used PowerDVD in the past. The only problem with PowerDVD is that you can't bring up a filter menu, so there's no way to check up on ReClock!
ogo
2nd January 2003, 22:13
Ok, as said this morning version 0.99b is available on my website. It fixes the leak in AC3, DVD NTSC is back in manual mode, and XVID no longer crashes.
ogo - thanks for your prompt reply. I think an enable/disable shortcut would be nice, it would help people a little with debugging. They wouldn't have to manually register/unregister the filter every time...
Yes it's on my TODO list
And a question for everyone in here more or less - has anyone got reclock working with DVD playback under ZoomPlayer, or is this not possible? (I think I saw a message to this effect way back on the first page of the thread, but I'm not sure I understood it right.) In any case, here's my situation: playing in DVD mode does not bring up the ReClock filter in the filters menu. However, if I rip a DVD to hard disk and manually load a .VOB file, then I can get ReClock to work. ReClock appears automatically for any other type of file too. (MPEG, etc)
Yes you can do it. It's simple : Go to Player options->Manual filters, then check "Use Custom Audio in DVD mode" and highlight "ReClock Audio Renderer". You're done :)
Thanks, and sorry if this is a stupid question. I've only just started using Zoom Player for DVD playback, I've used PowerDVD in the past. The only problem with PowerDVD is that you can't bring up a filter menu, so there's no way to check up on ReClock!
PowerDVD and WinDVD don't use ReClock. Either they load their own renderer or they use the default one.
mwillberg
3rd January 2003, 00:17
@ogo:
Thanks for fixing the memory leak, now I will be able to watch for more than a few minutes (only have 128MB in my movie-computer)... :)
No, I can hear no artifacts in the sound at all. When I checked the log I saw the drop/repeat happens quite often, and no, I cannot tell. Sounds perfect with my amp anyway.
I wasn't sure if you wanted me to send you a log of the AC3-problem or the sync, so I did both. I deleted the registry-settings and the log, then I ran an OGM-file containing XviD and Vorbis two times, and then an AVI containing XviD and AC3. After that I quit ZoomPlayer.
Funny though, I kept regedit open the whole time, and the settings weren't saved until I closed ZoomPlayer. Even if I did a full stop (and thereby closing the file) between running the clips. Is that normal?
The log is sent to your email.
Please keep up the great work, this is definitely the best improvement for PC-video in a long time!
Airw0lf
3rd January 2003, 06:50
ogo - keep up the good work. Now I've got DVD and ReClock working in ZoomPlayer. For those who might need it, this is how you unregister the ReClock filter:
regsvr32.exe /u "C:\Program Files\ReClock\ReClock.ax"
If you want to turn it back on, use
regsvr32.exe "C:\Program Files\ReClock\ReClock.ax"
Your install path may vary, so change the path as required...
Ewi
3rd January 2003, 11:04
I don't want to bother you, but I have a question:
Is it good to delete the registry value for the resolutions from time to time or is this completly unnecessary? If Reclock calculates its values once and then relies on them, deleting them would be good; if reclock does correct these values at runtime all the time, this would be bad, cause Reclock would have to start with shit values everytime I delete these values.
What makes me asking this is the following situation: I start a movie in zoomplayer using reclock when switched with TvTool to TVmode. Then, without stopping the movie, switch back to monitor; result is that "audio clock correction" is 100%(and audio pitch is very high). So something has gone wrong here (but it's possible, that this is a rather bad example for what I mean here). But if I do this when Reclock is in its "calculation phase" (don't know how to call it) I would have forever these false values (when calculating is done only once if a resolution is new to Reclock)
Thank you again...
ogo
3rd January 2003, 14:25
No, I can hear no artifacts in the sound at all. When I checked the log I saw the drop/repeat happens quite often, and no, I cannot tell. Sounds perfect with my amp anyway.
Fine !
Funny though, I kept regedit open the whole time, and the settings weren't saved until I closed ZoomPlayer. Even if I did a full stop (and thereby closing the file) between running the clips. Is that normal?
Yes it is normal :)
Is it good to delete the registry value for the resolutions from time to time or is this completly unnecessary? If Reclock calculates its values once and then relies on them, deleting them would be good; if reclock does correct these values at runtime all the time, this would be bad, cause Reclock would have to start with shit values everytime I delete these values.
No it's unnecessary to delete them. reclock does not compute the values once, it recomputes them continuously.
What makes me asking this is the following situation: I start a movie in zoomplayer using reclock when switched with TvTool to TVmode. Then, without stopping the movie, switch back to monitor; result is that "audio clock correction" is 100%(and audio pitch is very high). So something has gone wrong here (but it's possible, that this is a rather bad example for what I mean here). But if I do this when Reclock is in its "calculation phase" (don't know how to call it) I would have forever these false values (when calculating is done only once if a resolution is new to Reclock)
In fact, reclock is always in "calculation phase". But as the clock gets more accurate, correction is done less often and corrections will be very little to fine tune the clock. You can see it if your delete the registry settings. At first, corrections are made every few seconds, then as time passes, every 10, 20, seconds, then minutes, etc ... You also see it with the ppm indicator. As soon as the ppm is under 1 ppm you can consider your clock accurate (1 ppm = 0,000001% deviation)
The big thing to do to know is reclock is doing its job is to check that the ppm indicator is LOW (less than 1-2 ppm) and STABLE.
When you switch resolution or refresh rate while the playback is running, reclock will see it and restart a correction cycle for the new resolution/refresh rate, starting from the registry values (if any) for this resolution
ogo
3rd January 2003, 14:36
Gabest i have a little question for you concerning Media Player Classic :) I have a little fix to make reclock compatible with graphedit loading/saving of graphs.
Currently reclock returns the clsid of the default audio wave renderer when requested via GetClassID(). That's why graph load/save from graphedit does not work.
However it register itself and discuss with COM with its own clsid. I corrected this, but now MPC does not load reclock when the builtin audio switcher is used because i suppose MPC does only know the 2 default audio renderers. Could you correct MPC to handle this ? I think the best way would be to enumerate the filters in the category CLSID_AudioRendererCategory.
Another thing: it also seems that when i choose "resample to 44100hz" with the builtin audio switcher in AC3 mode, MPC tries to resample AC3 frames at 44100hz.
The clsid of reclock is :
DEFINE_GUID(CLSID_ReClock,
0x9dc15360, 0x914c, 0x46b8, 0xb9, 0xdf, 0xbf, 0xe6, 0x7f, 0xd3, 0x6c, 0x6a);
Thanks
OGO
gabest
3rd January 2003, 14:53
However it register itself and discuss with COM with its own clsid. I corrected this, but now MPC does not load reclock when the builtin audio switcher is used because i suppose MPC does only know the 2 default audio renderers.Hm, I have downloaded and tried the latest reclock.ax and it loaded fine for any file when the system default renderer was selected.Another thing: it also seems that when i choose "resample to 44100hz" with the builtin audio switcher in AC3 mode, MPC tries to resample AC3 frames at 44100hz. Ok, but what's the prob with it? It should resample anything above 44.1KHz if that checkbox is set, or not?
edit: Ah, you mean when it lets spdif to pass through. Ooops :P
(p.s. Hehe, and yea, I saw your accidentally copypasted interface def ;))
ogo
3rd January 2003, 14:58
(p.s. Hehe, and yea, I saw your accidentally copypasted interface def )
You're fast :)
Hm, I have downloaded and tried the latest reclock.ax and it loaded fine for any file when the system default renderer was selected.
Well the corrected version is not yet on my website :) Can you email me your email adress so i can send you the version that have the problem ?
Ok, but what's the prob with it? It should resample anything above 44.1KHz if that checkbox is set, or not?
Not if formattag is WAVE_FORMAT_DOLBY_AC3_SPDIF. AC3 frames do not contain PCM samples, but binary data for an external decoder :-)
gabest
3rd January 2003, 15:10
Originally posted by ogo
Not if formattag is WAVE_FORMAT_DOLBY_AC3_SPDIF. AC3 frames do not contain PCM samples, but binary data for an external decoder :-) Ok, it was only forgetting to leave the media type untouched, the ac3 data was not downsampled or anything :) I'm going to upload a new build soon.
Mail sent.
sillKotscha
3rd January 2003, 15:48
Originally posted by gabest
I'm going to upload a new build soon.
hi gabest,
good news... could you be so kind and have a look in this post (http://forum.doom9.org/showthread.php?s=&threadid=41678). There is a link to screenshot I've made. I don't know why but it's only MPC showing me some filter_properties double. If I play the files with ZP for example and enter the filter_property_page everthing is as it should?!!
thanks
Sill
gabest
3rd January 2003, 16:06
http://vobsub.edensrising.com/mpc2kxp6422.rar
http://vobsub.edensrising.com/mpc98me6422.rar
edit: fixed the url
ogo
3rd January 2003, 18:24
Works perfectly! Thanks
mwillberg
3rd January 2003, 18:43
I have some bad news... Now that I use the new version that doesn't eat memory I started to watch a whole movie just to enjoy the smooth playback. Well, now I _am_ able to hear drop-outs of the sound.
It doesn't happen very often, and as you say, seems to get more and more infrequent the longer I have the video playing.
For me the smooth playback is well worth the occasional dropout, but if you somehow find another way to handle AC3-streams I'll be the first to test it.
Still, I wanted to report this since you don't have an amp to test with.
oddball
3rd January 2003, 22:29
ReClock 99b kills AC3filter .54b SPDIF output stone dead. I lose all SPDIF AC3 output from DiVX files when ReClock is used as a custom audio filter in Zoom Player 2.90
oddball
4th January 2003, 00:00
Ah sorry. I was not using 99b. But now I have SPDIF output back I have another problem. The AC3 audio keeps going 'blip blip blip' in cycles. Like a kind of dropout.
mwillberg
4th January 2003, 00:30
@oddball:
The "blip blip blip" you are hearing are probably repeating frames. As ogo has explained in the readme, the only thing he can do to keep the AC3-stream in sync is to remove or repeat frames. I also get some dropouts, but after a while they seem to stop.
oddball
4th January 2003, 01:22
Nevermind. I finally figured it out. I've set my monitor to a multiple of 24 now as it was at 75Hz and what ReClock was trying to do was speedup an AC3 DiVX to 25FPS to match the screen sync (In auto mode) which causes drop out on AC3 audio as AC3 audio cannot be spedup like MP3 etc can.
Chibi Jasmin
4th January 2003, 14:50
'AC3 audio can't be speed up' is only true for SPDIF output...with analog 5.1 output speeding up works fine here.
kallekill
6th January 2003, 11:18
I also get blips in the audio when I use spdif out. It happens about once per second. It would be nice if there was a option to turn of Reclock's spdifout support so that you don't have to uninstall it every time you watch a movie with ac3.
oddball
6th January 2003, 20:20
Kallekill in Zoom Player you can. Just switch it off in cutsom audio filters. Also the blips are caused by incorrect framerate to video Hz syncing. ReClock will push a 23.976FPS movie to 25FPS if running at 85Hz for instance. I don't know if this is intentional or a bug. I set my video card to 72Hz output (ReClock needs a video Hz that is either a multiple of 24 or 25) and the blips on SPDIF output went away. I use AC3Filter for SPDIF output also.
Ewi
6th January 2003, 20:29
I have TvTool here with working PAL60 mode. Is it recommended to use it with Reclock for 29,97 sources (I think so...)? What is better for Reclock at 23,97: PAL60 or normal PAL50?
Thank you again...
Safai
6th January 2003, 21:29
and anything we can do for 23.976fps on ~60Hz NTSC TVOut?
kallekill
7th January 2003, 00:43
I play 23.97 fps movies at a refreshrate of 120 hz. Reclock resamples it to 24 but I still get blips once per second
Sumster
7th January 2003, 01:22
Ogo..
Again, great work on this filter! I am one of those who uses SPDIF out to an external amp along with TV out at 60Hz (my all-in-wonder Radeon only allows a refresh of 60Hz when using TV-out)
I now have beautiful smooth video, but as others have noticed am able to hear repeats and drop-outs. My system clock is +/- 0.3 ppm accurate and drop-outs/repeats only occur about every 5-10 seconds (as long as I play video at original speed at 23.976 fps... if I increase the frame rate, there are too many repeats in order to stay in sync).
I had two questions:
1) If my system clock can run that accurately, shouldn't drop-outs/repeats be extremely rare if the audio is trying to stay in sync with an accurate clock?
2) What is the current threshold of desync needed before the filter adds or drops a packet? (eg. once it desyncs 20 ms, 40 ms, etc) Apparently, as long as the AC3 stream is within +/- 100 msec of the video, the desync is not noticable. Therefore, if the threshold were increased before packets were dropped/added, perhaps over time the drop-outs and repeats could cancel themselves out. Of course, if the desync became too severe, something would have to be done.
On the same note, perhaps there could be a monitor saying how many +/- msec of desync there currently is and the actual threshold before correction could be manually set.
Just a thought.... keep up the good work!! This filter is the most impressive advance in home theater PC's in a long time! The number of times I have replaced hardware and tweaked software settings in order to reduce stuttering panning scenes is unbelivable!
Take care... Sumster
Sumster
7th January 2003, 01:26
P.S. Safai... when I am not using AC3 passthrough but am using 60Hz NTSC with a 23.976 movie.... Reclock says nothing can be done. I manually set it to refresh/2.5... that scales the fps up to 24 fps. Not an exact multiple, but makes playback a bit smoother.
kallekill
7th January 2003, 01:34
What I would like is a option to turn of framerate adaption when playing ac3-files and still use the clocks correction. Then I can still use reclock without the blips in the audio.
ogo
7th January 2003, 10:35
Hi guys :)
The next version of ReClock should not be out until late this week. I'm trying to figure out some problems that are hard to solve.
I will change the behaviour of frame rate adaptation for AC3 SPDIF. For now, reclock tries for example to play 23,976 material at 25 if your refresh rate is a multiple of 25. But that's not a good idea for AC3, because it causes a huge resampling. As you know resampling of AC3 means repeat/drop frames so 25/23,976 means 4% speed change, and it's too much.
What i will do for AC3 (only for AC3) is :
from 23,9 to 24,1 : play at 24fps if refresh rate is a multiple of 24
from 24,9 to 25,1 : play at 25fps if refresh rate is a multiple of 25
from 29,9 to 30,1 : play at 30fps if refresh rate is a multiple of 30
As of now if you play a 23,976 file on a PAL TV, you will get at "blip" every second.
There is a hidden "feature" for AC3 on version 0.99b. If you check "disable clock correction", reclock will stop repeating/dropping AC3 frames. So you should hear "clear" sound. But sound will desync slowly, and you will loose system clock correction (that's a tradeoff for now). I'm still figuring how to improve AC3 support but making something round square is not easy :)
Now to answer some questions :
oddball> to attenuate "blips", you can choose the framerate instead of leaving it to "auto"
and anything we can do for 23.976fps on ~60Hz NTSC TVOut?
Not a perfect solution, but you can try "Refresh rate/2.5" for 23,976 on 60hz NTSC.
I have TvTool here with working PAL60 mode. Is it recommended to use it with Reclock for 29,97 sources (I think so...)? What is better for Reclock at 23,97: PAL60 or normal PAL50?
Yes PAL60 is the better choice for 29,97 material. For 23,976 the better is PAL50 (reclock will play the media at 25)
1) If my system clock can run that accurately, shouldn't drop-outs/repeats be extremely rare if the audio is trying to stay in sync with an accurate clock?
Accurate system clock means no deviation between system clock and video clock. But audio clock is not related to these 2 other clocks. That's why reclock needs to resample audio to make it stay in sync with the rest.
2) What is the current threshold of desync needed before the filter adds or drops a packet? (eg. once it desyncs 20 ms, 40 ms, etc) Apparently, as long as the AC3 stream is within +/- 100 msec of the video, the desync is not noticable. Therefore, if the threshold were increased before packets were dropped/added, perhaps over time the drop-outs and repeats could cancel themselves out. Of course, if the desync became too severe, something would have to be done.
Good question. In the current version between 1 and 4 frames (1 frame = 32ms)
On the same note, perhaps there could be a monitor saying how many +/- msec of desync there currently is and the actual threshold before correction could be manually set.
I'll think of it. Maybe a registry tweak ?
What I would like is a option to turn of framerate adaption when playing ac3-files and still use the clocks correction. Then I can still use reclock without the blips in the audio.
To turn off frame rate adaptation, just use "Original speed"
Chibi Jasmin
7th January 2003, 14:06
Originally posted by ogo
I will change the behaviour of frame rate adaptation for AC3 SPDIF. For now, reclock tries for example to play 23,976 material at 25 if your refresh rate is a multiple of 25. But that's not a good idea for AC3, because it causes a huge resampling. As you know resampling of AC3 means repeat/drop frames so 25/23,976 means 4% speed change, and it's too much.
What i will do for AC3 (only for AC3) is :
from 23,9 to 24,1 : play at 24fps if refresh rate is a multiple of 24
from 24,9 to 25,1 : play at 25fps if refresh rate is a multiple of 25
from 29,9 to 30,1 : play at 30fps if refresh rate is a multiple of 30
As of now if you play a 23,976 file on a PAL TV, you will get at "blip" every second.
Only change it for SPDIF (digital out)!! Using analog ac3 output resampling from 23.976 to 25 fps is fine as it is!!!!
Maybe that's what you meant anyway, thought it's not that clear, first you said 'ac3 spdif', but then 'ac3'...just to be sure :D
Sumster
7th January 2003, 17:23
Ogo, thanks a million.
Just a quick question... is there a way to log how many frames are being added/dropped in the AC3 stream by Reclock while playing a movie (ie. a log file)? I just wanted to see if my system tends to add frames or drop frames (and to calculate the percentages to see if they will cancel out over time, calculate the rate at which desync would accumulate, etc.).
I also look forward manually playing with the "threshold to desync adjustment". Increasing it to 4-6 frames might get rid of the tiny micro-adjustements that are hard to handle.
Thanks again!
Sumster
Safai
7th January 2003, 18:36
@ogo
is there a way to NOT log the stuff... ;)
Sumster
7th January 2003, 23:16
Sorry for the multiple messages....
Ogo.. side note. When I enable the "disable clock correction", my AC3 out still seems to drop/add frames and stay in sync. I'm using 99b....
Take care.
ookzDVD
8th January 2003, 05:51
@ogo,
your latest filter 0.99b is wroking fine on my system,
I notice faster loading, but sometimes I have a problem which the movie is played faster and then normal again.
ogo
8th January 2003, 22:21
Version 0.99c is out on my website :)
It mainly fix problems with sound, add a tray icon, and has some tweaks for AC3
Cheers
OGO
Sumster
9th January 2003, 02:17
Ogo... excellent work as usual. I have been doing quite a bit of testing and logging with the AC3 output on the latest 0.99c. I have set the MaxLatency to 9 so that I can look at overall trends only, and not microadjustments.
1) First, I have noticed that AC3 repeats (ie. slowing down audio by adding time) sound way worse than AC3 dropouts on my external receiver (dropouts are hardly noticable)
2) I used a 20 minute DIVX and logged the output at various settings. The findings were quite interesting...
a) If I played the DIVX at original speed (23.976 fps), then over time there was an average of 6.43 AC3 REPEATS per 100 seconds of video. This means that the AC3 stream had to slow down 205.76 msec per 100 seconds to stay in sync with the video (0.21%). These repeats were very noticable and there were NO DROPOUTS.
b) If I sped up the video to 24 fps, then the number of repeats decreased to 4.43 AC3 repeats per 100 seconds. Here the AC3 stream only had to slow down by 141.76 msec to stay in sync with the video (since the video has been sped up)... 0.14% difference. Again, these repeats were noticable and there were NO DROPOUTS.
c) If I sped up the video to 25 fps, then there were no repeats, but only DROPOUTS (ie. the AC3 stream was trying to speed up). There were 122.7 DROPOUTS per 100 seconds of video or the AC3 has to speed up by 3925 msec or 3.9%. Ironically, despite the high number of dropouts, they were not as noticable as the low number of repeats!
3) If the framerate of the DIVX were to be calculated to match the unaltered AC3 stream (and create no repeats/dropouts), it would have to be in case a) 24.025 fps, b) 24.034 fps, and c) 24.055 fps.
Ogo, when Reclock isn't used, then I am assuming that Windows tries to match the video to the audio by default, but it does not change the overall framerate of the video, but just adds/drops frames creating jerkiness. Would it be possible to have a setting of 24.05 fps so that there are only a few dropouts and no repeats over time in the AC3 stream? Even better, could the framerate of the video change dynamically to reduce latency rather than changing the audio (leaning towards the faster video speed so as to reduce repeats)?
I am assuming, of course, that changing the global framerate of the video will not introduce significant jerkiness (using Reclock my video has remained very smooth at all fps settings, even if they are not a multiple of my refresh rate).
Thanks again...
Sumster
ogo
9th January 2003, 11:27
Sumster, you understood very well how it works :)
It's a pity i don't have an AC3 decoder to listen the results, but it's interesting to know that repeats are not nice to hear whereas drops nearly can't be listened.
Ogo, when Reclock isn't used, then I am assuming that Windows tries to match the video to the audio by default
Yes, the default audio renderer slave the reference clock to the audio clock.
using Reclock my video has remained very smooth at all fps settings, even if they are not a multiple of my refresh rate).
Interesting. It seems that the default audio renderer use some rough algorithm to slave the clock. I believe this is why the sound interleaving settings in AVI files seems so important. Also, the resolution of the default reference clock is not very good (in mS), whereas mine is under 1uS (it's not based on windows clock).
Would it be possible to have a setting of 24.05 fps so that there are only a few dropouts and no repeats over time in the AC3 stream? Even better, could the framerate of the video change dynamically to reduce latency rather than changing the audio (leaning towards the faster video speed so as to reduce repeats)?
What you want indeed, is a good audio-slaved clock. It is already implemented in ReClock when you choose "Disable clocks correction", but only for normal PCM sound. So i will try to implement this for AC3 SPDIF in next version :)
Sumster
9th January 2003, 14:51
Ogo,
You are right! I have this particular clip i use... a long panning scene at the beginning of Godfather part III that is absolutely horrible using the default Windows clock. I switched to PCM sound, and "disabled clocks correction" within Reclock --> voila! it still played smoothly!
Therefore, the problem on my system must be the inaccurate Windows audio-slaved clock as you said. Also, most of my older DIVX collection has AC3 muxed using Nandub (ugggh!).... but, somehow, Reclock seems to overcome this terrible muxing problem.
Waiting anxiously to the next release :D
Sumster
Chibi Jasmin
9th January 2003, 18:00
@ogo:
Now ReClock is becoming better and better, it's time to start nit-picking: :D
1. Docs: Since you have the sourcecode in your distribution archive, it is no longer a secret how 'ReClock will correct the system clock with information gathered in real time from your video card.' :)
2. I still don't think (reasons explained above), your instructions on how to use ReClock with 'DualHead' (more on this in 3) cards make any sense for Matrox cards, so I vote for making a note about that. We should finally investigate, if there are two independent clocks on Matrox cards (might also be interesting for the other cards, I am not sure about the instructions for them either, but don't know too much about other cards) or not...does having 2 RAMDACs automatically mean having two clocks? If yes, they still might be dependent on each other, am I right?
3. The term 'DualHead' is a trademark of Matrox and refers to their very own two-display technology. So 'dual head video card (a card capable to display different images on your monitor and on your TV at the same time like a Radeon for example)' isn't correct. They all have their own names for that (NVidia=TwinView, ATI=?). Maybe you should just remove the term 'dual head' and describe it differently...I vote for that as a proud Matrox owner not wanting to see the term 'DualHead' abused! :D
Okay, enough of that...I am still happily using ReClock for movie viewing since it came out...thanx for a great one!
kallekill
9th January 2003, 18:28
What kind of audiocards are you guys using? On my old computer I had a soundblaster live and the playback of movies was really smooth. The only problem I had was that often when I was downloading stuff at the same time as watching a movie, the movie sometimes stuttered for less than half a second.
Now I have build a new computer and I have this problem that the movie sometimes skips a second or pauses, than fast forward a second. It usually happen less than once/movie but when it does it is really irritating. I have tried Win 2000, XP, removed every component in the computer without any luck. The only thing that seems to help is running Win 98. I haven't had the time to see if reclock solves the problem, but I will report if it does.
I have a audigy card in the new computer (I have also tried the sb live but still got skips) and the playback is very smooth otherwise. I haven't found any problems with using the "do resampling with hardware" option in reclock so I guess the audigy can handle this option without any sync problems.
(When watching movies with TV-out the framerate isn't that smooth on both my computers. Using reclock seems to make it much smoother)
Chibi Jasmin
9th January 2003, 18:37
I am using an SBLive 5.1!
Sumster
9th January 2003, 18:59
Kallekill....
I'm using an old SB Live with digital out.... I had the exact same problems as yourself with 98% of the video being smooth, but just certain scenes having stuttering or a sudden speed up in playback speed. Long panning scenes are notorious bringing this phenomenon out.
Reclock has fixed all the above mentioned problems --> skipped/repeated video frames, sudden framerate increases, and AC3 muxing problems.
Sumster
P.S. I found that without Reclock, using VMR was much smoother than using the overlay mixer (with the old renderer) in these long panning scenes. With Reclock, however, it does not matter which video renderer I use, or how many extra filters I throw into the video, the playback remains smooth (I am using an 1800XP, so the processor never becomes the bottleneck).
kallekill
9th January 2003, 19:14
Sumster...
I don't think we have the exact problem, because if I play the scene that just skipped a second time, there is no skip this time, so my problem doesn't seem to be related to specific scenes. It just happens randomly. I was thinking it could be my motherboard causing it because I had a lot of problems with it before and finally found out that my motherboard was incompatible with IBM's latest harddrives. The IDE controller seems a little weird.
A friend has a motherboard with the same brand, alhough he has a compleatly different chipset. He also has the same problem. It is a little weird though that I only get skips in Windows 2000 and and XP and not with Windows 98 so it might be software-related after all. I hope that reclock solves it because i'm really tired of this.
kallekill
9th January 2003, 23:26
I might add that both the picture and the sound skips. Quite irritating when you miss part of the dialoge because it skips a second. I'm going to watch a movie with Resync now and see if it helps
Sumster
10th January 2003, 05:25
Ogo,
I just had a theoretical question.... remember how you mentioned that Windows, by default, uses a audio-based clock and that this clock is inaccurate by millisecondss. Reclock however is accurate to the microsecond. Isn't Reclock going to base it's clock on the audio?? Therefore, if the audio clock is inaccurate (or has a lot of variation), won't Reclock by default have this variation as well?
I know that it works (even with clock correction disabled, just using Reclock smoothens out the video).... just curious as to the actual theory behind it.
Thanks...
Airw0lf
10th January 2003, 11:11
I might have found a bug with the colour indication on the tray icon. I assume it should be changing colour dynamically, right? For example, when I play a PAL DVD, the tray icon starts off red, then turns green as the framerate and refresh rate matching and detection kicks in. This is obviously the desired scenario. On the other hand, when I play an NTSC DVD off my hard disk (using Zoom Player), the icon is initially red (since NTSC framerate detection is not supported). But when I set the framerate manually to 29.97, shouldn't the icon turn green afterwards?
Minor thing, doesn't worry me, but thought you (ogo) would like to know...
telexxingou
10th January 2003, 12:39
hello....
does anybody have Cmedia 8738 based sound card and working with reclock ?
i've an Asus P4b266-E with this audio chip and i can't get any AC3 spdif sound if reclock is loaded :(
i've tested many Cmedia drivers and nothing :(
somebody can help me ?
thx :)
My config :
P4 1,8Ghz
Asus P4B266-E with Cmedia 8738 chip sound
640Mo
GEFORCE 4 TI4200
...
codecs :
Video : Divx 5.02, Xvid...
Sound : MP3, Moonlight Audiodecod 1.23 and/or Intervideo
Divx Player : Bsplayer, Zoom Player, Media player 6.4,...
nothing work on AC3...with reclock
under Bsplayer, i must select Cmedia Wave Device out else no AC3 :(
under Zoomplayer, reclock selected but no 5.1 (Ac3) out on Spdif, only surround....
kallekill
10th January 2003, 14:51
I noticed that Reclock doesn't seem to load with the latest version of BS Player. Just so that you know
ogo
10th January 2003, 15:11
Sumster> Do you know which version of BSPlayer does not work with reclock ? There was a problem on some PC when you quit bsplayer with version 0.99c but it's solved in next version (not out yet)
telexxingou> You're not alone ! I'm working with someone that have the same card than you, and the same problems. For now i don't have the solution (if only i had this card in my hands ...). I have however a question for you : when you activate AC3 using the default wave renderer (which should be working, what do you see in the properties page of the waveout renderer (format tag, etc ...) ?
Airw0lf> You're right, i changed a little bit tray icons colors for next version.
Sumster> The audio clock speed difference (what i call inacuracy in my bad english) has no importance, and has no consequence on reclock. However variation in speed of audio clock would have bad consequence, but i doubt the audio clock has such variations, since it's an hardware clock based on some crystal.
Next version of reclock will be out maybe saturday or sunday if i find time to finish my stuff with AC3 :)
Chibi Jasmin
10th January 2003, 16:20
Is it possible, you make ReClock not load (and use DefaultDirectSound instead), if I play audio-only files through DirectShow? I wouldn't have to unregister ReClock every time I want to play an mp3/ac3/dts with directshow.
As rendering these files with ReClock (with clock correction) doesn't work here, because it constantly corrects the clock going higher and higher since I finally have some crackling (and disabling clock correction is an additional step just as unregistering)....
So as clock correction is not needed for audio only, why not just make reclock load, if there is also a video to be played?
ogo
10th January 2003, 16:27
Don't worry next version automatically disable clock correction when playing files with no video :)
Maybe i should rename the setting "disable clocks correction" to "slave reference clock to audio" don't you think ?
Audio slaved clocks in new version are completely new for both PCM and AC3/SPDIF. Hope it will work for everyone :)
Chibi Jasmin
10th January 2003, 17:11
Sounds great... :)
And the renaming you propose also make sense IMHO...
Your tool is getting better and better...and closer and closer to V1.0 :D
kallekill
10th January 2003, 17:21
I didn't get Reclock to load in BS player 0.86 in windows 2000. Seems to work fine in Windows 98 though.
telexxingou
10th January 2003, 17:22
@ogo :
below your request when reading divx AC3 on cmedia wave render :
wformattag : 146
nchannels : 2
nsamplespersec:48000
nAvgBytePerSec:192000
nBlockAlign: 4
Fréquence : 1.00
hope it'll help you and me :) lol
ps :i'm french too , if you want to ICQ with me for testing or other , mail me to telexxingou@hotmail.com
A+: )
Jorgosch
10th January 2003, 22:19
I'm sad to report that on my computer Reclock does exactly... nothing.
I have a ATI Radeon8500 derivate and a SB Live! value.
Filter never loads. When I try to set Monitor 1 to TV, my system wreaks havoc and is totally unpredictable. Tried disabling TvOut, didn't help.
*sigh*
Airw0lf
11th January 2003, 00:44
Jorgosch - what are you using to play your media files? Not all players will be able to access reclock. In my case, I can't use PowerDVD to watch DVDs with ReClock. But if I use ZoomPlayer and specify that I want to use ReClock with DVD playback, then I am fine. You can also use windows media player with ReClock. In the new version you will notice the tray icon as soon as the filter loads, so it's easy to check up on. Lastly, some people are having trouble with the latest BSPlayer, so I would stay away from that for now.
Jorgosch
11th January 2003, 11:35
I had tried ZoomPlayer, Media Player 6.4, Media Player Classic, PowerDivXNextGen and PowerDVD.
Jorgosch
11th January 2003, 11:52
Ok, since I seemed to be the only one having problems, I had another, closer look at ZoomPlayer. It actually worked when I set the following options:
In -> Player Options -> Manual Filters :
- Button REFRESH LIST (Reclock appears in audio filters)
- Use custom audio in Media and DVD mode
- Manual Filters: Using Filter File (Was "Auto by extension" before).
Now I have to go and check the benefits, especially with my ac3filter... see ya :-)
Airw0lf
11th January 2003, 13:05
Jorgosch - yup, if you're watching a *DVD*, that's what you need to do in Zoom Player. PowerDVD flat out won't work as far as I can see. But for general .avi, .mpg files, reclock will activate itself in media player or zoom player...
Jorgosch
11th January 2003, 13:59
Well, it didn't activate by itself, that's what I've already told you.
sillKotscha
12th January 2003, 12:32
sidenote:
reclock works as well if *.cda tracks (music CD's) are played ;)
kallekill
12th January 2003, 14:29
I'm having problem with a mpg-movie captured from tv at 29.97 fps. When I play it reclock resamples to 30fps but sometimes the audio repeats and you get desync sound of several seconds.
LaFouine
13th January 2003, 11:13
YES ! BRAVO !
With 0.99c I finnaly get no more sync problem in AC3 passtrough mode !
So great job ! Thank you very much !!
ogo
13th January 2003, 11:29
Next version of reclock will be out tonight (had no time yesterday to do it). It has many changes in sound to fix problems (AC3, ZoomPlayer in DVD mode) and add new features (frame rate cache, SMP support, better handling of files without video) ...
I'll do a review of your questions tomorrow :)
In the meantime, if you have problems send me your logs, and tell me in your email what is your nickname in the forum so i can respond you :)
ms
13th January 2003, 20:01
Hi,
First of all: reClock is great! Keep working on it.
I've read the discussion about SPDIF/AC3 output and reclock with great interest.
I have tried reclock with analog audio output and I was very happy about the results :) . The problem is the AC3 output. My external decoder mutes audio for about one second if a AC3-frame is dropped or duplicated. So SPDIF/AC3 output is useless for me :( . I thought about the problem of the impossibility to do a AC3 sampling rate conversion (without a complete ac3 decompression and compression).
I think there a 3 ways of playing a movie with AC3 digital output:
1. The "normal" Windows way: duplicating or dropping video frames to stay sync with the audio -> jerky playback :(
2. The "reclock way" : duplicating or dropping ac3 frames (yes, ac3 also has frames ;) ) -> bad audio playback :(
3. My idea: adjust the framerate of the video to the exactly needed speed and play ac3 stream at the original audio speed.
I known that my way would need much more cpu power (because ajust means not only duplication oder dropping frames, it means rerendering the movie).
I have written a small programm in C++ which does framerate conversions with AVI files without jerky playback (because frames are interporlated). The algorithem runs fast enought to handle a realtime conversion and it is not optimized (MMX...). Of cause I loose a bit picture quality, but it is nearly not visible (tryed with DVD-source material).
Can that be a way to achieve smooth audio AND video playback ??
If you are interested, I can send you the EXE and/or source code.
Greetings
MS
PS. Sorry for my bad school english, I hope you unterstand what I mean...
Jorgosch
13th January 2003, 20:41
3. My idea: adjust the framerate of the video to the exactly needed speed and play ac3 stream at the original audio speed.
Excuse me if my question is silly but isn't this exactly the microsoft way? :-)
ms
13th January 2003, 21:14
3. My idea: adjust the framerate of the video to the exactly needed speed and play ac3 stream at the original audio speed.
Excuse me if my question is silly but isn't this exactly the microsoft way? :-)
No,it's different.
Example: Refresh rate of your screen is 75 Hz. You have a movie encoded at 24 FPS. But we need 25 FPS (because 25*3=75) to avoid tearing.
If we can not speed up the playback (because of the AC3 problem), we have 2 possibilities:
1. simply duplicate on frame -> jerky (windows way)
2. modify all 24 frames an insert a fitting 25th. ->smooth playback
The 2nd needs much cpu power. But it is possible to reduce the needed cpu power when you only recalcualte some frames (for example 2 before and 2 after the inserted frame).
MS
Jorgosch
13th January 2003, 21:47
See, and that's the reason I became a lawyer and not an engineer :-)))
Sumster
13th January 2003, 22:25
MS..
I think when ogo releases his next version tonight, you will see a solution to your problem. I noticed the same things as you, but ironically, if you use a more accurate audio-based clock so that just the framerate is adjusted, the stuttering disappears.
However, just slight changes in the framerate (eg. 23.976 to 24.05)according to the audio are enough to make playback completely smooth even if the framerate IS NOT a multiple of the refresh rate. I don't think the entire video stream has to be processed in order to achieve slight changes in framerate.
Just my two cents worth... OGO, can't wait until you next release!
-Sumster
ogo
13th January 2003, 22:30
Ok guys, version 0.99d is out on my website. Please see changelog for bug fixes and new features.
Sound internals have been reworked especially for AC3. It's still not good but better i think :) the PCM renderer is also better !
ms, this new version implements your point 3 but smarter than windows. Perhaps it is your solution :) See "slave reference clock to audio" setting in properties panel.
Frame rate interpolation would be a good idea, but would require another filter just before the video renderer. Quite a lot of work (i think video interpolation require motion estimation, etc ....)
Cheers!
OGO
Edit: i highly suggest you to install DX9 to use this version of ReClock
Chibi Jasmin
13th January 2003, 23:47
Thanx again for another version of your great tool...still working fine! :)
Sumster
14th January 2003, 00:58
OGO!
Amazing work! I upgraded to Catalyst 3.0 and DX 9 before using.... excellent! I've now tried my most difficult DIVX files and DVD's and no problems whatsoever! Absolutely smoooth video in Audio-Slave mode, despite framerate not being a multiple of refresh.
There are still one or two AC3 dropouts/repeats I can hear, and they are present in the LOG file as well. Likely due to my system doing things in the background rather than reclock (eg. I could manually create tons of them if I scrolled up and down the LOG file with a movie playing).
I tested it with both AC3 and DTS streams... no problems.
THANKS AGAIN! I would say this is worthy of a 1.0 label!
-Sumster
kallekill
14th January 2003, 15:34
Did a fast check with the latest Reclock and the repeating sound problem I had seems to be fixed. Didn't upgrade to directx 9 though, because I have heard that it is full of bugs and not ready to be released. A friend of mine had to reinstall windows after installing directx 9. just a word of warning.
ookzDVD
15th January 2003, 07:24
@ogo,
The latest one 0.99d is very stable on my system,
all are working well. Thank you for your great work.
PS. to be honest, even I can't notice any difference between use/no use the ReClock, while playing on PC or TV use TVTool, even I've followed all the guides. :(
oddball
15th January 2003, 11:58
I don't like to cause strife either. But I've uninstalled it as I found no use for it. It made no significant difference for me neither. The speedup/slowdown stuff would only come in handy for recording to VCR for me.
But I am sure it may help on some others systems.
cca
15th January 2003, 12:09
It certainly makes a difference for me. The latest version works very good except for occasional stuttering with ZoomPlayer 3 beta 5.5. It goes away if I pause and resume but it is very annoying. Great work OGO!
billou2k
15th January 2003, 14:21
It definitly improves the playback on both tv and monitor!
excellent travail Ogo;-)
I had quite many problems with version 0.99c, so I followed your advices of installing directx9 with 0.99d and that's much much better.
Now with the latest version I could juste notice a few dropped frames from time to time but that's nothing compared to playback without reclock. I still have to test more material but what I tested was ok.
Ill tell you if I discover problems.
thanks a lot!
Sumster
15th January 2003, 15:04
OGO,
Just to update... still working perfectly on my system and it has made a HUGE improvement. Have worked through several DIVX and DVD's with no problems!
Ogo, if the latency increases to past MaxLatency when using "audio-slave mode", will Reclock still add/drop AC3 frames out of desperation? There are some areas of certain files where it is very difficult to keep sync... it seems to add/drop a few AC3 frames there consistently. Perhaps if I increase the MaxLatency SPDIF to past 100?
Also, the only tiny issue I have is the following... when using default WaveOut, I can switch from PCM to SPDIF in real-time during a movie with no problem. Using Reclock, once I've started a media in PCM, I need to shut-down Zoomplayer and restart (not just re-load media) for it to recognize SPDIF.
OOKSDVD/ODDBALL --> I don't notice a difference on 98% of my film, but just on certain very difficult panning scenes (even then, they are only microstutters for which you have to be slightly obsessive-compulsive to notice). I could post certain clips that are especially difficult to play smoothly, however Reclock seems to manage them fine!
-Sumster
Sumster
15th January 2003, 16:26
Ogo,
Just to clarify... when I switch from PCM to SPDIF on the fly, reclock actually registers it as "AC3 Passthrough" in the properties, however my system/soundcard does not seem to reset itself.
-Sumster
ogo
15th January 2003, 17:25
Ogo, if the latency increases to past MaxLatency when using "audio-slave mode", will Reclock still add/drop AC3 frames out of desperation? There are some areas of certain files where it is very difficult to keep sync... it seems to add/drop a few AC3 frames there consistently. Perhaps if I increase the MaxLatency SPDIF to past 100?
Yes, it does ... You can increase latency a little bit but you will get perceivable desync in this case.
Also, the only tiny issue I have is the following... when using default WaveOut, I can switch from PCM to SPDIF in real-time during a movie with no problem. Using Reclock, once I've started a media in PCM, I need to shut-down Zoomplayer and restart (not just re-load media) for it to recognize SPDIF.
Yes, it's called dynamic reconnection in DirectShow and it's not implemented yet on my filter. It's on my TODO list !
OOKSDVD/ODDBALL --> I don't notice a difference on 98% of my film, but just on certain very difficult panning scenes (even then, they are only microstutters for which you have to be slightly obsessive-compulsive to notice). I could post certain clips that are especially difficult to play smoothly, however Reclock seems to manage them fine!
A good way to find a difference is to use a 100hz TV with some motion compensation processor that tries to interporlate frames from 25hz to 100 hz (Philips TV's do that -have a look on "Natural motion" articles on Philips TV sets-). On such TV's if frames are skipped, the motion estimator get confused and results are catastrophic. I can understand that on a monitor or a standard TV it's not always evident to see what reclock does. However to convince yourself you can play a 23,976fps film on a monitor at 75hz, or a PAL TV, and you will see the results on panning scenes.
I have another version ready with corrections for AC3 that correct all the remaining problems. I you want it now just let me know :) If not i prefere to take the time to add a few features like videocard selection, dynamic reconnect, and it will be ready for 1.0 :) And i still have that damn problem with Cmedia soundcards SPDIF
ogo
15th January 2003, 17:34
It certainly makes a difference for me. The latest version works very good except for occasional stuttering with ZoomPlayer 3 beta 5.5. It goes away if I pause and resume but it is very annoying. Great work OGO!
What you experience is the problem of "permanent stuterring" i describe in the "known problems" section in my website. The solution for this implies to write another filter in front of the video renderer, but i didn't found the energy to do it yet ...
gabest
15th January 2003, 17:50
Originally posted by ogo
Yes, it's called dynamic reconnection in DirectShow and it's not implemented yet on my filter. It's on my TODO list !Couldn't you do it the way you change different PCM formats already? I mean when you see a new media type with spdif and it was PCM previously, just reset everything inside the filter and start to use the digital output.
ms
15th January 2003, 18:10
Originally posted by ogo
Frame rate interpolation would be a good idea, but would require another filter just before the video renderer. Quite a lot of work (i think video interpolation require motion estimation, etc ....)
No, motion estimation is one (and the slowest) posibility. Dynapel produses a software called MotionPerfect which does the interpolation with such advanced algorithems. It is realy slow and the results are not very good in some situations. In most (all?) situations it is better to do a simple average calcualtion like (picture1+picture2)/2= picture1.5.
As already said I have written a frame Rate conversation utility for AVI files, and the results are good in my eyes. :)
Greetings
MS
Sumster
15th January 2003, 18:56
OGO... I wouldn't mind a copy of the interim Reclock until 1.0 is ready :).
Jorgosch
15th January 2003, 20:40
Originally posted by ogo
I have another version ready with corrections for AC3 that correct all the remaining problems. I you want it now just let me know :)[/B]
Bring it on! ;-)
ogo
15th January 2003, 22:43
Ok, i've put version 0.99e on my website. It only fix problems with AC3 SPDIF :)
supAdrag
16th January 2003, 16:34
wow first post!
well after several hour of trying to get ReClock running (which i really want cuz i can see the advantages with it) smoothly on my system i give up, i donīt know whats wrong and i donīt know what to do cuz when i run with reclock it just makes the clip even more jerky and stuttery than before, i think i have tried everything i could possible think of but still the same problems so maybe anyone can tell me if it has something to do with my hardware....hereīs my setup (this is for my standalone mediaplayer)
PIII 500Mhz
128 MB RAM
Windows 2000 PRO SP2
Geforce256 DDR (Detonator 41.09)
Creative SoundBlaster AudioPCI 128 (Latest Drivers)
Zoom Player 3.0B4
FFDShow 20030103
DirectX 9
ReClock 0.99d
TV Out with TVTool to my PAL TV...
thanks!
sillKotscha
16th January 2003, 16:52
Originally posted by supAdrag
PIII 500Mhz
/me thinks here is your problem ;)
supAdrag
16th January 2003, 17:01
Originally posted by sillKotscha
/me thinks here is your problem ;)
yeah...you think thatīs the problem....cuz i can play all movies fine without reclock (except for the problems reclock are supposed to help with), how much CPU power does ReClock actully take up?
sillKotscha
16th January 2003, 17:19
Originally posted by supAdrag
cuz i can play all movies fine without reclock
than try hardware resampling, even if it's not recommended...
Originally posted by ogo
But if your sound card can handle it properly, it will give you optimum quality sound.
Originally posted by supAdrag
except for the problems reclock are supposed to help with
maybe it's a lockup that occurred on slower PCs during clock estimation (<=800mhz) - even though it should be fixed from version 0.99 and higher...
bkam
16th January 2003, 17:27
Originally posted by supAdrag
it just makes the clip even more jerky and stuttery than beforeI am having the same problem, but only when I watch it on my computer. Here is my hardware:
1.2 Ghz Celeron
256 MB RAM
Windows XP
BSPlayer / WMP
DirectX 9
ReClock 0.99d
Monitor 60hz refresh rate
Playing back exclusively 23.976 fps
I'm not sure the rest because I'm not there right now but it's a Toshiba laptop (i.e. everything comes built in). DivX plays reasonably smoothly without ReClock for me, except a couple days ago I tried using the built in S-VIDEO (I think that's what it is) video out thing on my friend's TV and it was ever so slightly messed up. I installed ReClock, now playing back just to my LCD gets a little jerky (like, I look at the filter and it hovers between 50 and 150 ppm, what I understand is that you want this near 0, but it never gets there... like at least in 10 minutes it gets better sometimes and worse sometimes). I tried my system with reclock on my TV out though and it's beautiful. Like really good.
Is this because my monitor is not a multiple of 24? I was under the impression that ReClock would work best with a multiple of 24 or 25 but that it still helps otherwise. Is this true? Also, is it possible to change the refresh rate of all monitors? Because I was playing around in display properties and for my monitor (in the location I found) 60hz was the only choice. Is there another way to change this or am I stuck?
supAdrag
16th January 2003, 19:08
Originally posted by sillKotscha
than try hardware resampling, even if it's not recommended...
tried it, doesnīt change anything...
sillKotscha
16th January 2003, 19:20
best proof that it has nothing to do with ReClock ;)
ogo
17th January 2003, 10:08
@ms : i would be very happy to test you tool on some 23,976 avi file to see the result of my TV. Could you send me a binary i could play with ? :)
@supAdrag : please send me your logfile (c:\reclock_log.txt). Maybe i'll find something ... Latest version really work well on all PC i've tried, so there must be an explanation. ReClock consumes some CPU when you open a file (maybe during 1-2 seconds). After that, cpu consumption is very low, so it should not be the problem. I tested it on P2 350mhz without problem. Can you try "Slave reference clock to audio" and tell me if stuterring is still there ?
@bkam : please send me your logs too. Your ppm indicator not going to 0 indicates a problem. Do you use Intel speedstep ? What video chipset are you using in your laptop ? Could you clear your log, then play a movie on LCD for at least 30 minutes, then send me your log ? For you refresh rate question, you can't choose anything else than 60hz on your LCD (all LCD are 60hz). If you are playing a movie at 23,976 on LCD, you can choose "refresh rate/2.5" or "24 fps" in the media adaptation tab, this is what will give the best results
@Sumster and @Jorgosch : did version 0.99e give good results with AC3 ?
Sumster
17th January 2003, 14:57
OGO --> Excellent results with 0.99e. Those few repeats/additions have disappeared completely (I have increased MaxLatencySPDIF to 150 and MaxPCM to 100). I find that the sync is usually always +/- 20 msec... I have never seen it go any higher even on difficult scenes where frames were being dropped. In any case, increasing the thresholds solved the problem.
I have now tried it on my notebook, locked at 60Hz, Celeron 433 with 128mb RAM --> no problems. Old Ati RAGE LT video card and ESS soundcard.
I also have cut out a very difficult panning scene in Godfather Part III that has played terribly on every computer/TV I have tried it on. This clip really highlights the advantages of Reclock. It is 5 megs and I can send it to you for testing purposes if you wish.
Sumster
Jorgosch
17th January 2003, 23:22
Originally posted by ogo
@Sumster and @Jorgosch : did version 0.99e give good results with AC3 ?
No complaints here, everything works nicely!
kallekill
18th January 2003, 06:57
Hmm. I still got problems with ac3 spdif out. I don't get the kind of skips i got before were ac3 was going on and off on my reciever but I get strange variations in pitch that is very noticable.
Jorgosch
18th January 2003, 14:31
@Ogo,
I have a request which has to do with the dual head capability of my RadeOn.
Problem:
My TV and my main monitor work at different resolutions and refresh rates while Monitor has Outpout 1 and TV has Output 2. Sometimes I like to watch (well, it's more listen to) a movie while I am doing something else on the other monitor. Obviously, Video clock is not synchronized properly on the TV now.
Your suggestion:
Set TV as monitor 1 so clocks synchronize properly. For some reason my system wreaks havoc on me if I leave it like this to reboot. Also, it is not very comfortable, all this switching around.
My thoughts:
If I could set video clock and refresh rate myself, I wouldn't have to switch monitor outputs, right?
My request:
Make an "advanced setting" for Video clock and refresh rate where user can enter values (probably with warning). This way, user (me :-) can look up the correct values once with TV Out set to monitor 1 and then later enter those values in ReClock without the need to switch monitors.
You could even gather clock values in a database to manually chose, I mean, there are not THAT many refresh rates on a TV and chips on the market :-)
What do you think?
BigT
18th January 2003, 14:57
I saw that some users reported problems with DVDMax (Matrox G400 graphics cards) and Reclock. Initially DVDMax would not produce smooth playback on my HTPC so i tried Reclock myself. At that time i did not know about eventual Matrox/Reclock problems. Nevertheless i can probably share the following:
As already reported using the second head set as primary output is totally unacceptable due to the much lower IQ in comparison to DVDMAX (in particular in PAL which is what i use). Without Reclock Divx videos did not run smoothly at all. When i tried Reclock things got better but not perfect probably due to the synching problems which were already mentioned in this thread. On the other hand when i installed Matrox's older 5.85 drivers for XP instead of the latest 5.86 everything was perfect. Switching back to 5.86 reproduced the choppy playback. It's pretty probable that the drivers influences the behaviour of DVDMax: in case several clocks are generated within the G400 my observation could suggest that the one or other driver synchs DVDMax differently.
It would probably remain interesting to see if other Matrox owners can reproduce this. In case i am wrong, no harm done i suppose...
Ewi
18th January 2003, 15:51
Cause people only post something when they have problems I post to say I have NO problems. I use it since 0.95 and it always worked for me without a flaw...
Thank you
Airw0lf
19th January 2003, 01:30
sumster - that's a very good idea. It would be ideal if some "difficult" clips were made available for people to test with. Unfortunately, webspace is rarely free...
Sumster
21st January 2003, 18:46
Airwolf...
I'll try to set up some of the free webspace available with my Cable connection. Only problem is that there is a limit of 300mb / month. Therefore, it will only allow about 50 downloads of the file.
That should be enough for the people who are actively tracking this particular thread. I'll post the link once I've uploaded the 5mb clip from the Godfather III. P.S. Use 16/9 aspect ratio in the player... clip is sized for a 16/9 TV.
Sumster
Airw0lf
22nd January 2003, 09:42
Sumster -
Thanks, that's very generous of you.
Sumster
22nd January 2003, 15:00
Hello All!
Here is a scene that has played "choppy" on almost every computer I have tried. It is from the opening of Godfather Part III and has AC3 sound.
1) It is sized for a 16/9 TV, so manually set your aspect ratio to 1.85/1 in Zoomplayer.
2) The opening is the water near NYC, and then it pans across a bunch of pictures in the room. Look for how smoothly it pans.
3) Please let the forum know if Reclock helps at all, and if the link no longer works (ie. I've maxed out my bandwidth). I will try to find alternate places.
LINK --> http://members.rogers.com/sagrawal1084/Panning%20Scene.avi
Sumster
The Link
22nd January 2003, 20:39
@ Sumster
Using Reclock there are no problems here! The avi plays smoothly for me.
BTW: The picture is pretty grainy. Did you use some special filters when encoding?
Sumster
22nd January 2003, 22:08
Hi Link...
Yes... I have the Godfather Trilogy DVD set. All three original DVD's are very grainy. I used smoothing filters on Part I and II, but the encoding time was horrible. Therefore, I did not use it on Part III, but the DIVX became quite grainy.
Also, the movies are very long (>3 hours), so the low bitrate does not help very much ;) .
I find that if you use the DIVX 5 filter at maximum quality (so that deblocking and deringing are active), it is much less noticable.
Good luck all.... still looking forward to Reclock 1.0 with dynamic reconnect enabled! Hope the work is going well Ogo.
Sumster
Airw0lf
23rd January 2003, 07:10
Sumster -
I tried out your clip, and the improvement due to ReClock was quite clear. Thanks again
temporance
23rd January 2003, 10:30
Hello Ogo,
Reclock is truly a great piece of work and today I was interested in seeing how it works. I can only find four source files (in gpled_src.zip) and it's not enough to build the filter. Where can I find the other source files?
Cheers :)
eLupus
23rd January 2003, 12:58
Hi,
Thanx for an awesome piece of software, it really does what it intends to do and really well, i only have two problems which keeps me from being able to use it.
I currently play movies on a laptop, with an external usb soundcard(extigy). I have this set up so that my internal soundcard is the primary soundcard. Then i set up zoomplayer to overide this so that when i play a movie the sound goes to the external soundcard. What i would really love is to see an option where you select which soundcard to use.
The second item on the list is something you allready know of, i also run movies on my secondary output(tv out) in dualdisplay mode, so that my lcd still is the primary monitor, i currently don't have problems with this as i use VMR and not overlay to play the movies, this does however also have the issue that refreshrates are not detected correctly. I just wondered if it wouldn't be possible to base this on in what window the video is played, or perhaps a setting which would allow you to specify on what display to detect refreshrate.
I presume you detect and sync to the refreshrate so that you may draw at correct time according to vertical sync, otherwise being able to manually set refreshrate would be an option.
Best Regards
Joakim Plate
Chibi Jasmin
23rd January 2003, 13:27
Originally posted by Sumster
Hello All!
Here is a scene that has played "choppy" on almost every computer I have tried. It is from the opening of Godfather Part III and has AC3 sound.
1) It is sized for a 16/9 TV, so manually set your aspect ratio to 1.85/1 in Zoomplayer.
2) The opening is the water near NYC, and then it pans across a bunch of pictures in the room. Look for how smoothly it pans.
3) Please let the forum know if Reclock helps at all, and if the link no longer works (ie. I've maxed out my bandwidth). I will try to find alternate places.
LINK --> http://members.rogers.com/sagrawal1084/Panning%20Scene.avi
Sumster
This file is muxed badly...try remuxing with AviMuxGUI at default settings or with Nandub/VDub(Mod) at preload 96ms interleave 96ms and playback will probably improve a lot without ReClock as well.
For more information try the search function, there's lots of information, why the above is necessary for smooth playback with ac3-avis in the forum, let's not discuss this here in the reclock-thread, please!
Sumster
23rd January 2003, 14:25
Thanks Chibi...
I totally use AviMux now.... I made these DIVX movies a LONG time ago using Doom9's original guides with Nandub. Unfortunately, I developed quite a collection of movies already burned that have been made this way.
Reclock, however, plays even badly muxed movies smoothly which is quite commendable!
-Sumster
:rolleyes:
Sumster
23rd January 2003, 15:55
I actually tried to remux the clip (did not bother with the entire movie as it has already been burned to CD).
There WAS about a 40-50% improvement in the stuttering, however it was still very noticable. Reclock, when set to Audio-slave mode, seems to resolve the remainder.
Thanks for the tip Chibi.
kallekill
23rd January 2003, 23:02
Reclock works really well for me and I get smooth playback on both the monitor and the tv. I have one problem though, and that is that almost always at some point in the movie the framerate gets out of sync and starts stuttering. I then have to restart mediaplayer and everything is fine again. Does anyone else have this problem?
Sumster
24th January 2003, 00:17
Kallekil... no I haven't had a similar problem. Are you using audio-slave mode? If so, reclock is constantly changing the video clock (framerate)in order to stay in sync. Have you tried using Zoomplayer?
kallekill
24th January 2003, 13:21
The only thing I have changed from the default settings is the resample audio using hardware option. It might be the cause of the problem but I suspect it can have something to to with that I am downloading stuff at the same time I watch a movie. I have noticed that it sometimes can cause a stutter while watching a movie and maybe resync loses the sync after such a stutter.
Chibi Jasmin
24th January 2003, 14:48
@ogo: You have any hint on why ReClock plays Nandub ac3-avis muxed with 500ms preload 1fr interleave (which normally play choppy on DefaultDirectSoundDevice) without problems? Or am I mistaken maybe (and Reclock plays them choppy as well...), I only did a few tests, but I got the impression these files play bad/fine just by disabling/enabling reclock...anyone did further tests on this?
ookzDVD
25th January 2003, 07:27
@ogo,
I just want to report that the PowerDVD AC3 filter is somehow
not working with Reclock on my system. But anyway it's ok
since I prefer to use the WinDVD AC3 filter which works very well
on my machine.
PS. I finally can notice the difference between use/no use
the Reclock, somehow the Reclock really make the motion is more
smooth. Thank you for your great filter. :)
ogo
25th January 2003, 16:35
Hi !
ReClock 0.99f is available on my website. It fix some problems discussed lately :)
I haven't had much time to discuss on the forum this week. I'll answer questions tonight or tomorrow !
By the way, i've just reproduced the problem when sound slowly goes high pitched, dropping regularly samples in the log. It will be corrected in next version (0.99g or 1.0) :)
Cheers
OGO
Ewi
25th January 2003, 17:31
Some questions regarding DivX Decoding Propterties:
There are these 5(6) properties in the DivX DShow Filter:
==========================================
Smooth Playback
Turning this off will allow B-frame encoded content to playback with lower CPU usage. However, enabling this option will introduce a 1 frame delay in the decoder (because of buffering), which may cause the last frame of the video to not be displayed. Enabling this setting is recommended.
YUV Extended Mode
When selected, the codec will attempt to use YV12 mode to decode the video. This is the fastest way to decode DivX content, but the drawback is that brightness/contrast/saturation controls cannot be used in this mode and are disabled. Enabling this setting is recommended.
Overlay Extended Mode
Selecting this will cause the filter to try to display video using the hardware overlay instead of the software overlay. The hardware overlay is much faster, but may not be supported on some video cards. When this mode is enabled, DirectShow-based player applications will be unable to open more than one window at a time.
Double Buffering
Enabling this will force the video card to allocate a second buffer for the video playback. This will increase the smoothness of the video playback, but may not be supported on low-end video cards with less than 8 MB of RAM.
Film Effect
This is a warming filter that when enabled will add film noise to the decoded picture. This may increase the perceived visual quality of the picture, especially if you are used to watching film. It's a personal preference, however, so use it if you want.
Force Color Mode (hidden)
You can manually set the registry key "HKEY_CURRENT_USER\Software\DivXNetworks\Force Color Mode" in the Windows Registry and assign it a number from 1 to 7. This will force the video card to use a particular color mode, depending upon the value. This is only necessary in rare circumstances to solve video card problems. Supported color modes:
* 1: YV12* 2: YUY2* 3: YUYV* 4: RGB32* 5: RGB24* 6: RGB555* 7: RGB565
==========================================
Do any of these features have an effect on Reclock; is something recommended? Especially: Smooth Playback, YUV Extended Mode, Overlay Extended Mode, Double Buffering. At the moment I'm folowing their recommendation and have activated Smooth Playback & YUV Extended Mode.
Thank you in advance...
Chibi Jasmin
25th January 2003, 18:40
New version looks great, I especially like the NTSC DVD default frame rate thing...just a minor one: The 'cancel' dialog box in the config dialog shows 'annuler', although I don't have French Windows installed :D
Please don't forget my question further up about ReClock and badly muxed ac3-avis...
eLupus
26th January 2003, 12:04
SWEEET... Thanx Ogo, the new version work like i charm, i'm now able to run ReClock on my secondary display device. It detects the refreshrate correct. I was afraid my graphics card would do something stupid on the tv like running it on 60 hz in xp and then just outputing in 50 hz to tv, but it detects it as 50 hz while primary display is running 60hz.
Everything seems to work like a dream, no stuttering at all any of my movies that i had problems with before.
Thanx again Ogo
Joakim Plate
((( atom )))
26th January 2003, 17:33
i have a couple of questions, wich i admit might be answered in this thread. i ask them anyway, because i would like to know if i have a chance to get it working or not in the first place..
after installing reclock for use with:
zoom player
ac3filter
avis that contain ac3 + mp3 at once
i found the ability to switch between different audio-tracks gone in zoom-player. i only heard the mp3 though ac3filter was loaded.
also i would like to know if i can tell reclock to work with theater-mode on my radeon card.
hope i didn't piss anyone off with my post. sorry again, i am a bit short with my time atm..
nikthebak
27th January 2003, 00:52
First of all, ogo, thank you very much for a wonderful utility like ReClock! Honestly, idea of proper synchronization with display adapter has been long overdue. I'm astonished that no player software (especially "high quality" commercial DVD players like WinDVD or PowerDVD) has implemented ReClock-like functionality years ago. With ReClock, the HTPC (Home Theater PC) concept suddenly has much more meaning than it used to have. Finally Windows PC's have a fighting chance against stand-alone DVD players regarding movie playback quality.
Secondly, the new configuration screen is great. I use two sound cards (integrated for games and Terratec EWX 24/96 for music and movies) and the ability to choose between them is really helpful. Probably a lot of people find the possibility to choose between display adapters useful too, but which leads me to third point;
Like many previous posters, I own a Radeon 8500 card with one ramdac and a built-in Rage Theater TV encoder. Unfortunately they won't list as two separate display adapters (they are activated via ATI control panel) so I still can't choose which one to use for ReClock. Ogo, do you think it's possible to address this kind issue at all?
I think this kind of behaviour would require some manufacturer-specific code, like direct interaction with ATI/Matrox/nVidia/etc drivers so it may not be possible to implement at all. But I can't tell for sure, you're the expert ogo :D
jwexqm
27th January 2003, 02:40
I've had no luck in getting ReClock to work at all when using interlaced display modes. The filter just hangs the host app as it's being loaded.
To re-produce this issue... (happens with all versions back to 0.99c)
'Display Properties' -> tab 'Settings' -> button 'Advanced' -> tab 'Monitor' -> listbox '47Hz, Interlaced' -> button 'OK'
load GraphEdit
ctrl+f -> expand 'Audio Renderers' -> double-click on 'ReClock Audio Renderer'
(at this point GraphEdit will hang)
The log produced by ReClock during this hang can be found here (http://www.jwexqm.vispa.com/reclock_log_interlaced.html)
A 'normal' log repeating the above but with 85Hz non-interlaced is here (http://www.jwexqm.vispa.com/reclock_log_non-interlaced.html)
My graphics card is an ATi 9700
Finally I'd just like to thank OGO for developing such an important piece of software.
James
ogo
27th January 2003, 11:17
Hi guys :)
I'm reworking the sound section for the next version. I'm aware there are some problems with sound with sound cards with high latency (cheap ones ...) or sound cards that have a lot of clock deviation. It will take some time to figure out a good solution ...
I've had no luck in getting ReClock to work at all when using interlaced display modes. The filter just hangs the host app as it's being loaded.
@jwexqm : very interesting ... The problem seems to come from the fact that you are using interlaced video. From your logs, i see that the video clock detection code get confused while trying to determine the hardware video clock. It just loops forever, hence the hang. I designed the stuff to work only in progressive mode, and with the way it does work i'm afraid i can't make it work in interlaced mode (well there could be a solution but it would affect the precision in progressive mode). Just for curiosity why are you using interlaced mode ? And why 47 hz ?
Like many previous posters, I own a Radeon 8500 card with one ramdac and a built-in Rage Theater TV encoder. Unfortunately they won't list as two separate display adapters (they are activated via ATI control panel) so I still can't choose which one to use for ReClock. Ogo, do you think it's possible to address this kind issue at all?
@nikthebak : i added a display driver selection in the hope a secondary adapter would appear with some multi-monitor videocards ... It seems no to be the case with the Radeon (i saw it too with my notebook with a Radeon Mobility). For a radeon the only possibility is to switch the main display to the TV. Then it does work. But theater mode, or simultaneous display is not possible. It's a DirectDraw driver limitation i can't go around, sorry ...
also i would like to know if i can tell reclock to work with theater-mode on my radeon card.
@((( atom ))): please look at my response to nikthebak ...
I was afraid my graphics card would do something stupid on the tv like running it on 60 hz in xp and then just outputing in 50 hz to tv, but it detects it as 50 hz while primary display is running 60hz.
@eLupus : yes 50hz (PAL) is totally unknown to all Windows versions, they just think they are at 60hz when they truly are at 50hz. NTSC is the same when outputing to a TV : windows thinks it is at 60hz but in fact it runs at 29,970*2 hz
Do any of these features have an effect on Reclock; is something recommended? Especially: Smooth Playback, YUV Extended Mode, Overlay Extended Mode, Double Buffering. At the moment I'm folowing their recommendation and have activated Smooth Playback & YUV Extended Mode.
@Ewi : i'm really not a Divx specialist ... On my system i just check YUV extended and Overlay Extended (the later is not useful i think). I also choose "film mode" with 50% just because it looks better for my taste. I don't use "double buffering", because some players get confused with it. Also using "smooth playback" is discouraged by many people (it's only intended for slower PC and remove B-frames if i remember well)
I think the more important is the choice of video renderer that will be used (starting with version 0.99f it's displayed in the properties or reclock). The "overlay" renderer has always given good results for me. The VMR7 gets good results with all players but MPC where there are some vsync problems with it (tearing). I don't get good results with the VMR9 with ANY player : playback is just choppy with it with all players i tried (maybe it's the builtin auto deinterlacing stuff that is not working properly). Now the player choice is also very important. I find BSplayer a little buggy sometimes, and it seems to use it's own video renderer. I like ZoomPlayer and MPC. WMP9 seems to have some bugs too (crash with some videos). Maybe Gabest could have a look on the VMR7 problem with MPC or maybe it's just my install which is not fully working ...
Speaking of the VMR7 tearing observed with MPC, it make me thinks it's a good way to check that reclock is doing a good job on your system. First of all, you need a long panning scene (i have one of 30 minutes if you need one !). An horizontal displacement (tearing) will occur in the scene each time a new frame is drawn by the video renderer, so you can really "see" if frames are locked to vsync or not by looking at what point verticually the tearing occurs (you will see something like an horizontal bar slighlty shifted). So to make a test, just try with reclock uninstalled (the bar should move on the screen meaning that the frames are not drawn at vsync speed), or with reclock installed and running (the bar should always stay in the same region). You can also try with "slave to audio" mode and see the bar moving ...
You have any hint on why ReClock plays Nandub ac3-avis muxed with 500ms preload 1fr interleave (which normally play choppy on DefaultDirectSoundDevice) without problems? Or am I mistaken maybe (and Reclock plays them choppy as well...), I only did a few tests, but I got the impression these files play bad/fine just by disabling/enabling reclock...anyone did further tests on this?
@Chibi Jasmin: i'll try to explain ... The default audio renderer have a internal clock based on some system clock. Each time it receives an AC3 frame which last some tens of milliseconds (depending on interleaving let's says X), it sends the frame to the audio card. Then each time the audio card has finished a frame or X duration, the renderer measure the deviation of it's clock to X, and then correct the clock to make stay in sync. So if a frame last 50ms, the clock is corrected every 50ms. This correction can be rough is the two clocks have some deviation from each other, hence the choppy playback.
To make a picture, imagine two cars running side by side at 100km/h (each car according to it's speedo). As speedos are inacurate, they don't run at the real same speed. So the lead car make 1 kilometer, then stop until the second one arrive. Then they both restart for 1 kilometer. They will roughly arrive at destination at the same time, but the ride will not be smooth.
Now reclock in "audio slave mode" does work a different way. It integrates clock correction over time. Speaking of the cars, at each kilometer, the faster car will not stop and stay at 100km/h, but at each kilometer interval, the slower one will look at how many late it is, and accelerate for the next kilometer to stay side by side. The more kilometers the cars will do, the more accurate will be the acceleration correction of the slower car giving a smooth ride :) To be precise the correction method i use in reclock is a proportional+integral (PI) compensator.
Reclock works really well for me and I get smooth playback on both the monitor and the tv. I have one problem though, and that is that almost always at some point in the movie the framerate gets out of sync and starts stuttering. I then have to restart mediaplayer and everything is fine again. Does anyone else have this problem?
The only thing I have changed from the default settings is the resample audio using hardware option. It might be the cause of the problem but I suspect it can have something to to with that I am downloading stuff at the same time I watch a movie. I have noticed that it sometimes can cause a stutter while watching a movie and maybe resync loses the sync after such a stutter.
@kallekill: yes reclock is very sensible to other tasks giving stuttering with sound. This is something i'm working on. The other problem of permanent stuterring until you pause/start is described in the known problems of the changelog. I have no solution yet for this
I presume you detect and sync to the refreshrate so that you may draw at correct time according to vertical sync, otherwise being able to manually set refreshrate would be an option.
@eLupus: no it's not possible. Correction is done in real time, so you can't enter refresh rate manually, because reclock needs to do some measures during playback
Reclock is truly a great piece of work and today I was interested in seeing how it works. I can only find four source files (in gpled_src.zip) and it's not enough to build the filter. Where can I find the other source files?
@temporance: yes for now i made the choice not to distribute all the source code. I give only the GPL portions of the code (to respect the GPL licence). ReClock is freeware, but not open source. Maybe it will change in the future :)
Here is a scene that has played "choppy" on almost every computer I have tried. It is from the opening of Godfather Part III and has AC3 sound.
@Sumster : very good idea to provide "difficult" pieces of films :) I think my ISP gave me 200mb of space, so i can take some pieces if you want
As already reported using the second head set as primary output is totally unacceptable due to the much lower IQ in comparison to DVDMAX (in particular in PAL which is what i use).
@BigT : why is it the case ? I don't understand why putting a display in primary mode would give bad quality. Matrox is doing bad work here :(
My thoughts:
If I could set video clock and refresh rate myself, I wouldn't have to switch monitor outputs, right?
My request:
Make an "advanced setting" for Video clock and refresh rate where user can enter values (probably with warning). This way, user (me :-) can look up the correct values once with TV Out set to monitor 1 and then later enter those values in ReClock without the need to switch monitors.
You could even gather clock values in a database to manually chose, I mean, there are not THAT many refresh rates on a TV and chips on the market :-)
No it's not possible, same response as for eLupus. I wish i could find a solution for this ...
Cheers
OGO
gabest
27th January 2003, 11:30
ogo: Under xp you are using vmr7 even if mpc is set to "system default", the same is true for wmp64. Do you have the vsync problem only when "vmr7" is selected?
ogo
27th January 2003, 11:45
I'm not at home to confirm this, but i quite sure i get this too with "default" settings (i'm on xp) which also use VMR7.
I don't get that behaviour with WMP or ZP (it's easy to check which renderer is used from the reclock properties).
If i remember well it was with MPC version 6.4.2.0. I get this on a Geforce 3. Saw this too with a TNT2
With VMR9 no vsync problem, but choppy playback. Do you also get choppy playback with VMR9 ? I get this with all players i tried (with or without reclock). I can also crash VMR9 if i play with the "deinterlace" settings ... Strange
With Overlay : no problems at all
gabest
27th January 2003, 12:39
Please try this with "vmr7" as the renderer, it should wait for vsync now.
http://download.vobsub.edensrising.com/mpc2kxp6424.rar
Chibi Jasmin
27th January 2003, 12:44
Originally posted by ogo
@Chibi Jasmin: i'll try to explain ... The default audio renderer have a internal clock based on some system clock. Each time it receives an AC3 frame which last some tens of milliseconds (depending on interleaving let's says X), it sends the frame to the audio card. Then each time the audio card has finished a frame or X duration, the renderer measure the deviation of it's clock to X, and then correct the clock to make stay in sync. So if a frame last 50ms, the clock is corrected every 50ms. This correction can be rough is the two clocks have some deviation from each other, hence the choppy playback.
To make a picture, imagine two cars running side by side at 100km/h (each car according to it's speedo). As speedos are inacurate, they don't run at the real same speed. So the lead car make 1 kilometer, then stop until the second one arrive. Then they both restart for 1 kilometer. They will roughly arrive at destination at the same time, but the ride will not be smooth.
Now reclock in "audio slave mode" does work a different way. It integrates clock correction over time. Speaking of the cars, at each kilometer, the faster car will not stop and stay at 100km/h, but at each kilometer interval, the slower one will look at how many late it is, and accelerate for the next kilometer to stay side by side. The more kilometers the cars will do, the more accurate will be the acceleration correction of the slower car giving a smooth ride :) To be precise the correction method i use in reclock is a proportional+integral (PI) compensator.
Maybe you're on the wrong track here, because an AC3-Frame always lasts 32 ms (it does not depend on interleaving)...and the only difference between the 'bad' muxes and the 'good' (muxed with 96 ms preload, 96 ms interleave) ones (using default directsound), is the interleaving used...Nandub treats ac3 simply as a bytestream...and if you cut files with it, it produces fracted ac3-frames...meaning it's not complete frames in each chunk, but fracted ones...but even these files play fine, if they are muxed with 96/96 on default direct sound device for some reason, so it's not the fracting...with the 'bad' default setting, it's just they are not fracted every 32 ms (if they are at all fracted with the 96/96 setting, this happens only on splitting with Nandub), but they are fracted with a varying pattern...well, maybe you don't have to dive into this, as it works as it is, but if you're interested see here (http://forum.doom9.org/showthread.php?s=&threadid=36094) and here (http://forum.doom9.org/showthread.php?s=&threadid=38855)!
Originally posted by ogo
@BigT : why is it the case ? I don't understand why putting a display in primary mode would give bad quality. Matrox is doing bad work here :(
Well, this is just the way it is with the Matrox card...when using the card as 'normal' multidisplay card, you have the functionality of using 2 independent displays for Windows Desktop etc. You can use two monitors (which independent resolution/refresh rate) or use one monitor and a TV (also with independen resolution/refresh rate)....but this does not produce very good quality for video playback for whatever reason...not mentioning the fact, that using a TV as primary display is not even possible, only as secondary in multi display mode...and you don't gain anything by that, except some performance hit and loss of quality...another possibility is clone mode, which just copies (depending on resolution some scaling might be involved) the primary display to the TV (on secondary head), so you could think, play fullscreen on Monitor and you have the same picture on TV..fine...problem 1. You can set them refresh rate independent, if you want to...so we have the same old clocks problem (are there two? and which one is correct?). And you can set the having the same refresh rate, but you are still not sure, if it actually uses the same clock...and 2. The quality in this mode is worse than with DVDMax mode...
DVDMax mode is much nicer to work with anyway...as said, you can minimize the player window or let it play in a window on the desktop having nice fullscreen playback in good(!) quality on the TV...I doubt any Matrox user will consider using anything else for playback...it has a fixed resolution for the TV (720x576 in PAL mode, 720x480 in NTSC mode, scales if necessary), and for whatever reason delivers very nice quality output on video playback...
The only problem that still remains is...do we have two independent clocks?? But using Reclock in PAL mode with a 100 Hz Refresh rate on monitor, I didn't have too many problems at the moment, a few stutters here and there, but these were probably caused by other activities in the background and probably also happened on the monitor...so instead of speculating, I suggest, that anyone who is able to do so tries to find some hardware specs of the card (G400 etc...), which tell us, if there is two clocks and how they work together...
eLupus
27th January 2003, 13:14
Ogo you misunderstood my post.. probably should have frased it better. ReClock accuaratly detects my secondary display(tv) as 50 hz, i was afraid it wouldn't but it accually does.
Ogo, do you think it would be possible to make ReClock register itself as a normal audiorenderer and not take priority over any other renderer?. I can't even override it in zoomplayer. It would be nice if it were not the default renderer, but only used if I have selected it as the output device in zoomplayer.
nikthebak
You say it won't register as a secondary controller. Have you made sure you have selected extend desktop to this monitor in display properties? Otherwise it won't show.
You might have to install wm9 to be able to play video on the secondary display since very few graphics card support overlay there. WM9 introduced a new video renderer that doesn't use overlay, but 3d rendering support, and seem to work properly on secondary display's.
My ATI Mobility 3 shows the TV properly as a secondary device, wich you can extend the desktop to(thou it has required me going through quite some display drivers to get it that way)
Divx movies play just fine, but as soon windvd's filters get loaded, eg mpeg, there is no display there, they seem to force the videorenderer to use overlay and revert to an old renderer.
Hope this helps someone
Joakim Plate
ogo
27th January 2003, 15:34
The only problem that still remains is...do we have two independent clocks?? But using Reclock in PAL mode with a 100 Hz Refresh rate on monitor, I didn't have too many problems at the moment, a few stutters here and there, but these were probably caused by other activities in the background and probably also happened on the monitor...so instead of speculating, I suggest, that anyone who is able to do so tries to find some hardware specs of the card (G400 etc...), which tell us, if there is two clocks and how they work together...
@Chibi Jasmin: maybe you could do the "MPC + VMR7" test (with an old version of MPC) and if you get the tearing, just check if the tearing stays in sync with vertical sync ?
Ogo you misunderstood my post.. probably should have frased it better. ReClock accuaratly detects my secondary display(tv) as 50 hz, i was afraid it wouldn't but it accually does.
No problem about 50hz, i just tried to explain im my bad english that windows does not know the 50hz mode and says "60hz" instead :) For your filter priority problem, you can still disable reclock from the start menu in one click. I'm surprised that you can't override it with another renderer in ZP (must check this). Anyway you can still edit the filte merit inside ZP (a little tricky and not very user friendly i know). Maybe i should provide some settings in the configuration app in a future version
jwexqm
27th January 2003, 15:39
Some background on the interlaced display modes issue...
I live in Europe where most TVs have RGB SCART sockets and I've always felt it to be a shame that S-video is accepted norm for getting a video signal from PC to TV. My current HTPC uses a Matrox G400 which is the only card I could find which does TV-out via RGB. It's not a bad solution but I'm always looking for something a little more direct.
The recent uptake of the Video Mixing Renderer (VMR) along with Catalyst 3.0 seems to have completely fixed the Radeon's half-frame interlaced overlay bug which in the past prevented it from being any use for overlay video presentation in interlaced modes. I've recently been doing some tests driving my Sony Wega's RGB SCART input directly from the VGA port of my Radeon with this connection arrangement...
D-15 SCART
1-------15--------Red
2-------11--------Green
3-------7---------Blue
6-------13--------Red return
7-------9---------Green return
8-------5---------Blue return
10------17--------Composite sync return
13------20--------Composite sync
Powerstrip is then required to configure the card into a suitable mode - I use :-
625 total scan lines, 540 visible, 720 horizontal pixels per visible scan line, 50Hz interlaced (25 frames/s), composite sync
(it can be fiddly to set this up initially but there are ways)
The result is the cleanest signal I've seen from a PC to TV with a nice full-screen desktop with no clipped edges.
What you don't get though is any of the normal flicker filtering which you'd find present on TV-coders, so the low-frequency interlaced signal is emphasised by the many pixel-wide horizontal lines present in Windows. Other, 'chunkier' GUIs are fine though (ShowShifter for example). Video playback however is stunning, with rich colours, deep blacks and all the other goodness you'd expect from RGB.
So my motivation here is to obtain robust, jitter-free playback of 25FPS progressive material (PAL DVDs) and then maybe even natively play 50 fields-per-second PAL interlaced material (say from PVR capture) using VGA driect drive.
The progressive 25FPS case 'seems' relatively simple, no deinterlacing required - decode a frame, wait for current field to complete, blit to framebuffer, wait 2 fields then repeat. I guess this all depends upon the mechanism used to inform the renderer of the current state of the graphics card's DAC. Presumbaly this is done either by interrupt/callback or polling a status register. I wonder how interlaced modes are treated differently in this way (if at all)?
I'm quite sure people living in America are going to hit analogous issues when playing HDTV back to interlaced sets over component video so I don't really see this as being a Europe-only problem.
Anyway, maybe that's put my case across a little, or possibly even just been mildly interesting.
Thankfully the G400 exists in the meantime :)
James
ogo
27th January 2003, 16:08
I understand well your problem, i'm french :)
Powerstrip is then required to configure the card into a suitable mode - I use : 625 total scan lines, 540 visible, 720 horizontal pixels per visible scan line, 50Hz interlaced (25 frames/s), composite sync
Could you try this in "progressive" mode and check that reclock detects a clock of 31250 hz (which is horizontal freq = 625*50), just to be sure.
Maybe you could provide me a procedure to create interlaced modes with powerstrip on my notebook (Radeon mobility which is nearly the same as a radeon 7500), so i could find a solution to make reclock work on interlaced displays ?
My notebook only have a composite output (shame...) but i've always been surprised by the quality of the TV out (i use overscan mode with a registry hack). Colors seem more rich that my setup with a Geforce3 + s-video (maybe more bits in the DAC ?).
Sumster
27th January 2003, 16:52
New version still working like a charm with "Audio-slave" mode. Stangely enough, in both SPDIF and PCM, the audio-slave mode seems to result in the best playback.
Looking forward to Dynamic Reconnect!
Excellent work OGO!
-Sumster
temporance
27th January 2003, 17:34
yes for now i made the choice not to distribute all the source code. I give only the GPL portions of the code (to respect the GPL licence). ReClock is freeware, but not open source. Maybe it will change in the future.@ogo: mate, I'm afraid you're not allowed to do this. If you use any GPL code, you have to release all the source code that you integrate with it. Read the GPL. So you should release all of your filter's source code (please :) ).
Sorry to be so confrontational, but it's really not fair to use other people's GPL code and then to keep your derived work secret.
EDIT: This is why Microsoft is $hit-scared that one of its programmers will include some GPL somewhere in Windows. MS would then have to release all the Windows source code under GPL!!!
Jorgosch
27th January 2003, 17:38
Ok, new "problem". The new core player is out (www.corecoded.com) and it has a problem with ReClock. With ReClock adjusting the speed on auto-setting, audio gets a hickup every 6 seconds. With speed set to "original" everything plays ok.
Could you guys work on a solution together, because the Core Player is REALLY fast and smooth.
EDIT: Why do I even bother *sigh* You guys code faster than I can write, the problem was with 99e, fixed in 99f...
Chibi Jasmin
27th January 2003, 18:27
Originally posted by ogo
@Chibi Jasmin: maybe you could do the "MPC + VMR7" test (with an old version of MPC) and if you get the tearing, just check if the tearing stays in sync with vertical sync ?
I tried it, but unfortunately I not only get quite bad playback on monitor with vmr 7 (choppy etc.), but only green junk on dvdmax output...tried this with older and newer version of mpc. It seems, DVDMax doesn't like VMR 7 renderer (neither does it like VMR 9)...so this test doesn't work, I'm afraid...
ogo
27th January 2003, 18:30
@temporance : I've already had a *LONG* discussion by email with someone knowing well the GPL. At first he stated i had to release all the code, but i explained him that :
- the parts in GPL are not at all the heart of my filter (or said diffrently my filter is not an extension of those gpl parts). I you read the GPL licence stuff, you will see that such a use is indeed authorized (i don't remember where but i need to re-read my emails to tell you)
- i can technically completely externalize those gpl parts, and use them as "plugins" (DLL), so i use 0 lines of GPL code i my filter. But i must be too lazy to do that :)
The reasons for which i don't want to give the source code now are quite long to explain, but to be short :
- it's not finished
- i don't want this to be stolen and used by someone to make profit
- people that could be involved in modifying this would be very few (but you are one of them :)), and i don't think that seeing many versions floating around there would give good good results, especially if they are buggy, etc... I'm not saying there that i'm the best out there to do this stuff, just that too many people working on this would not give good results. Remember DVD2AVI ? I released the first "mod" which was 1.82. It was working quite well. I stopped dues to lack of time. After that, there have been many mods starting in all directions (and many of them were buggy), and now this tool is nearly dead because nobody could lead the mods ...
Anyway i'm open to this discussion, maybe i'll change my mind ...
And of course, if i stop working on reclock, there are good chances that i'll give the source. I just started this as a personnal project, but i thought it would be useful to many people because i think it's really useful for people that knows what it does (experienced HTPC users are the more demanding) :)
@Chibi Jasmin: too bad ... Maybe DVDMax is working with an overlay
Chibi Jasmin
27th January 2003, 18:44
Originally posted by ogo
@Chibi Jasmin: too bad ... Maybe DVDMax is working with an overlay
Yes, it is...that's exactly what it does...it outputs the overlay surface fullscreen to the tv :-) I thought, you know that... :D
It actually gets triggered by the creation of an overlay...if there's no overlay present, tv is black, if an overlay window is created, dvdmax outputs its content fullscreen on the tv...
((( atom )))
27th January 2003, 18:53
@jwexqm:
so radeons have comp-sync out?
i have one! :)
do you have any mor info on this one?`i might go and solder a cable, if i'd be assured my card supports al the necessary. i am using a radeon 7000 btw..
i am looking forward to this.
ogo
27th January 2003, 20:21
@jwexqm: me too i'm interested :)
@Gabest: no luck with latest MPC version :
- with "default renderer": according to reclock, VMR7 is used and playback is FINE (no tearing)
- with "VMR7 renderer": tearing :(
Sumster
27th January 2003, 20:34
OGO... I fully support your decision regarding GPL. You have an amazing utility that will revolutionize home theatre PC's, and I would hate to see your hard work stolen and used in all video playback products without your work being recognized or compensated.
If you stay within the rules (and even externalize all the GPL code into .dll's as you mentioned), it would be well worth it!
Amazing work as usual.
temporance
27th January 2003, 21:33
@ogo:
I'd love to respect your decision but what you've done is not legal under the GPL. And putting the GPL parts in a DLL isn't enough: See http://www.gnu.org/copyleft/gpl-faq.html#MereAggregation . You should ask the author of the original code to ask if what you're doing is ok. They might allow you to use the code in ReClock without having to GPL your new code.
i don't think that seeing many versions floating around there would give good good results, especially if they are buggy, etc... The way to avoid this is to use a central CVS repositary. This lets you keep control of the source. Also, you can claim the name "ReClock" so that no-one else is allowed to use it. Look at xvid - if a project of that size can work by GPL then so can ReClock which, i presume, has a much smaller codebase. Also, don't worry, no company would steal your code. They could just take your compiled DLL and you could do nothing (because you use GPL code). Anyway, it would take a big company very little time and money to write their own reclock.
Anyway, keep up the good work, hope to see the source soon! ;)
ogo
28th January 2003, 00:34
I'd love to respect your decision but what you've done is not legal under the GPL. And putting the GPL parts in a DLL isn't enough: See http://www.gnu.org/copyleft/gpl-faq...MereAggregation . You should ask the author of the original code to ask if what you're doing is ok. They might allow you to use the code in ReClock without having to GPL your new code.
Sorry it's not what i understand when i read paragraph 2 of the licence :
"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works."
reclock have 2 modules under GPL :
- the DRC : reclock doesn't need one to function
- the resampler : i can write a bad resampler in 10 lines of C++, and provide a DLL loader to use another one (a good one) for people that need one. It will solve the problem
But is this useful ? Did i fool someone ? Am i against the GPL spirit ? I don't think so :)
99% of the work is mine and has nothing to do with DRC and resampler, and even the GPL code was quite strongly modified by me :)
I'm too honest. I should never have said there were GPL portions in my code :D
temporance
28th January 2003, 01:04
Originally posted by ogo
"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works."You are not distributing them as separate works - they are both integrated into ReClock.
Putting the GPL code in a DLL is not allowed either, as even dynamic linking is considered to be incorporating the code into a larger work. The GPL people thought of everything :)
Am i against the GPL spirit ?GPL and open source is all about sharing. I can write 1000 lines of code, someone else takes 100 of then and adds 800 of his own. I can then take back 200 lines into my original program. As soon as someone decides that they only want to take and not give back, then the system stops working.
Anyway, on the scale of GPL violations, this is pretty tiny so I'll try to resist posting on this thread again. Please think about respecting GPL :)
gabest
28th January 2003, 01:23
GPL is evil from a kind of aspect :devil:, same as standards and patents. After a critical time every solution of a problem will become opensource and will belong to someone who has a GPLed code of it, and then other programmers can't prove anymore that their code was made from sratch or using others work, after accusing them too much can even cause them to have bad reputation for the public.
ogo
28th January 2003, 01:46
Putting the GPL code in a DLL is not allowed either, as even dynamic linking is considered to be incorporating the code into a larger work. The GPL people thought of everything
I was more thinking about dynamic loading :)
GPL and open source is all about sharing. I can write 1000 lines of code, someone else takes 100 of then and adds 800 of his own. I can then take back 200 lines into my original program. As soon as someone decides that they only want to take and not give back, then the system stops working.
I totally agree with that (please have a look at my previous submissions to doom9). That's a way of sharing, but not the one i choosed for reclock for reasons given before :)
I give my work for free anyway. You cannot imagine what amount of time i spent to write this thing, respond emails. And it's very very tiny compared to people who wrote ZoomPlayer or Media Player Classic. The whole idea of my work has nothing to do with a resampler or a drc (no aggregation, extension or whatever you want), it's the application of a new idea never implemented before (to my knowledge). Think about this when you think GPL. Technically one could still argue that i somehow violate the licence, but i think i respect the spirit of GPL anyway by telling i use GPL source code and releasing modified versions of it :)
I'm sure DOOM9 would think like you anyway :) I remember some discussions in the past about this ...
temporance
28th January 2003, 11:46
Originally posted by gabest
GPL is evil from a kind of aspect :devil:, same as standards and patents. After a critical time every solution of a problem will become opensource and will belong to someone who has a GPLed code of it, and then other programmers can't prove anymore that their code was made from sratch or using others work, after accusing them too much can even cause them to have bad reputation for the public. No, this isn't a danger. GPL uses the copyright of the source code and protects the written lines of code only. It doesn't protect the idea within the code - anyone can reuse this in any way they like. So, for example, ogo could quite legally rewrite his own resampler that does exactly the same job as the GPL code.
gabest
28th January 2003, 12:56
Yes, he could. But after already seeing how it is done, would he do it differently? Or for example could anybody release a new divx/xvid/... decoder AND prove (!) that he hasn't used a single line from ffdshow or mplayer? If so, how?
oddball
29th January 2003, 13:42
BIGASS BUG REPORT
When you play an avi/ogm with dual audio it loads Reclock twice and plays back both audio streams at the same time. In Zoomplayer you also are unable to select the audio track you wish to take priority while Reclock is doing it (Greyed out option). You have to disable Reclock entirely by unregistering it to be able to play such files correctly.
((( atom )))
29th January 2003, 20:49
i have to actually confirm oddballs report.
this also happens with wmp but not with the core player, where i can still switch streams (built in feature like in zoom player).
it would be very nice have this issue fixed.
ogo
29th January 2003, 23:32
Yep i saw this problem with BIVX :( Didn't looked at it yet. Another one on the todo list ... Gabest, how are handled files with multiple tracks in MPC ? Why are 2 reclocks created in the graph ?
For now i'm worried with somes problems reported by some users :
- sound getting out of sync, or slowly going high pitched ... Do any of you have this problem ? If only i could have a sure way to reproduce this i could understand and solve that
- graphedit load/save still not fixed
gabest
30th January 2003, 08:22
Originally posted by ogo
Yep i saw this problem with BIVX :( Didn't looked at it yet. Another one on the todo list ... Gabest, how are handled files with multiple tracks in MPC ? Why are 2 reclocks created in the graph ?This is normal, every audio path is rendered if the audio switcher is not enabled or no morgan stream switcher is installed.
((( atom )))
30th January 2003, 08:32
This is normal, every audio path is rendered if the audio switcher is not enabled or no morgan stream switcher is installed. the core player is still able to switch, after installation and activation of reclock.
morgan stream switcher caused nothing but trouble for me, whatever i tried. on a former installation it slowed down the speed of the audio, while the video ran on and on my actual installation it completely garbles mp3-tracks while leaving ac3 intact..
can anyone recommend any other switcher?
gabest
30th January 2003, 08:46
Originally posted by ((( atom )))
the core player is still able to switch, after installation and activation of reclock.By rebuilding everything from the avi splitter, one path each time. It is also a way, but I think with the audio switcher it is better for two reasons: 1. switching is faster, 2. I could put the 44.1khz resampler, channel mapper and audio time offset features in the filter.can anyone recommend any other switcher? options/audio/enable audio switcher, and this should be on by default :P
Sumster
30th January 2003, 15:48
Ogo,
I haven't had a problem with audio/video slowly getting out of sync, or with audio becoming high pitched. I have watched several movies straight through. Perhaps it is because I am using audio-slave mode...
Haven't yet tried AVI's with multiple audio tracks...
Everything still working fine here. Are you planning dynamic reconnect in the next version?
-Sumster
ogo
30th January 2003, 20:18
Thanks. Yes it's fine with the audio switcher. Any news with the VMR7 tearing problem Gabest ?
Also i would like to ask you some advice about DirectShow. In a future version of ReClock i would like to find a way to be notified by the video renderer each time a frame is about to be drawn. I found no way to do that with the provided API in DX9. Could it be possible to insert a sort of null filter in front of the video renderer that would notify me each time it receive/sends a frame ? If so, how can i implement such a filter (i don't know how to do that) ?
My need is to monitor at what "distance" of the vertical sync each frame is drawn by the video renderer. It would allow me to validate that the clock is properly corrected, and also would give me the possibility to draw each frame just after vsync by tweaking the clock.
Thanks for your help :)
gabest
30th January 2003, 20:34
I don't think you could access any directdraw functions of the video renderer and putting a filter before the renderer is a very bad idea, you couldn't find out anything from the rendering time anyway.
But since there is only one display (usually :)) I think creating your own directdraw object would give you the same values for the scanline.
Here is my code to wait for the vsync (no idea why it wasn't working for you). m_pDD is a pointer to IDirectDraw7 and rDstPri is the target rectangle for the video (the inner client area of mpc's window).
DWORD dwScanLine;
for(;;)
{
hr = m_pDD->GetScanLine(&dwScanLine);
if(FAILED(hr) || hr == DDERR_VERTICALBLANKINPROGRESS)
break;
if((LONG)dwScanLine < rDstPri.top || (LONG)dwScanLine > rDstPri.bottom)
break;
}
// blt video pic on primary
Ah, and I have no idea how to do it with dx9, it has one singe call (Present) to show the backbuffer, no blting needed. I think MS wanted to make sure vsync can't be controlled from the app, but from outside. (Or I am totally wrong now :))
edit: rereading your post, I have a feeling that you want to know when a picture is blted and not just the scanline's position... Well, this looks impossible to me.
ogo
31st January 2003, 01:11
edit: rereading your post, I have a feeling that you want to know when a picture is blted and not just the scanline's position... Well, this looks impossible to me.
Yes that's more what i need. Knowing exactly when is drawn each frame by the video renderer. I know very well the scanline stuff, but it's useless in this case :)
I don't think you could access any directdraw functions of the video renderer and putting a filter before the renderer is a very bad idea, you couldn't find out anything from the rendering time anyway.
Why do u think it is a bad idea ? it would give me a close estimation of when each frame will draw ... But it's difficult (renderers can have multiple input pins, etc...). I would like to make the test, but i'm not sure i can force the graph to always put my "null" filter in front of the video renderer. Anyway i can make a test by manually inserting a filter in graphedit !
Another very very dirty way would involve some real hacking. If the MS video renderers are based on some CBaseRenderer classes of the SDK (i'm not sure they really are), i could manage to extract some information from them knowing their address ...
ogo
31st January 2003, 01:18
BTW, scanlines do not exactly match Y positions on screen. You can not really compare a position of a window with a scanline.
I'm not sure you saw my response about tearing with MPC with VMR7, but it's not fixed by your last MPC version.
oddball
31st January 2003, 04:02
I have two audio streams enabled when Reclock is not used on divx/xvid dual audio files. When Reclock is used the ability to switch to one or other tracks becomes disabled (greyed out). The 2 instances of Reclock show up but there does not appear to be a way of turning either off so both audio streams are played at the same time (Whereas when Reclock is not loaded as a filter you can select either audio stream).
This is in Zoomplayer 3 b5.5 BTW. I also tried WMP and BSplayer with similar results.
gabest
31st January 2003, 13:10
Why do u think it is a bad idea ?Format changes. They can arrive from both directions, from the decoder or the renderer, not easy to handle. Or there are mpeg2 decoders which are better to be connected directly to the renderer to allow hw acceleration.
BTW, scanlines do not exactly match Y positions on screen. You can not really compare a position of a window with a scanline.This is how vsync was implemented in dx7 sdk, any better idea?
Chibi Jasmin
3rd February 2003, 20:51
Originally posted by ogo
@Chibi Jasmin: maybe you could do the "MPC + VMR7" test (with an old version of MPC) and if you get the tearing, just check if the tearing stays in sync with vertical sync ?
I reported that DVDMax didn't seem to like VMR7 renderer...by accident I today discovered it is something else...if I set MPC to use VMR7 my tv output is screwed...if I set MPC to use System default it actually uses VMR7 (also reported by ReClock) and TV picture is fine. There must be something screwed with forcing VMR7 in MPC.
I will do the VSync tearing test, as soon as I find the time...please let me know any version number of MPC that has this tearing problem with VMR7 for sure!
jwexqm
4th February 2003, 02:41
ogo: I've collected a ReClock log generated at 25Hz progressive here (http://www.jwexqm.vispa.com/reclock_log_25hz_non-interlaced.html).
I have a friend who owns a Dell Inspiron laptop that is fitted with an ATI Mobility Radeon 7500c. I asked him if he'd mind installing PowerStrip to discover if his chipset supports composite sync and interlaced modes and it turns out that it does. I suspect yours will support it too.
This makes sense really as I am aware of a few people on AVSforum who are using composite sync on desktop versions of the 7500. I can vouch that my old 8500 and my new 9700 both offer these features too.
I have put up a basic page which details the VGA to RGB SCART direct drive cable here (http://www.jwexqm.vispa.com/vga_rgbscart.html).
Please do be careful though as I'm sure that 75Hz progressive VGA straight into a TV's SCART socket could be damaging!
I really do think it would be fantastic though if ReClock could support interlaced display modes, particularly as this SCART arrangement looks promising.
James
((( atom )))
4th February 2003, 03:28
james -nice one, thx a lot!
also you get my personal 5-star to be the first guy who thinks of writing [solder side] to an image where it belongs.
* * * * *
[EDIT] i would actually suggest to open a new thread on this one, since i can image there might be quite some people interrested in this goodie and they might not even find it hidden in this thread here..
ogo
4th February 2003, 11:46
jwexqm> Very interesting stuff. My laptop use a M6 mobility chipset.
M6 drivers are never up to date, but i can use the latest catalyst drivers by tweaking the INI files of the setup and telling them my card is a radeon 7500. So my chipset must be very close to a Radeon 7500.
I now understand why 50hz interlaced is useful :)
I will make a cable at the end of the week and test that setup with my laptop and an old TV set. If all goes well i will be able to see if i can modify reclock to detect and use interlaced mode. Looking at your logfile, i already see it detects horizontal frequency correctly. That's promising
My only concern with this cable is impedance. Is the VGA connector designed to be loaded at 75ohms ?
BlackSun
4th February 2003, 12:19
Originally posted by gabest
By rebuilding everything from the avi splitter, one path each time. It is also a way, but I think with the audio switcher it is better for two reasons: 1. switching is faster, 2. I could put the 44.1khz resampler, channel mapper and audio time offset features in the filter.options/audio/enable audio switcher, and this should be on by default :P
Yeah I'm reconnecting the Pins manually from the AVI splitter, and re-rendering the pin. It's fast but actually work only with audio streams having the same decoder.
Btw there is no buffer in Reclock ? When I launch Mozilla for example the renderer stop for a few seconds while mozilla is loading.
Chibi Jasmin
4th February 2003, 18:24
@ogo: Now I got MPC to render with VMR7 I still fail to reproduce the tearing bug...which mpc version has the bug for sure?
gabest
4th February 2003, 18:37
All except this last posted here. But I'm not sure that fix worked since ogg said he could still see it.
Chibi Jasmin
4th February 2003, 19:40
Originally posted by gabest
All except this last posted here. But I'm not sure that fix worked since ogg said he could still see it.
Strange, I failed to reproduce the bug...well, I'll try again later...btw: please have a look into the option forcing vmr7 renderer...it gives green garbage on dvdmax output, while system default also uses vmr 7 and works on tv...
BTW: How can I set, which renderer (audio and/or video) is my system default?
gabest
4th February 2003, 19:58
When vmr7 is used through "system default" then it runs in overlay (vmr9 won't run in overlay anyhow), but that mode can't be used for subtitling and so full screen overlay mirroring on tv-out won't work either.
Chibi Jasmin
5th February 2003, 11:14
Originally posted by gabest
When vmr7 is used through "system default" then it runs in overlay (vmr9 won't run in overlay anyhow), but that mode can't be used for subtitling and so full screen overlay mirroring on tv-out won't work either.
I see...that's why it works with DVDMax output then...does the tearing bug also occur, when vmr7 is run through system default using overlay?
ogo
5th February 2003, 11:57
no tearing with VMR7 through "default renderer" on my system (using a geforce 3)
Chibi Jasmin
6th February 2003, 10:49
Originally posted by ogo
no tearing with VMR7 through "default renderer" on my system (using a geforce 3)
So I guess, I just can't use this as a test, if TV clock on Matrox is totally correct or not...any other ideas?
BigT
6th February 2003, 22:19
@BigT : why is it the case ? I don't understand why putting a display in primary mode would give bad quality. Matrox is doing bad work here
Sorry, i have not had a look at this thread forsome time i fear :(
My guess is that DVDMAX simply uses a lower custom resolution. Another poster (jwexqm) suggested to use powerstrip in order to enable such modes without the need for DVDMAX. Personnally i prefer to keep a 1024*768 windows desktop on my TV and switch to DVDMAX when needed (with video). I have just coded a very simple application that allows to enable/disable DVDMAX manually today by the way rather than Matrox's "automatic DVDMAX" when overlay is detected (in case someone else is interested). It requires Borland C++ runtime libraries though.
((( atom )))
7th February 2003, 01:48
i have a strange issue here: reclock doesn't apply to avis anymore. when playing mpeg-files, it loads, though..
i tried reinstalling/reregistring it, but that doesn't help it.
has anybody had this happen before?
Chibi Jasmin
7th February 2003, 11:38
Originally posted by BigT
Sorry, i have not had a look at this thread forsome time i fear :(
My guess is that DVDMAX simply uses a lower custom resolution. Another poster (jwexqm) suggested to use powerstrip in order to enable such modes without the need for DVDMAX. Personnally i prefer to keep a 1024*768 windows desktop on my TV and switch to DVDMAX when needed (with video). I have just coded a very simple application that allows to enable/disable DVDMAX manually today by the way rather than Matrox's "automatic DVDMAX" when overlay is detected (in case someone else is interested). It requires Borland C++ runtime libraries though.
DVDMax uses 720x576/480 (PAL/NTSC) resolution...
What exactly does your little app do? You can enable/disable DVDMax in the Display Properties...I don't need an app for that...or did I get something wrong...
Maybe it can display something else than overlay content on the TV?
BigT
7th February 2003, 13:11
I have the HTPC connected to a TV only without monitor which is not what you do if i understood correctly. In your case DVDMAX is probably not nearly as annoying as here.
In clear: In order to use DVDMAX one has to check it in the Dualhead properties. The only problem is that it activates itself automatically when overlay is detected. Let's take the example of a TVTuner application for example. You start it and Matrox's software switches to DVDMAX automatically preventing you to switch channels until you switch back to your desktop (as i said i have no monitor; just TV).
What i did was getting rid of the automatic behaviour. Basically you enable DVDMAX "when you want" or disable it respectively. Since you have a monitor connected to the G400 you probably have no use for this (for other people like me the original behaviour of DVDMAX is disturbing as i said). The way this works is not exactly rocket science either. Source code is not even 2kB.
Chibi Jasmin
7th February 2003, 14:43
Originally posted by BigT
I have the HTPC connected to a TV only without monitor which is not what you do if i understood correctly. In your case DVDMAX is probably not nearly as annoying as here.
In clear: In order to use DVDMAX one has to check it in the Dualhead properties. The only problem is that it activates itself automatically when overlay is detected. Let's take the example of a TVTuner application for example. You start it and Matrox's software switches to DVDMAX automatically preventing you to switch channels until you switch back to your desktop (as i said i have no monitor; just TV).
What i did was getting rid of the automatic behaviour. Basically you enable DVDMAX "when you want" or disable it respectively. Since you have a monitor connected to the G400 you probably have no use for this (for other people like me the original behaviour of DVDMAX is disturbing as i said). The way this works is not exactly rocket science either. Source code is not even 2kB.
Ah, I see...so I don't need your app then, but thanx for the explanation...
Chibi Jasmin
8th February 2003, 17:50
Originally posted by oddball
BIGASS BUG REPORT
When you play an avi/ogm with dual audio it loads Reclock twice and plays back both audio streams at the same time. In Zoomplayer you also are unable to select the audio track you wish to take priority while Reclock is doing it (Greyed out option). You have to disable Reclock entirely by unregistering it to be able to play such files correctly.
I encountered the same problem here...didn't play a dual audio avi for a long time, I guess... :)
ZoomPlayer can't switch and The Core Media Player and MPC seems to crahs sometimes on these files, but can switch...
Grimmi Meloni
10th February 2003, 00:02
Hi Ogo,
Iīm having trouble using reclock. The sound does not work. First I thought itīs because Iīm nailed down on waveout (my SPDIF does not work via Direct Sound), but I saw somewhere in the changelog that itīs ought to work. Reclock Properties show correct values during playback, but itīs all just silence I get. Iīve checked the Log, and found something.
1.73s 0000bc CreateAudioBuffer()
1.73s 0000bc Getting reg key WaveDevice = 1
1.74s 0000bc waveOutOpen result=32 tries=1 Dieses Format wird nicht unterstützt oder kann nicht übersetzt werden. Benutzen Sie die Funktion 'Capabilities', um die unterstützten Formate zu ermitteln.
1.74s 0000bc waveOutOpen result=32 tries=2 Dieses Format wird nicht unterstützt oder kann nicht übersetzt werden. Benutzen Sie die Funktion 'Capabilities', um die unterstützten Formate zu ermitteln.
1.75s 0000bc waveOutOpen result=32 tries=3 Dieses Format wird nicht unterstützt oder kann nicht übersetzt werden. Benutzen Sie die Funktion 'Capabilities', um die unterstützten Formate zu ermitteln.
1.75s 0000bc waveOutOpen result=32 tries=4 Dieses Format wird nicht unterstützt oder kann nicht übersetzt werden. Benutzen Sie die Funktion 'Capabilities', um die unterstützten Formate zu ermitteln.
The german message means: "This format is not supported or cannot be translated. Use function "Capabilities" to determine supported formats."
Any idea whatīs this all about?
Thanks for your support.
downloada
11th February 2003, 17:06
hi,
i really like reclock, thanks ogo for creating it!
but i have a problem with multi-audio-files, too. the sound of both audio-streams is played back at the same time. oh, and i do have morgan stream switcher, but it isn't in the graph anymore when i enable reclock. the graph with reclock looks completely different (viewed with graphedit).
reclock disabled: audio goes from avi stream01 and stream02 to two mp3-decoders (haven't tried with dual-ac3 yet) then to morgan and finally to the audio renderer.
but with reclock enabled: audio goes to the mp3-decoders and gets to reclock directly without passing through morgan, so reclock is in the graph twice.
i think you could implement an easy, quick'n'dirty workaround: just let the user mute the audio in the filter-properties of the decoding-filters. this isn't too comfortable for the user, but it'll surely work (at least for mp3, don't know if it would work for ac3-passthrough) until you found a better solution.
btw: why is morgan being excluded from the graph if reclock is enabled? anyone got information on that?
edit: i just tried to insert morgan into the graph with reclock manually, but it doesn't work. zoomplayer says: "unable to create filters for: ... this may be due to a corrupt file or missing decode filters."
cu
gabest
11th February 2003, 17:42
ogo: After playing a dvd with the latest reclock I get 21 unreleased objects, even with the old mpc6405. The used filters were cyberlink mpeg2 and ac3filter.
ogo
13th February 2003, 10:18
@Grimmi Meloni:
Yes reclock have some problems in SPDIF mode with some sound cards (terratec, c-media). I have no clue what the problem is. Seems like there is something to do to properly "activate" SPDIF, but i found no documentation about this. You can try to use directsound for SPDIF (see config app) instead of waveout, maybe you will have better luck
@downloada:
Yes morgan stream switcher does not load with reclock. I may be wrong but i think it was designed to work only with the standard renderers. You can use MPC with it's builtin audio switcher, but you will need version 6.4.2.2 or later which is not yet publicly available (gabest ?). However in next version of reclock i've included a "mute sound" button as a "cheap" stream switcher ...
@gabest:
Yes i saw this too when playing DVD. It's related to events scheduled by the reference clock if i remember well. I've not yet looked into this :)
Anyway next version of reclock should be available tonight or tomorrow :)
gabest
13th February 2003, 16:09
Originally posted by ogo
You can use MPC with it's builtin audio switcher, but you will need version 6.4.2.2 or later which is not yet publicly available (gabest ?).Well, it is, one just have to visit its topic for the links :P
BigT
13th February 2003, 20:30
However in next version of reclock i've included a "mute sound" button as a "cheap" stream switcher ...
Well, there could be a very small problem for those who use larger fonts on their HTPC (TV screen). Simply put: all groupboxes do not fit on your form in my case. :P
By the way, previous versions of Reclock played BivX just fine (audio still switchable). When i re-read previous posts it looks as if people think that this is an old issue. In case i am wrong just don't consider what i said ;)
Chibi Jasmin
14th February 2003, 12:13
Well, I don't know, how this could be done, but I'd like to see this work without any extra mute button...
I never installed anything like Morgan Stream Switcher, I was just used to using players like ZoomPlayer and BSPlayer that can just switch Audio Streams. This worked all the time with DefaultDirectSound Device...would be nice to see it work the same way with ReClock...don't know, if this is ReClock's or the player's problem to solve...
downloada
14th February 2003, 16:56
hi,
thanx ogo! i'll try the new version as soon as it's out...
to your suggestion with mpc: i could surely use it on my workstation-machine, but on my htpc i wouldn't wanna miss the functions of zoomplayer for tv-out (like the anamorphic aspect ratio, it looks just like dvd when i use it, i've got a 16:9-tv), also, my remote control is configured for zp, so i don't really wanna change that.
a little ot: why hasn't anyone written a different kind of stream switcher? i mean: why should you want to implement the switcher after decoding the audio? i think it's more logical to put it BEFORE decoding the audio, especially on slower machines it would be more ressource-friendly.or is there something that would prevent such a kind of switcher?
if i had more programming experience, especially related to directshow, i would really want to code such a little piece of software...
cu
gabest
14th February 2003, 17:13
Originally posted by downloada
a little ot: why hasn't anyone written a different kind of stream switcher? i mean: why should you want to implement the switcher after decoding the audio? i think it's more logical to put it BEFORE decoding the audio, especially on slower machines it would be more ressource-friendly.or is there something that would prevent such a kind of switcher?This is easy to answer, different streams might need different decoders downstream. This is why ogm's splitter (switching inside the filter) is not very good if you want to put differently encoded audio streams in one file.
ogo
14th February 2003, 18:41
@downloada:
Yes i like the aspect ratio controls in Zoomplayer. That's the only reason i still use ZP on my 16:9 TV instead of MPC, hence my little feature request for Gabest because i prefer MPC :) Could you add a "free" aspect ratio mode in MPC ? I need it because my TV out is 720x576 and i put my 16:9 in "full screen" mode to use all the pixels, but it means display somethin in 4:3 on 16:9, so i would need the reverse aspect ratio in MPC (something that multiply the height by 1,33 when source aspect ratio is used)...
Anyway, version 0.99g of ReClock is out on my website ! When i'll reach 0.99z i'll be constrained to go to 1.0 :D Some changes, bugfixes, etc ... Not tested a lot (had little time this week). If someone knows how to make SPDIF work on c-media and terratec xfire cards with wave APIs, please contact me because i'm nearly giving up on this problem.
Happy St Valentine :)
gabest
14th February 2003, 18:51
Originally posted by ogo
[BCould you add a "free" aspect ratio mode in MPC ? I need it because my TV out is 720x576 and i put my 16:9 in "full screen" mode to use all the pixels, but it means display somethin in 4:3 on 16:9, so i would need the reverse aspect ratio in MPC (something that multiply the height by 1,33 when source aspect ratio is used)...[/B]/me is too dumb to understand this now :rolleyes: Sorry, I don't have a 16:9 tv and can't imagine what you mean. But in v6426 you can define your own pannscan presets now.
ogo
14th February 2003, 19:00
Re-reading my post, yes i confirm you i was not clear :) My bad english ...
((( atom )))
14th February 2003, 23:06
PROPS 2 OGO!
- i can use reclock now!
(thx to the mute-button..)
Safai
15th February 2003, 02:15
@gabest: since we're talking about aspect ratio here... when using the overlay mixer, the aspect ratio is always fixed to the original... i believe this is the function that you need to call to make it "resizable"...
IMixerPinConfig::SetAspectRatioMode(AM_ARMODE_NONE)
gabest
15th February 2003, 02:22
Thanks, I'm going to try it.
edit: The parameter was called AM_ARMODE_STRETCHED, but it worked great.
downloada
15th February 2003, 13:49
Originally posted by gabest
This is easy to answer, different streams might need different decoders downstream. This is why ogm's splitter (switching inside the filter) is not very good if you want to put differently encoded audio streams in one file.
thanks for clearing that up! i didn't think of that problem...
it would really be great, if the switcher was included directly into reclock (already requested it via email...), that would really make things easier (and you don't need to install/register a separate filter)...
cu
((( atom )))
15th February 2003, 23:22
sadly i have to report that the mute-button solution has a very annoying issue: when i watch a movie, that spans over two discs (mine all do) reclock defaults to playing both audio-streams when loading a new file. so i have to get up and mute one channel again :(
Chibi Jasmin
16th February 2003, 13:44
It still creates(!) a logfile, when logging is disabled...not needed I think...
And why does anybode need a separate stream switcher at all (morgan)...I repeat my question: DirectSound stream switching has been handled by the players for a long time now without any seperate stream switcher filter...why doesn't this work with ReClock? Player's or ReClock's fault?
Chibi Jasmin
18th February 2003, 22:11
The mute button is no solution for dual audio streams here, even if I mute a stream, it still plays (avi with ac3) with 'clickering' sound all the time...also ZoomPlayer crashes sometimes with dual audio files
oddball
19th February 2003, 11:17
I have a new problem with 99g. When playing back 25FPS with AC3 and SPDIF output the audio and video repeats itself every few seconds like it's got stuck in a sampling machine 'N-N-Nineteen' style.
I have to manually set to nearest integer to stop it.
Sumster
24th February 2003, 15:43
Oddball....
I have the same problem with 25fps PAL movies... with Reclock, it skips when using AC3 out. How did you correct the problem? No settings seem to alleviate it on my setup.
fortunately, I have very few 25fps clips....
Sumster
Ewi
24th February 2003, 16:34
Hi!
I have 15fps anime clips here. At the moment Reclock does no adaption when used with "Auto" Media Adaption ("No rate adaption can be made for this media..."). So I'm switching to PAL60 and switch to "Refresh Rate /4" in speed and its seems to adapt correctly.
So my question: is it possible to do this internally in "Auto" mode; i.e. if the refresh rate is a multiple of the media playback rate it is adapted to this factor, for example:
15 fps and PAL60/NTSC => Refresh Rate /4
20 fps and PAL60/NTSC => Refresh Rate /3
so a kind of more general way for rate adaption.
Thank you...
oddball
24th February 2003, 23:16
I set ReClock to nearest integer. Still glitches ehere and there slightly but does not do the repeated audio thing. Effectively by setting to anything other than auto the icon goes yellow.
RobScreene
25th February 2003, 11:49
Hi,
Is it possible to get the mode to default to "integer" or "original" as opposed to Auto?
If I set to original, then close and re-open my player, ReClock defaults back to Auto.
thanks and regards,
Rob.
eLupus
6th March 2003, 13:08
I have a problem with ReClock filter merit.
Even if i set ReClock's filter merit to 200001 = MERIT_DO_NOT_USE, Zoomplayer always load's the filter nomatter what custom audio device i set. This includes windows media player which also load's it at all time as soon as it is registered.
I wish to have the reclock filter registered, but only loaded when zoomplayer requests it.
I also have a problem with lockups if i try play SVCD's. I can still access the reclock filter through it's tray icon, but zoomplayer is completely locked. Only way is to kill it through taskmanager. I attatched my log, though i couldn't see anything weird it it.
Have you noticed these problems ogo?
Joakim Plate
Perplx
7th March 2003, 02:36
A feature I'd really like to see is a "save wav" or "disk writer" it really come in handy for windows media etc.
Loul
7th March 2003, 03:08
Hello !
I've been reading all this LLLLLLLLLOOOOOOONNNNNNNNNNGGGGGGGGG thread (long but still interesting at least for the parts I could get ;) ) and it made me think at a wish I have had in my diistorted mind.
I'm a kind of weirdo who thinks that it s most important to watch a movie as much as the director wanted it to.
So that's why I thought of one day planning to learn how to encode movies at 24 fps (to be honnest 23.976 FPS is considerated as ok for me but PAL 25 @ FPS ain't :) ).
Reclock or a modified version of it could solve this issue in a very elegant way without making it so complicated to encode (especially concerning the audio of course).
So is it possible with Reclock (or could it be possible) to force movies to be played at 24FPS ?
I guess that it could be on a PC Monitor (the idea would be also not to be forced to change its refresh rate though that could be an option if the end user wants it).
When it comes to TV, I don't know if 24 FPS is too far away from the usual 25 FPS for the TV to sync to.
I hope I was clear enough. Tell me if not !
And if there s no hope , well I can tell him to ogo in French as I'm French too ! :p
billou2k
7th March 2003, 10:15
does somoeone knows what's happenning to ogo by the way?
its been weeks since we last saw him
ogo
10th March 2003, 12:48
Hi guys :)
Well, ogo is working hard on the next version of ReClock !
I'm working on the last cause of stutter i know of : presentation of frames to the renderer during vertical sync. I've nearly managed to solve this problem with the implementation of another filter that sits just before the renderer in the graph. This filter is controlled by reclock and does some interesting stuff ...
This filter will add some interesting capabilities :
- you will be able to see "on screen" if reclock is doing its work correctly (this filter will shown you on the picture when VSYNC occurs). For people with multi-cards display, you will have the response if reclock is useful to you or not.
- this filter is able to correct the frame presentation/vsync problem.
From initial testing, it is promising, but i have a lot of trouble to make this little filter work with DVD mode. Maybe a specialist of DirectShow could help me, because i don't find many help on newsgroup and/or google. My filter derives from CTransInPlace, and i have problem with format changes that occurs during playback with the MPEG2 decoder and the renderer (VMR7/9 or Overlay mixer). I detect correctly format change in my Transform() function, but i'm not able to propagate them correctly downstream or upstream. For example when the MPEG2 decoder switch from NTSC to PAL, the renderer is not notified, and then display garbled pictures.
Maybe Gabest you could help me there ? I saw you post some help on microsoft directx newsgroups :) I already spent 1 full day trying to solve that without success.
There is a microsoft page that speak of this here (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/queryacceptupstream.asp)
I also had some new ideas for AC3 which i have to implement ...
Also some other news : the author of ZoomPlayer told me that next beta of ZP will have an audio switcher compatible with reclock. It will solve some problems :)
So it may be a few weeks until next version :)
ogo
10th March 2003, 12:52
Loul>To respond you question Loul. If you want to play movies at the right speed, simply set you monitor refresh rate to a multiple of 24hz (72hz for example), and then when you will play of 23,976 movie, reclock will make it run at 24 fps. If you play a 25fps movie, simply force it to 24fps in the media adaptation tab, on you're done :)
Ewi>Good idea, i'll try to implement that in next version (something more universal)
Chibi Jasmin
10th March 2003, 14:07
Originally posted by ogo
- you will be able to see "on screen" if reclock is doing its work correctly (this filter will shown you on the picture when VSYNC occurs). For people with multi-cards display, you will have the response if reclock is useful to you or not.
This absolutely rocks! And of course your other ideas are also more than welcome...I love ReClock!
gabest
10th March 2003, 14:25
Hm-hm, what should I say about the video filter... I think I have already said it wasn't a good idea :) The less important prob with it that you are copying the pic +1 time and mpeg2 decoders can't use hw accel on the renderer, the more important is that a video transform filter (forget transinplace, it prooved to be useless in many discussions) is the only filter which has to handle dynamic format changes from both directions, which brings a lot of problems and some of them are _impossible_ to solve because of the nature of dshow filters.
Let's start with the easier one, when the old renderer wants to change between yuv and rgb or wants to change the pitch of the images. After getting a buffer from the renderer and Receive calls your Transform function, the sample will have a new media type attached to it to signal that the format (and also the size of the buffer!) has changed. This can already be a major pain if the upstream filter doesn't offer such a format and you have to color convert it, considering the number of format-format pairs, this seems impossible to handle (don't even try this approach :)). So, what can be done then? You can't attach this new media type on the sample requested upstream because you have no control over that allocator. The solution is of course to create and use your own allocator! When the downstream format changes at Transform, skip that frame and notify the upstream allocator to return the next sample with the new media type (format change can often make the decoder show blackness till the next keyframe) and also to recommit its buffers when they are smaller than needed. There is only one problem left, what to do when the renderer wants to switch into a format not available upstream. One would think that simply passing the available types from upstream to downstream in GetMediaType is enough, but it's not! There are cases when a decoder says it will decode to format x and when giving them a sample with media type x attached they just don't accept it. For example avi decompressor likes to offer all commonly used formats and only switch to one of them when the wrapped vfw codec can decompress to it, most older vfw codecs are "rgb-only". Then there is the divx5 decoder, it has some confusing label (extended overlay or something) in its options, but it is simply for disabling anything else than yv12, though it still offers all formats on its output when enumerated. The solution to this prob is to call upstream pin's QueryAccept from your own output's QueryAccept, but some lazy filters or renderers could just attach a new media type on the next sample without asking, rule one: "trust no filters" :P.
Case, number 2. the upstream filter wants to change the format (dvd switching 480/576 lines is the most common case). There is one major problem with this, not all renderer is smart enough to do it... The old gdi/ddraw renderer is completly dumb, can't do anything, overlay mixer is so-so, but I couldn't perform a change with it flawlessly so far, vmr7/9 are the most flexible, unfortunately you can't expect that they will be the renderer all the time... So, the new media type arrives on the input sample and you notice that. If there was a type change in the other direction too, well, then hm, hm-hm, let's just die then :P, if there wasn't we need to request a new sample from downstream which format matches so we can copy the frame on it. There could be several samples checked out and waiting to be rendered (double/tripple buffering is a good idea), so call BeginFlush/EndFlush first on the renderer's input, this will make them released. Next step is to recommit the renderer's alloctor to inform it about our possibly larger image buffer needs. Then call GetBuffer again (the first one was hidden inside the baseclasses' Receive) to get a new sample, copy the pic and attach the new media type. If you are lucky the renderer will accept it and not show garbage on the screen... To make sure it will accept it one could use QueryAccept or DynamicQueryAccept again on the render's input pin, BUT the return codes are varying on a wide range depending on the renderer and some of them will even change the format by just calling QueryAccept! I wish they had found out a better way to do these dynamic format changes, but now it is too late... Oh, I almost forgot, some filters try to call ReceiveConnection with the new type instead of attaching it on the sample, which can fail transparently to you in the baseclasses if you didn't set CBasePin::m_bCanReconnectWhenActive to TRUE. I hope I didn't leave out anything, that's all for now.
p.s. Something completly else, do you happen to use MediaDet from reclock? I've got a few unreleased object because of it, rare but happens. MediaDet is a poor solution, this is making those undeletable avi files in explorer too.
ogo
10th March 2003, 15:22
Thanks a lot Gabest for your long and precise response !
I know you did tell me in the past not to add a filter before the renderer, but well i just add to try :) But i learn the hard way ...
At first i tried a "normal" transform filter, but it was not very pretty because of the buffer copy that take place. I thought an in-place filter does only some copies in rare cases. Am i wrong ?
I'll study your explanations carefully (well i don't understand everything for now). But just to reassure me, provided that my filter don't care at all about video formats, is it possible to make a completely "transparent" filter (like nullip -but working-) ? If not then my filter is useless. It's a pity because when there are no format change it does work great (with AVI files for example) ...
I'm not a specialist at all of directshow, but the more i use it the more it make me think of a big messy beast, full of workarounds, tricks, bugs, etc ... Well something not clean at all. In reclock i have to do horrible things like holding interfaces to other filters to achieve my goals ...
I work on .NET stuff at work. Even if .NET has a lot of bugs in the initial release, at least it's understandable, elegant, and pleasing to work with.
About mediadet, yes i use it. It's the only solution i have found to find the framerate of files (i use IDVDInfo2 for DVD). I don't know any other solution in DirectShow. Would you have any other idea ?
The only pointer release problem i know of is with scheduled events inside the reference clock. It happens sometime. Also Sonic DVD filters seem to fail to release reclock sometimes (maybe because of the reference clock). Maybe it's the same bug.
gabest
10th March 2003, 16:05
Originally posted by ogo
At first i tried a "normal" transform filter, but it was not very pretty because of the buffer copy that take place. I thought an in-place filter does only some copies in rare cases. Am i wrong ?The easiest would be to peek how it was implemented. The prob is that it takes the allocator management away from you and leaves no chance to do format changes correctly. You'll never know what's going on and why if you rely on the baseclasses too much.I'll study your explanations carefully (well i don't understand everything for now). But just to reassure me, provided that my filter don't care at all about video formats, is it possible to make a completely "transparent" filter (like nullip -but working-) ?Maybe there is a way, but I haven't found it yet :) I think there is a hope since MS was brave enough to put a DMO wrapper in wmp9 both in front of the video and audio renderers. But I don't have any video effect plugins installed to test it.If not then my filter is useless. It's a pity because when there are no format change it does work great (with AVI files for example) ...Btw, how do you put it into the graph? With a high merit or using reclock?I work on .NET stuff at work. Even if .NET has a lot of bugs in the initial release, at least it's understandable, elegant, and pleasing to work with.OT question: what's your opinion, why wasn't dshow ported to .net in dx9? I'm not into managed code too much, but for example can c# access memory from the outer world? If not it won't ever be worth writing filters in .net, moving in and out video buffers would be a bottleneck for sure.About mediadet, yes i use it. It's the only solution i have found to find the framerate of files (i use IDVDInfo2 for DVD). I don't know any other solution in DirectShow. Would you have any other idea ?With vob (cyberlink mpeg2/ac3filter) the whole mpeg2 splitter seems to be stucked, and with ogm I can see four MediaDetPin listed as unreleased. You could walk the graph and look for interfaces on filters and pins, and/or extract connection media types and see the avgtimeperframe member of videoinfoheader, it's not that hard at all.
ogo
10th March 2003, 16:55
The easiest would be to peek how it was implemented. The prob is that it takes the allocator management away from you and leaves no chance to do format changes correctly. You'll never know what's going on and why if you rely on the baseclasses too much.
Yes but it will take me ages to understand all this stuff ... It should be so simple to write a "do nothing" filter ...
Maybe there is a way, but I haven't found it yet I think there is a hope since MS was brave enough to put a DMO wrapper in wmp9 both in front of the video and audio renderers. But I don't have any video effect plugins installed to test it.
I don't have any video effect filter neither. Maybe it would be the way to go ?
Btw, how do you put it into the graph? With a high merit or using reclock?
Well, the dirty way ... Once reclock reach CompleteConnect, i add my filter to the graph in front of the overlay mixer, vmr7 or vmr9, or bsplayer internal renderer. If connection fails, i restore the graph. At least it seems like doing it this way works fine, and i can control the stuff (if reclock is not in a graph nothing harmfull will be done).
OT question: what's your opinion, why wasn't dshow ported to .net in dx9? I'm not into managed code too much, but for example can c# access memory from the outer world? If not it won't ever be worth writing filters in .net, moving in and out video buffers would be a bottleneck for sure.
My work on .NET is very far away from directshow and has nothing to do with video. Managed code can share data across threads, and i don't think performance would suffer so much. Why ? in C++ you have to think 90% of the time if you copy data or reference existing data with pointers, and at the end you end up why a lot of data copying because of allocations/free problems (who owns the data, etc ...). Not really completely trues with COM anyway ...
In .NET 99% of manipulated objects are references, but copies are easy to involve if you don't know what the framework does with your objects. That's why many people think .NET is slow : they tried a 10 lines badly written sample ...
Anyway the garbage collector can be a serious problem : it will take cpu time each time it's triggered ... Maybe it's THE main problem
Just my 2 cents :)
With vob (cyberlink mpeg2/ac3filter) the whole mpeg2 splitter seems to be stucked, and with ogm I can see four MediaDetPin listed as unreleased. You could walk the graph and look for interfaces on filters and pins, and/or extract connection media types and see the avgtimeperframe member of videoinfoheader, it's not that hard at all.
You mean by querying the input pin of the video renderer with ConnectionMediaType() thus obtaining VIDEOINFOHEADER or VIDEOINFOHEADER2 ? I figured out only yesterday it was possible while writing my transform filter ! The only problem is that i would like to know the framerate before the graph filter is run. have to try that anyway ...
gabest
10th March 2003, 17:35
Originally posted by ogo
I don't have any video effect filter neither. Maybe it would be the way to go ?DMO's are transform filters usable outside the filter graph too, you could try to create one and use the stable-looking DMO wrapper, but I'm not sure how it handles format changes. If it does then probably does it better than you would now :)Well, the dirty way ... Once reclock reach CompleteConnect, i add my filter to the graph in front of the overlay mixer, vmr7 or vmr9, or bsplayer internal renderer. In the past I noticed that win2k renders avi splitter's pins in reverse order, that can be a problem for you unless it was fixed :P... Managed code can share data across threads, and i don't think performance would suffer so much. ...I didn't mean this. Think of a filter running in the virtual machine and the filter graph and other filters on the real, will they see eachothers media samples or does the memory have to be copied by the framework somehow back and forth?
(I liked COMs refcounting and expected something similar in .net too, just without the needed work to implement CUnknown and things making it fool-proof...)You mean by querying the input pin of the video renderer with ConnectionMediaType() thus obtaining VIDEOINFOHEADER or VIDEOINFOHEADER2 ?Yea, and looking for IDvdInfo2 on the dvd nav too.The only problem is that i would like to know the framerate before the graph filter is run. have to try that anyway ... The media types are set before running the graph, though some filters are not filling out avgtimeperframe... but then mediadet will not succeed as well.
ogo
11th March 2003, 10:14
DMO's are transform filters usable outside the filter graph too, you could try to create one and use the stable-looking DMO wrapper, but I'm not sure how it handles format changes. If it does then probably does it better than you would now
Tried it with no luck with a video filter effect i found. Conncetion is ok, but the graph doesn't event start.
In the past I noticed that win2k renders avi splitter's pins in reverse order, that can be a problem for you unless it was fixed :P
Funny ... But CompleteConnect() is the last code i know is called before a possible Run() of the filter. Well anyway missing the intermediate filter creation is not really a problem. Reclock can work fine without it.
I didn't mean this. Think of a filter running in the virtual machine and the filter graph and other filters on the real, will they see eachothers media samples or does the memory have to be copied by the framework somehow back and forth?
Ok, if you mean mixing filters in managed and unmanaged code, well there you have a problem. It would imply a lot of copying because of .net structures management (some marshalling/unmarshalling stuff is necessary and it means copying)
Yea, and looking for IDvdInfo2 on the dvd nav too.
I already use IDvdInfo2. I tried querying the input pin of the video renderer with ConnectionMediaType(), but get only 0 in AvgTimePerFrame (even during playback). Tried with many file formats without success. I also tried get_AvgTimePerFrame() on the IBasicVideo interface without success. I'll try walking all the graph and see other pins and see if it work. Strangely, mediadet works fine in any case on my XP machine anyway, but you're not the only one to have problems with it.
:)
kallekill
11th March 2003, 13:56
I watch about 1 movie everyday so I'm quite the serious beta tester of Reclock :). I have found two problems, and what I understand of the above post you are trying to correct at least the first one. The problems I have are:
1. Reclock is sensitive to flukes in the movie. Movies that have bad frames or are badly IVTC'd (And many have at some point or another although you might not notice it because the frame isn't moving much) often fall out of sync. The picture that is. It starts to stutter and you have to pause/play to get it in sync again.
2. Audio falls out of sync in some movies. I have only encountered it with MPEG1 files. I seldom watch mpeg1 files and when I do it is Simpsons and sync problems arent that hard to spot. I recently watched an episode of 24 and noticed that at some parts it seems as if there were dropped frames during the capture. At these points the audio falls out of sync and you can watch the audio sync go to about 500 ms in reclock. It slowly moves back to sync and ~10 seconds later it is fine again. If I play the clip without Reclock, the audio stays in sync and you only see a slight stutter were the frames are dropped. This also happens sometimes at the parts were they cut out the commercials.
Ogo, if you need I can send you a clip to help you troubleshoot the problem if you aren't already aware of it.
ogo
11th March 2003, 17:18
Yes this problem was reported to me by some persons, but i didn't see it myself. So i'm very interested by a little clip (<= 20MB) if it's possible for you, and some indications that tell me where the desync occurs :)
I have also been told that latest version (99g) was showing more this problem than version 99f ... Did you see that ?
kallekill
11th March 2003, 22:10
Do you mean the problem with audio desync or the refresh rate falling out of sync?
kallekill
11th March 2003, 22:46
I haven't noticed the problem with audio getting out of sync before so it could have something to do with the latest version, but I don't watch mpeg1 movies that much so I can't really say.
ogo
12th March 2003, 10:13
Do you mean the problem with audio desync or the refresh rate falling out of sync?
I was meaning problem 2 :)
kallekill
12th March 2003, 11:04
Do you have an ftp or something I can upload it to? I tried sending you the file by mail but the mail bounced. The clip is 14 MB. Maybe we can take it over irc.
ogo
12th March 2003, 14:22
@kallekill: i'm available after 7PM GMT. Is it possible for you ? Please send me an email with your ICQ number.
@Gabest : i'm still struggling to get this filter s... working. I found this on MSDN. Do you agree with what is said there ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/DynFormat.asp
gabest
12th March 2003, 15:16
Originally posted by ogo
@Gabest : i'm still struggling to get this filter s... working. I found this on MSDN. Do you agree with what is said there ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/DynFormat.asp Yea, this is the only explaination of format changes, but as I see they are extending it a bit every time I go there :P What do you not understand there?
ogo
12th March 2003, 16:02
From what i understood :
1 - if i don't want a sample copy to take place (i add only the OSD i want to put on the picture), both my pins muse share the same allocator
2 - for downstream->upstream format changes the allocator must be given by the downstream filter (ie renderer) if i want to be able to receive format changes from the renderer. It means i must use one allocator and this allocator is the renderer's one. It should also mean that all filters that connected to a renderer use the renderer's allocator.
3 - QueryAccept must be crossed between in<->out
4 - for upstream->downstream format changes, i have nothing special to do, because they are attached to the sample. I just have to pass them downstream.
5 - they say in microsoft doc, that the sample buffer size should not increase with a downstream format change, so i should'nt have to worry about this
From what i have seen, 1/2/3 are ok in the default trans-ip implementation, but 4 does not work (i see downstream format changes in the sample, but the renderer does not take them in account). I don't understand why at all.
Also, i see the renderer changing the width of the video on its input pin (maybe changing the stride?), but again my upstream filter does not see it. Could it be a problem of "how many time is called GetBuffer() on the renderer's allocator" (called 2 times instead of one thus losing the change ?)
Maybe the best solution for me would be to rewrite completely CTransInPlace to understand it exactly.
gabest
12th March 2003, 17:06
1. yep, just never read that buffer, because its speed you can call it "write-only" :)
2., 3. must be true, has to be tried.
4., 5. msdn writes up->down changes must not change the buffer size, but if you follow that advice how to change from 480 to 576 lines? mpeg2 decoders can do it somehow, and I think they do it either by calling receiveconnection (even if you have an inplace filter, this call will be on your input pin and not transparently forwarded) OR manually flushing the checked out samples, recommiting the allocator of the renderer and attaching the new media type (which I tried and worked with vmr7/9, but not very well with the overlay mixer, and not at all with the old one). Both methods are used by ac3 decoders and audio renderers have no problem doing format changes on-the-fly (they never ask back for up<-down changes though, and I think video renderers shouldn't either), I know this because in my audio switcher I have to forward them.
oddball
12th March 2003, 17:22
When trying to play DiVX5.03 encoded AVI's with any player but it's own included player. The players crash. If I uninstall ReClock they play fine. Can repeat. I have the same problem with DiVXG400 installed. DiVX5.03 does not like either of these filters for some reason. It does not do this when using ffdshow to playback DiVX5.03 encoded AVI's but I get green and purple smearing in ffdshow so it's not a good option.
kallekill
12th March 2003, 20:12
Oddball: Which IDTC to you use in ffdshow? Switching it to Xvid might help. It helps on xvids that get green smears otherwise.
ogo
13th March 2003, 09:22
@oddball. I'll check that. Didn't have any problem here with divx 5.03 playing everything i could. Could you send me a little cut of your file by email ?
klaro
13th March 2003, 10:26
ogo, i use reclock for dvd-playback and 0.99g works really great. unfortunately i have some trouble with hdtv-playback. using zoomplayer with a custom graph (elecard demux, sonic audio + video filter, reclock as audio renderer). i try to playback hdtv-mpeg-files from my hd at 48 hz refresh rate. the hdtv-mpeg definitely has 23.976 fps, reclock on the other hand detects 30 fps and wants me to change to a multiple of 60 hz.
why does reclock detect 30fps? where does this information come from?
greetings
klaus
oddball
13th March 2003, 20:08
kallehil: If I playback DiVX5.03 encoded videos with ffdshow I get green and purple smears (ANy version of ffdshow) and ReClock and DiVXG400 do not crash the player. If I set ffdshow to playback DiVX5.03 encoded video (With any version of Xvid installed. Tried Nics and Koepi's various builds etc) I get 'White' and purple smearing.
If I try to playback DiVX5.03 encoded video using DiVX5.03's filter and ffdshow not in the filter chain whatsoever (disabled for DiVX5.03 playback) with either ReClock or DiVXG400 installed. All the players crash 90% of the time.
The only exception being the DiVX5.03 player itself but it jerks like crazy with DiVXG400 installed and DiVXG400 does not appear to even load. With DiVXG400 uninstalled DiVX5.03's player plays back smoothly (I know it's not ReClock specific but it lets you know what probelms I am experiencing).
ReClock also does not load when playing back in DiVX5.03's own player.
So there you have it. ReClock (Or DiVXG400) plus DiVX5.03 as a playback filter = crashed players (Excepting it's own player).
ffdshow = no crashes but smears in normal mode or Xvid playback mode.
I've copied via direct stream copy 2 very small clips from the problematic AVI's. Please check that A. You can play them back via ffdshow without smearing occuring and B. can play them back with a player like Zoom Player or BSplayer etc using DiVX5.03 filter and ReClock 99g installed without the player crashing (No ffdshow).
http://www.maunders.com/clip1.avi a little over 1 meg
http://www.maunders.com/clip2.avi a little over 2 meg
Thanks.
kallekill
13th March 2003, 23:06
I played it with ffdshow and got the green smearing effect. I didn't play it with divx 5 because I don't want to install it. I have only had problems with divx above 3.11.
ogo
14th March 2003, 00:26
ffdshow gives me purple colors with clip2. clip1 seemed ok
no problems with divx 5.0.3 pro + reclock with both clips in whatever player i tried (MPC, ZP, WMP) ...
hope this helps !
ogo
15th March 2003, 18:11
Hi,
The next version of ReClock (0.99h, and still some room until Z :)) is available on my website.
It has some interesting new features ...
@kallekill : and it corrects your problem
OGO
kallekill
16th March 2003, 00:41
I'm sorry to say it but I still got desyncted refreshrate, even if I enable the VSYNC monitor and run a clip that Reclock can sync the refreshrate to. I have a short clip that falls out of sync every time at a certain point. Ogo, I can send the clip to you so that you see what I mean. By the way, Media Player 6.4 doesn't like the VSYNC monitor at all. It crashes when opening a movie.
ogo
16th March 2003, 01:17
That's why i said it's experimental :D
Yes please send me your clip !
Chibi Jasmin
16th March 2003, 14:23
Originally posted by ogo
Hi,
The next version of ReClock (0.99h, and still some room until Z :)) is available on my website.
It has some interesting new features ...
@kallekill : and it corrects your problem
OGO
Hi there!
Great work with the VSync monitor...it works fine here with my G400 DH card, no vsync problems! [See UPDATE below, might have a few still]
But what I still don't get is how I can use that to determine, if my video playback on the TV is jerky (well, kind of micro-jerky, to the naked eye it's fine)...in my video window on the monitor the vsync dots stay close together as they should and the bar doesn't move too much [UPDATE not always, sometimes I have the bar moving around a bit and then go steady again for some time]...so fine so good...this image is sent to the TV and of course the bar and dots is exactly the same on the TV, but it's a copy of the monitor image...couldn't it still be, that the TV VSync is another than the monitor refresh rate? Or does that thing in the readme apply, that the TV adjust itself automatically to the VSync in a certain limited range...and apart from that, we still don't know, if the G400 internally syncs it's TV-clock to the (perfectly adjusted (thanx to Reclock)) monitor-clock...or did I miss something? I can tell you now, that ReClock syncs fine on my monitor...can I conclude somehow it also syncs fine on the TV on my card? If yes, how?
Dr_Colossus
17th March 2003, 05:17
I have a clip that doesn't play very well at all with the new version but plays fine with the old version, I tried remuxing it with avimux but I still get pauses. Here's a link to the clip (http://www.enel.ucalgary.ca/~brooks/clip.avi). This happens in any mode I choose.
ogo
17th March 2003, 10:35
@Dr_Colossus : you're right there is something wrong with this clip. I'll have a look into that and let you know. Thanks for your report. Please keep the file available a few days.
@Chibi Jasmin : i'm nearly sure the tv clock is the same as the clock used by the ramdac. To answer this question, i should add something like a "tearing test" into vsync monitor : in this test, i could display a fast continuous moving vertical bar across the video. If a different clock is used to display picture on tv, then you should see some tearing (the bar would be broken somewhere) because i believe parts of 2 frames would be displayed on the same time, or jerky movement of the bar.
@kallekill : I've not been able to crash WMP 6.4 with the vsync monitor. What OS/video card do you use ?
Anyway, as blight told me, new beta 6 of ZoomPlayer have an audio stream switcher that should work with reclock :D
cult
17th March 2003, 15:06
Ogo may I make a suggestion?Could you please place your site in your signature?
Ewi
17th March 2003, 18:36
But although the Vsync Bar is Jumping around with VMR9, the playback is much smoother for me under VMR 9 compared to VMR7. I tested it with Sumsters Godfather 3 clip (the one he posted a few weeks ago). Even if the VsyncBar is between the two limits, the height is rather small and the location of the bar is more or less stable, VMR7 is clearly disadvantaged.
MPC 6.4.3.1
WinXP
AthlonXP
Geforce2Ti
kallekill
17th March 2003, 19:26
I have a Geforce 4 Ti 4200 card running on Windows 2000 SP3.
Ogo, if you go online on icq I can send you the clip that always makes the picture fall out of sync at one point.
kallekill
17th March 2003, 19:33
MPEG1 files play just fine, but Divx-movies hangs Media Player 6.4 when enabling VSYNC MONITOR.
MPEG1 files makes MP 6.4 hang too. Sometimes it just takes a few seconds.
gabest
18th March 2003, 02:42
ogo: There is a new build of MPC posted in its topic (v6435). I changed the vsync code of vmr7 and the rm renderer, and now the jitter tests that karl lillevood has posted to somewhere are running flawlessly.
mazzo
18th March 2003, 10:52
1. ReClock doesn't work with my laptop, because the LCD seems to have a refresh rate fixed to 60 Hz.
2. When using a TV as monitor, the refresh rate is lowered to 50 Hz, which should be okay, but when I enable ReClock, the video will run like h..l, almost in double speed.
Do you have any suggestions?
Chibi Jasmin
18th March 2003, 12:34
Originally posted by ogo
@Chibi Jasmin : i'm nearly sure the tv clock is the same as the clock used by the ramdac. To answer this question, i should add something like a "tearing test" into vsync monitor : in this test, i could display a fast continuous moving vertical bar across the video. If a different clock is used to display picture on tv, then you should see some tearing (the bar would be broken somewhere) because i believe parts of 2 frames would be displayed on the same time, or jerky movement of the bar.
Adding this tearing thing would indeed be great, will you do it? PLEASE!
Chibi Jasmin
18th March 2003, 12:35
Originally posted by gabest
ogo: There is a new build of MPC posted in its topic (v6435). I changed the vsync code of vmr7 and the rm renderer, and now the jitter tests that karl lillevood has posted to somewhere are running flawlessly.
In its topic? Where would that be (if it's meant for the public), please?
gabest
18th March 2003, 18:43
Chibi Jasmin: It is under the players forum.
ogo: I've got another idea how to detect when the renderer receives a frame. Do you know delegating from .net? Why don't you hook onto IMemInputPin::Receive? Replacing function pointers is not nice, but it might just work.
ogo
18th March 2003, 19:28
@cult : done :)
@Chibi Jasmin: it's already done, i'll post it tonight on this URL (just for testing) : http://ogo.nerim.net/reclockfilter/setup_latest.exe
@gabest: i nearly gave up in my attempt to make the monitor work with DVD playback. Even worse some MPEG2 decoders simply refuse to connect to it because they don't know it (i suppose for anti piracy reasons). So it's not the way to go.
I thought replacing the allocator provided by the renderer by giving it mine (with NotifyAllocator), and calling back the original one, so i would be notified each time a new sample would appear. But you're idea seems much better (i could be notified AND overwrite the sample to add my little stuff). But how could i find and replace this pointer ? I can only obtain a COM interface to IMemInputPin. Overwriting the vtable ? I like that :devil:
ogo
18th March 2003, 19:28
@cult : done :)
@Chibi Jasmin: it's already done, i'll post it tonight on this URL (just for testing) : http://ogo.nerim.net/reclockfilter/setup_latest.exe
@gabest: i nearly gave up in my attempt to make the monitor work with DVD playback. Even worse some MPEG2 decoders simply refuse to connect to it because they don't know it (i suppose for anti piracy reasons). So it's not the way to go.
I thought replacing the allocator provided by the renderer by giving it mine (with NotifyAllocator), and calling back the original one, so i would be notified each time a new sample would appear. But you're idea seems much better (i could be notified AND overwrite the sample to add my little stuff). But how could i find and replace this pointer ? I can only obtain a COM interface to IMemInputPin. Overwriting the vtable ? I like that :devil:
mazzo
18th March 2003, 20:54
well, thanks, everybody ......
gabest
18th March 2003, 21:06
Originally posted by ogo
But how could i find and replace this pointer ? I can only obtain a COM interface to IMemInputPin. Overwriting the vtable ? I like that :devil: Once you have the interface pointer it is only the matter of tricky castings. At codeguru you can find ideas how to do it:
http://codeguru.earthweb.com/cpp_mfc/Delegates.html
http://codeguru.earthweb.com/cpp_mfc/DelegateInStandardC.html
ogo
18th March 2003, 21:13
@mazzo : sorry forgot you :)
>. ReClock doesn't work with my laptop, because the LCD seems to >have a refresh rate fixed to 60 Hz.
You have to live with it. 60 is not a good refresh rate for PAL. Just choose "refresh rate/2.5" in media adaptation.
>2. When using a TV as monitor, the refresh rate is lowered to 50 >Hz, which should be okay, but when I enable ReClock, the video will >run like h..l, almost in double speed.
Does reclock says "50hz" in the "video hardware" tab of the properties panel ? If yes what does reclock say in "media adaptation" tab ?
Dr_Colossus
19th March 2003, 01:37
The newest Reclock 0.99h and the newest AC3Filter 0.65b produce no sound. Reclock 0.99h + AC3Filter 0.63b = sound. Reclock 0.99g + AC3Filter 0.65b = sound. A strange bug.
cca
19th March 2003, 01:55
That's strange. Reclock 0.99h + AC3Filter 0.65b work just fine here. Is AC3Filter set to PCM 16 Bit output? Please check again.
ogo
19th March 2003, 12:33
@Gabest : Bingo ! :)
Modifying the vtable of the IMemInputPin* interface did the trick because all COM methods are virtual ! I can now intercept every call to IMemInputPin::Receive, i can even modify the sample to incrust my stuff in the frame, and detect format changes. For now i've just made an ugly prototype, but it already works fine will all the renderers and all decoders i tried (so it works with DVD). Only had problems with the internal renderer of BSPlayer (seems like i don't replace the good vtable entry).
And all of this with only 20 lines of code. It involve some patching directly in the code space using WriteProcessMemory(). Hope it will work fine on win98 :)
Me happy
Chibi Jasmin
19th March 2003, 13:09
Originally posted by gabest
Chibi Jasmin: It is under the players forum.
Thanx :)
Chibi Jasmin
19th March 2003, 13:26
Originally posted by ogo
[B@Chibi Jasmin: it's already done, i'll post it tonight on this URL (just for testing) : http://ogo.nerim.net/reclockfilter/setup_latest.exe
[/B]
I tested it! Man, this is perfect!
The tearing bar does not break up, not on monitor and not on TV. The VSync bar stays calm, always near the little dots and between the lines! (Well, sometimes when seeking it takes a moment to find it's way back between the lines :))
If the tearing test actually is reliable (I am not the one to judge that, what do you say?), that would mean, the TV-Clock and the Monitor-Clock is the same on my card and playback is fine! Am I right?
UPDATE
Although playback is fine and tearing bar does not break, I sometimes still have the vsync bar moving across the screen...this could be due to high (not too high, it's not even close to 100%) CPU usage and the time needed to decode a frame (seems to happen with high resolutions and/or high bitrate frames)? Just a guess...it's my impression...not sure...probably it's not ReClock's fault, in general the VSync system seems to work...only question is the validity of the tearing test...
cult
19th March 2003, 14:30
Thx Ogo
:cool:
ogo
19th March 2003, 14:58
If the tearing test actually is reliable (I am not the one to judge that, what do you say?), that would mean, the TV-Clock and the Monitor-Clock is the same on my card and playback is fine! Am I right?
For me it's reliable, if the bar moves without stutter, and is not breaked somewhere. Happy it does work for you !
Although playback is fine and tearing bar does not break, I sometimes still have the vsync bar moving across the screen...this could be due to high (not too high, it's not even close to 100%) CPU usage and the time needed to decode a frame (seems to happen with high resolutions and/or high bitrate frames)?
Yes it's quite sensitive to cpu load changes (scenes change for example). I have this too on my system. Thanks to the idea given by Gabest, next version of the monitor *should* be less sensitive and more precise, because it will be directly plugged inside the renderer.
I've not yet tested latest version of MPC (6435) but Gabest said he changed something in the code for vsync (maybe it's related to what i say at the end of reclock's readme).
:)
Chibi Jasmin
19th March 2003, 15:08
Originally posted by ogo
For me it's reliable, if the bar moves without stutter, and is not breaked somewhere. Happy it does work for you !
Yes it's quite sensitive to cpu load changes (scenes change for example). I have this too on my system. Thanks to the idea given by Gabest, next version of the monitor *should* be less sensitive and more precise, because it will be directly plugged inside the renderer.
I've not yet tested latest version of MPC (6435) but Gabest said he changed something in the code for vsync (maybe it's related to what i say at the end of reclock's readme).
:)
Fine! Sounds good...I will trust you on reliability then I say it works fine on my card! ReClock is just invincible!
Would be nice, if you could improve on the sensitivity issue...does the new vsync code in mpc6435 have anything to do with this? I didn't quite understand...or will all players benefit from improvements on the sensitivity thing?
BTW: It's the VSync monitor that is sensitive to cpu load changes, not ReClock's functionality itself, is that right? I was wondering, why the tearing bar didn't break, even when the VSync line was going wild...!? Is there some way to force VSync and therefore tearing issues? Maybe enable the vsync monitor for not-reclocked refresh rates? I would like to see, if it breaks up at all!? :D
mazzo
19th March 2003, 16:29
ogo:
>. ReClock doesn't work with my laptop, because the LCD seems to >have a refresh rate fixed to 60 Hz.
You have to live with it. 60 is not a good refresh rate for PAL. Just choose "refresh rate/2.5" in media adaptation.
OK. Works fine
>2. When using a TV as monitor, the refresh rate is lowered to 50 >Hz, which should be okay, but when I enable ReClock, the video will >run like h..l, almost in double speed.
Does reclock says "50hz" in the "video hardware" tab of the properties panel ?
Yes.
If yes what does reclock say in "media adaptation" tab ?
It doesn't matter. The video runs along in approx 50 fps in any case.
ogo
19th March 2003, 18:13
@mazzo: could you enable logging in the configuration app, then retry a video, and finally send me you log (c:\reclock_log.txt) by email ? thanks
@Chibi Jasmin:
Would be nice, if you could improve on the sensitivity issue...does the new vsync code in mpc6435 have anything to do with this? I didn't quite understand...or will all players benefit from improvements on the sensitivity thing?
It's not specific to mpc, all players would benefit from it.
BTW: It's the VSync monitor that is sensitive to cpu load changes, not ReClock's functionality itself, is that right?
Yes right.
I was wondering, why the tearing bar didn't break, even when the VSync line was going wild...!?
I think it all depends on how the player (or the renderer) manage back buffers. If it does double-buffering, i don't think you will get tearing, but stuterring of the vertical test bar (and video too).
Is there some way to force VSync and therefore tearing issues? Maybe enable the vsync monitor for not-reclocked refresh rates? I would like to see, if it breaks up at all!?
I could enable it, yes, at least the vertical tearing test bar. Showing the vsync position in this case is not very relevant because you will only see hits randomy distributed dots on the screen (since vsync is not synced to the frame rate).
I could also use monitoring information to make reclock work when the media refresh rate could not be found, just by measuring at which rate the frames are presented to the renderer ...
slolsby
20th March 2003, 16:37
OGO, there seems to be some problem using Reclock with the latest version of AC3Filter, 0.66b. If I use Reclock 0.99h, I get no sound at all when AC3filter is set to SPDIF. If I use 0.99g, and an AVI with an AC3 soundtrack it fails to detect my monitor refresh rate (which is 75Mhz, ie PAL), and the tray icon is yellow (but I do get sound ok). If I use an MP3 AVI, it detects and sets to PAL mode ok. If I uninstall AC3filter and use the Intervideo filters for an AC3 AVI, Reclock correctly sets PAL mode.
Would be great if you could get Reclock and AC3filter working hand-in-hand, especially for us PAL users.
cca
20th March 2003, 20:02
Unfortunately I have to confirm the problems that slolsby reports. AC3Filter 0.66b with Reclock produces no sound at all! There is some problem with the cooperation of the filters. Note that I get no sound on analog modes. I did not try SPDIF.
ogo
21st March 2003, 11:11
Yes there are problems with version 99h and ac3filter 0.66b. Those are in fact the same problems reported by Dr_Colossus with a normal AVI file.
Version 99h check timestamps of audio samples coming from the audio decoder (for example ac3filter). If they come too late to be rendered without audio/video desync, reclock cuts sound and restart playback from that point to stay in sync (it's visible in the log). It give a short silence. The problem with ac3filter is that i get a lot of "late" samples, giving a long a constant cut/restart cycle on sound (ie complete silence). I saw that too with other audio decoders, so i'm not sure it's ac3filter fault.
I'll look at that next week cause i'm out for a few days :) In the meantime i suggest you to use an older version (99g)
Chibi Jasmin
21st March 2003, 11:43
Originally posted by ogo
I think it all depends on how the player (or the renderer) manage back buffers. If it does double-buffering, i don't think you will get tearing, but stuterring of the vertical test bar (and video too).
Thanx for all your input! You have great ideas!
About the above quote: Would you explain the back buffering anymore? How can I verify, it it's used...? And if it's used, is there any way to check, if ReClock is working perfectly (without stutter) or will I have to rely on my eyes?
downloada
22nd March 2003, 09:54
hi,
i have to report the exact same problem slolsby has.
on my htpc i get no sound at all using ac3filter 0.66b (spdif out) + reclock 0.99h. also, reclock fails to detect the refresh rate, the icon stays yellow. with 99g i at least get sound but the icon stays yellow, too. for the record: i use win2k sp3 on an athlon 1ghz b, a radeon 7000 and an sb live 5.1 in my htpc.
on my main-pc there aren't any problems using a similar software configuration. ac3filter 0.66b (2/0 stereo) + reclock 0.99h works just fine and detects the monitor refreshrate correctly. but i have to say that my monitor runs at 72hz (i've got a tft-display, so i can only choose between 60hz or 72hz where i think 72hz is the better choice). on this pc i also use win2k sp3 but on a p4 2,53ghz with a geforce2gts and a terratec dmx xfire 1024.
cu
oddball
22nd March 2003, 19:07
ReClock 66 barfs when DirectSound is enabled as the default sound renderer. The video keeps speeding up randomly for some odd reason. Once DS is turned off everything plays fine again (I use Zoom Player 3b with DirectSound sometimes to give less jerky playback of OGM with OGG audio).
kallekill
26th March 2003, 15:32
Reclock 0.99h has fixed the problem I had with audio falling out of sync on some mpg files.
The VSYNC monitor might have helped with making the videosync stay in sync when starting a movie and when you pause, then play. But it doesn't help when there is a slight jerk in the movie. It still goes out of sync at these points. I have found out that there is a much bigger chance that it stays in sync if you use divx 3.11 codec instead of ffdshow or if you use mediaplayer 6.4 instead of Zoomplayer. It's a petty I can't use the VSYNC monitor along with mediaplayer 6.4, but it might be because MP 6.4 has some kind of built in sync monitor.
mmorselli
28th March 2003, 13:18
>>. ReClock doesn't work with my laptop, because the LCD seems to >>have a refresh rate fixed to 60 Hz.
>You have to live with it. 60 is not a good refresh rate for PAL. >Just choose "refresh rate/2.5" in media adaptation.
How to set it permanently ?
bilu
29th March 2003, 14:00
@mmorselli
I also have a laptop, Compaq Armada M700, with TV-Out.
Refresh rates on LCD is a virtual thing because LCD's don't need to refresh, they just change the pixel. The value 60Hz only exists because Windows treats LCD's as default monitors.
I've noticed that when I activated the TV-OUT (ATI Rage Mobility P/M) on the laptop, Reclock reported a clock of 50 Hz instead of 60Hz.
I was getting frustrated before with a scan converter that I bought (Trust Televiewer) because of the 60 Hz refresh, it was connected on VGA port. Now (I haven't tested yet) it should work because I defined a profile with both TV-Out and VGA port enabled, and Reclock reports 50Hz! :D
I hope this can help if you have TV-Out on the laptop.
Bilu
mmorselli
29th March 2003, 14:16
Originally posted by bilu
I've noticed that when I activated the TV-OUT (ATI Rage Mobility P/M) on the laptop, Reclock reported a clock of 50 Hz instead of 60Hz.
Bilu
Yes, but if I want to see movies on LCD ? I have to set reclock manualy all time ?
mazzo
29th March 2003, 15:43
Thank you so much!
mazzo
29th March 2003, 15:44
Sorry - my thank you was for bilu. I'll try to use quotes next time.
ogo
30th March 2003, 19:44
Hi !
Version 0.99i is available. New Vsync monitor, fix for ac3filter, and sound cutting in some files ...
ogo
mmorselli
30th March 2003, 20:48
@ogo
I'm sorry, but I get no sound, exactly like version 0.99h
slolsby
30th March 2003, 20:56
Thanks ogo - it fixes AC3 sound for me with AC3filter. However, it still fails to detect my monitor refresh rate (75mhz) and switch into PAL mode - it only fails to do this with AC3 files through AC3filter.
What would be nice is if we could have an option to set a mode (PAL or NTSC) ourselves, and have it remembered between files. I'm running a Matrox Millenium G550 dual head, where the TV out goes via the secondary connector. I would like to be able to switch between PAL or NTSC output as I choose without having to change my monitor refresh rate.
Thanks
Ewi
30th March 2003, 21:36
0.99i works for me, again. I have no AC3 equipment but with 0.99h i had periodically sound dropouts (0.99h was the first version, that did not work for me); around every 30 seconds. Thats gone...
But some questions:
1) Setting the system default video renderer: normally I'm using Zoomplayer. But how can I switch there to VMR9? My system default renderer is VMR7 (at least that is what Relock tells me). If I choose 'Override VMR' in Zoomplayer, Zoomplayer freezes when Reclock is activated. So how can set the system default video renderer so Zoomplayer can use it. In MPC VMR switching is working.
Zoomplayer: 2.90
MPC: 6.4.3.1
WinXP,AthlonXP
2) When I activate the Tearing test I see the vertical bar. So far so good. But the width of this bar is doubled when playback is on and it is flickering. On pause I see the normal bar with its normal width. Is this normal? Thats the same under all renderers. Apart from that I do NOT see the bar broken somewhere in two parts or jerky movement (with the default target set to have of its size); I think with jerky movement you mean stuttering of the whole bar that is clearly visible and not that what I described above what you can interpret as a kind of jerky movement (cause I think if the bar size is doubled I see 2 bars at the same time and so 2 frames at the same time? Or is this some kind of optical illusions)
3) Before I get it: Is HyperSnapDX able to capture this? If it is I would try to make a screenshot. I ask cause I heard that it is THE standard to capture all kind of DirectX screens and is used whereever a game does not support screenshots. But I'm not a great gamer...
Thank you again...
ogo
30th March 2003, 21:40
@mmorselli : please send me your logfile (activate it with config app, then play something, and send me c:\reclock_log.txt)
@slolsby : i don't get you at all. You can't make something round square. If reclock detects 75hz, it can NOT resync correctly a NTSC movie and vice versa. There is nothing to force here. I think you are telling me it detects the monitor refresh rate regardless tv out is activated or not. I can't nothing for this (i can't detect this). As said in the readme, reclock will detect things correctly ONLY on primary monitor. You seem to use dvdmax mode, which can't be detected. To be ok, just make sure that tvout and monitor use a same root refresh rate (eg tv at 50hz, and monitor at 50hz for PAL, and 60hz for both in NTSC). Or i did not understand you ... Just tell me :)
ogo
30th March 2003, 21:46
@ewi
1) Setting the system default video renderer: normally I'm using Zoomplayer. But how can I switch there to VMR9? My system default renderer is VMR7 (at least that is what Relock tells me). If I choose 'Override VMR' in Zoomplayer, Zoomplayer freezes when Reclock is activated. So how can set the system default video renderer so Zoomplayer can use it. In MPC VMR switching is working.
Maybe you should try ZP beta 3. Very stable here with all the renderers, and you can choose VMR9. As said in the readme i discourage using VMR9 anyway.
2) When I activate the Tearing test I see the vertical bar. So far so good. But the width of this bar is doubled when playback is on and it is flickering. On pause I see the normal bar with its normal width. Is this normal? Thats the same under all renderers. Apart from that I do NOT see the bar broken somewhere in two parts or jerky movement (with the default target set to have of its size); I think with jerky movement you mean stuttering of the whole bar that is clearly visible and not that what I described above what you can interpret as a kind of jerky movement (cause I think if the bar size is doubled I see 2 bars at the same time and so 2 frames at the same time? Or is this some kind of optical illusions)
Just optical illusion. I see two bars too :) It all depends of the framerate. Yes by jerky movement i mean stuttering of the whole bar.
3) Before I get it: Is HyperSnapDX able to capture this? If it is I would try to make a screenshot. I ask cause I heard that it is THE standard to capture all kind of DirectX screens and is used whereever a game does not support screenshots. But I'm not a great gamer...
Should work yes (did not try myself)
slolsby
30th March 2003, 22:00
Sorry, ogo, I'm not being clear.
My primary monitor refresh rate is set to 75Mhz. If I play an AVI with MP3 soundtrack, Reclock detects and set PAL mode ok (and I get the green tray icon). If I play an AVI with AC3 soundtrack (using AC3filter), it does not detect PAL mode and I get a yellow tray icon.
I can set PAL mode manually when this happens, but if I am playing a two-part movie, when it changes to the second AVI, Reclock must be set manually again to PAL mode.
For DVDMAX, it doesn't matter what the refresh rate is for the primary monitor, so it would be nice to be able to set Reclock to either be permanently in PAL or NTSC mode.
Ewi
30th March 2003, 22:01
That was fast...
I have an addition(I hope I understood the principle): perhaps you should add a few words in part 3) of your readme regarding the Vsync bar cause if the 'average-bar' is not in the desired limits it is unnecessary to look if the tearing bar is stuttering or not. Or another idea: If the Tearing bar would change its color if the Vsync bar IS in the desired limits respectively IS NOT in the limits. Perhaps this would help avoid 'false' stuttering alarms...
Thank you ogo, what would we do without your work on reclock....
cca
31st March 2003, 01:08
Well, I don't have any more problems with AC3Filter but I noticed something new with VSync. VSYNC is generaly stable and the horizontal line doesn't move much with one exception; if DirectVobSub is loaded the horizontal line stays stable for a while and then moves around like crazy until is stablized again for a while and them moves again and this continues all the time until the video ends. It seems there is some issue between Reclock's VSYNC monitor and DirectVobSub.
ogo
31st March 2003, 07:26
@ewi : yes you're right i'll add that. I'll also put some keyboard shortcuts to play with the monitor (on/off, tearing test on/off, move the limits, ...). Had time to make some testing tonight, and it seems that the limits can be different for every file played ... Strange ...
@slolsby : what is the framerate of your file ? If it is 23.976, it is a normal behaviour not to enable PAL mode in AC3 mode, because it would give too much AC3 frame drop/repeat to make the sound stay in sync. Well i don't think it's explained in the readme.
kallekill
31st March 2003, 09:07
Hmm. I still got stuttering picture in my testclip. The only way to fix it is using media player 6.4. I can't get the vsync monitor to work with either media player 6.4 or media player classic. The player freezes after a few seconds. I can get it to work in Zoom Player though.
mmorselli
31st March 2003, 09:29
Originally posted by ogo
Maybe you should try ZP beta 3. Very stable here with all the renderers, and you can choose VMR9. As said in the readme i discourage using VMR9 anyway.
Better with Beta 6 ... No DVD support, but very strong support of other media...
Anyway, Blight (zoomplayer author) encourage using VMR9 and I agree with him 'cause VMR9 have better image quality and smooth play on my system and (As I say you via e-mail) using VMR9 to view DIVX with AC3 audio you can get a lot of jerky, more than with reclock, BUT, if you open "Video Mixing Render 9" windows (e.g opening with filter property function in zoomplayer) and put it on background (by
clicking on zoomplayer video area) jerky disapears at all !
I think that VMR9 works approximately like Reclock, but needs a lot of CPU to works... on my Celeron 1700 it works perfectly as I wrote, on my Celeron 400 with VMR9 I get no more than 12/13fps (against the 20/25 with old Overlay Mixer )
I Dont know if DirectX 9.0a works better... I try it when I get working version of reclock, 'cause DirectX is very hard to downgrade and I want an alternative if 9.0a dont works like 9.0 :-)
Stalker
31st March 2003, 11:20
Thanks for a great little App, Ogo !
2 small points, though:
I use ReClock mainly (and only) for it's better timing, which means I play my AC3 movies in "Original Speed". How can I force ReClock to start with "Original Speed" everytime, instead of "Auto" ?
It's annoying to have to set it each time - especially since I use a remote - making it fiddly at best:)
Another point is that I can't get DTS passthrough to work at all.
DTS works fine with WaveOut or DirectSound. I use InterVideo's Audio Decoder for SPDIF.
Again, thanks for making those impossible DivX's smooth as a baby's bum - even the movies I always thought were badly ripped work fine now :cool:
Ewi
31st March 2003, 12:07
@ogo:
Another point: lets assume PAL(25fps)material. If I understand it correctly the best thing that can happen is that this is played at exactly 25fps correctly integrated into the vsync. If this happens the renderer need not to wait very long for the vsync to come and display next frame. If I disable reclock I have 24.99 - 25.00 fps in VMR7 and VMR9 (if I wait 1-2 minutes;VMR seems to need its time to calibrate). If I enable Reclock I have in both renderers around 24.93 fps. I got this info from the filter properties of the renderers.
So what's going on there?
And: do you discourage to use VMR9 at all or only with reclock vsync correction enabled; i.e. is it better to use VMR9 with Reclock or VMR9 alone (if you have/want to use it for some reasons)
@Ewi
1) Setting the system default video renderer: normally I'm using Zoomplayer. But how can I switch there to VMR9? My system default renderer is VMR7 (at least that is what Relock tells me). If I choose 'Override VMR' in Zoomplayer, Zoomplayer freezes when Reclock is activated. So how can set the system default video renderer so Zoomplayer can use it. In MPC VMR switching is working.
Strange... Does it freeze too if you disable VSYNC monitor ? And if you disable completely reclock. Does this work with beta of ZP 3 (with and without monitor) ?
Another point: lets assume PAL(25fps)material. If I understand it correctly the best thing that can happen is that this is played at exactly 25fps correctly integrated into the vsync. If this happens the renderer need not to wait very long for the vsync to come and display next frame. If I disable reclock I have 24.99 - 25.00 fps in VMR7 and VMR9 (if I wait 1-2 minutes;VMR seems to need its time to calibrate). If I enable Reclock I have in both renderers around 24.93 fps. I got this info from the filter properties of the renderers.
I never figured out if those informations were reliable or not ... From what i saw on my system, VMR7 and Overlay renderers don't seem to do anything with VSYNC, but VMR9 does something. I'm very happy with VMR7 so i stick to this renderer.
And: do you discourage to use VMR9 at all or only with reclock vsync correction enabled; i.e. is it better to use VMR9 with Reclock or VMR9 alone (if you have/want to use it for some reasons)
Well, on my system (things may be different on yours), i always get stuttering with VMR9, with or without monitor.
@mmorselli
Yes, but if I want to see movies on LCD ? I have to set reclock manualy all time ?
Next version will permit you to lock speed settings :)
I think that VMR9 works approximately like Reclock, but needs a lot of CPU to works... on my Celeron 1700 it works perfectly as I wrote, on my Celeron 400 with VMR9 I get no more than 12/13fps (against the 20/25 with old Overlay Mixer )
I can't get VMR9 working properly on my system. Deinterlacing settings display garbage data, and i can't get properties under ZP without crashing the player. It's all the same with DX 9.0a. And yes VMR9 seems to do something on its own with VSYNC.
I also have trouble with MPC when i don't select "System default" as avideo renderer. In this cases, i get tearing, and MPC seems to do something with VSYNC too ...
@Stalker
I use ReClock mainly (and only) for it's better timing, which means I play my AC3 movies in "Original Speed". How can I force ReClock to start with "Original Speed" everytime, instead of "Auto" ?
You will be able to lock this in next version
@kallekill
The VSYNC monitor might have helped with making the videosync stay in sync when starting a movie and when you pause, then play. But it doesn't help when there is a slight jerk in the movie. It still goes out of sync at these points. I have found out that there is a much bigger chance that it stays in sync if you use divx 3.11 codec instead of ffdshow or if you use mediaplayer 6.4 instead of Zoomplayer. It's a petty I can't use the VSYNC monitor along with mediaplayer 6.4, but it might be because MP 6.4 has some kind of built in sync monitor.
Could you try the new option to give high priority in config app ? What problem do u have exactly with MP 6.4 ? Does it crash ?
Chibi Jasmin
1st April 2003, 11:26
Originally posted by cca
Well, I don't have any more problems with AC3Filter but I noticed something new with VSync. VSYNC is generaly stable and the horizontal line doesn't move much with one exception; if DirectVobSub is loaded the horizontal line stays stable for a while and then moves around like crazy until is stablized again for a while and them moves again and this continues all the time until the video ends. It seems there is some issue between Reclock's VSYNC monitor and DirectVobSub.
I even have it crash, when using VSync Monitor + DirectVobSub. ZP 5.5 beta + DVobSub 2.23 + ReClock V0.99i
kallekill
1st April 2003, 19:14
I am using the "give high priority option" but it doesn't help. I don't have any other programs in the background so that's not the problem. The problems are that when there is a stutter in the movie Reclock looses the video sync until you pause and play. I can only imagine that media player has some better way of handling stutters in the movies so that Reclock doesn't loose sync.
By the way, Reclock says that I am using "Old renderer" with Media Player 6.4 and "Overlay Mixer" in Zoomplayer. I am running Windows 2000 so I don't think I can use the new renderers (or can I?)
If I enable the vsync monitor, both Media Player 6.4 and Media Player Classic hang after 1-4 seconds of playback. It freezes compleatly and you have to kill it with Task Manager. It doesn't hang using Zoomplayer.
mmorselli
1st April 2003, 19:39
Originally posted by kallekill
I am running Windows 2000 so I don't think I can use the new renderers (or can I?)
Yes, but you have to install DirectX 9.0 (or 9.0a )
Well, i'll try to reproduce your problems. Must find some PCs running win2k ... Which version of directx are you using ?
I'll also try to find why it crash with directvobsub ... Doesn't want to crash here ...
Chibi Jasmin
2nd April 2003, 10:33
Originally posted by ogo
Well, i'll try to reproduce your problems. Must find some PCs running win2k ... Which version of directx are you using ?
I'll also try to find why it crash with directvobsub ... Doesn't want to crash here ...
Doesn't crash with all movies...sometimes it works with DirectVobSub... :-)
kallekill
2nd April 2003, 15:49
I am running DirectX 9. Are there any real advantages of using VMR9 instead of the Overlay mixer or Old Renderer? I didn't see any difference when switching between the formats.
mmorselli
3rd April 2003, 14:15
Originally posted by kallekill
I am running DirectX 9. Are there any real advantages of using VMR9 instead of the Overlay mixer or Old Renderer? I didn't see any difference when switching between the formats.
Advantages of VMR9 that I have found:
- In zoomplayer, making playlist of many little movies, there is not a black screen between previous and next movie... Is not really seamless becouse the last frame of previous movie freeze for a little time (about the time of black screen in Overlay Mixer), but thus is better than black screen
- believe or not :-) Opening VMR9 Property windows and put it on backgroung plaing movies, audio and video are always perfectly in sync, also without reclock... (PAL DIVX with AC3 audio, AC3Filter)
disadvantages:
slower, realy slower than Overlay Mixer... use it on machine of 1Gz or better ...
kallekill
6th April 2003, 00:24
If I disable the option "Force Overlay Mixer", Zoomplayer crashes the exact same way as MP 6.4 and MP Classic. So the crash must be related to the renderer.
mmorselli
6th April 2003, 14:01
maybe a format c: with new installation of clean system can solve all that problem with VMR9 ? :-) Installing and unistalling daily release of codecs, video drivers, etc.. can destroy the healt of more than one computer :-)
Hi guys,
Quite busy those days :( Didn't take time to read all your posts.
Anyway, Ewi, i've reproduced your "freezing player" problem with the VSYNC monitor activated. It seem to be the same problem that i have with Cinemaster DVD filters (or TheaterTek player). Some threads get blocked in some DirectX API calls for no reason. Don't really understand yet why ... To be more precise (maybe Gabest will read this :) ?), if i protect every DirectX call with a critical section, after some time a thread will block in the directx call, while another is waiting for the critical section. If i remove the critical sections, no one get stuck in directx (this is really really strange). But i need those critical sections to protect other things ... I'm sure there is no "crossed" (dont know the word) critical section anywhere.
This is completely mad: it would mean a thread can get stuck in directx until another call the same API ??? I know there is some global lock in directx but it is poorly documented ... :confused:
gabest
7th April 2003, 17:13
I'm not in picture about this prob now, but in such a case I do these:
- CCritSec::m_fTrace = TRUE
- HKEY_LOCAL_MACHINE\SOFTWARE\Debug\<..>\LOCKING = 10
- print CCritSec's address at the beginning
- check the debug output when the deadlock happens to find out which two threads are waiting for eachother
codecmax
12th April 2003, 17:54
Haiz, finally, have to wait so long just to post this one.
Hi Ogo,
I sent an e-mail to you but there was no reply. Hopefully you can answer some questions.
Anyway, I like the program and I think it is great that you are doing this (Reclock).
However, ever since version 0.99h, there is still sound clippings in the various media files I played. This occurs for avi encoded at 23.* and for those mpeg encoded at 29.9 FPS.
So in other words, I am disappointed that version (I) failed to remedy the problem. Version G works well except that sometimes for MPEG 29.97 video, the audio can get out of sync, and you get the feeling that you are watching a show dubbed in another language.
Also I have a question. Is it true that the program cannot stop the jerkiness that comes when one plays a NTSC (29.97 FPS) Media with a PAL Ati Radeon Rage and a Pal TV? The refresh rate is stuck at 50Hz for me. I get the message that it cannot sync with the TV, and I should adjust it as a multiple of 30 or something. This is impossible to adjust for a normal analog TV.
In contrast, I don't see the jerkiness when it comes to media encoded with FPS of about 24 or less.
However, another thing is when I used the best(option) for the timings, the pitch is raised, so some voices become heightened and don't sound natural. Is this a natural side effect of accelerated FPS timings for video encoded with FPS less than 25. Is there any plans to circumvent this side effect?
As a PAL system user, which I am sure you are very familiar with, I must report, that I have not ever encounter any sound clipping with AC3 with the open source AC3 sound filter in all versions of reclock.
Ok, one final question, do you think it is ever possible to play back NTSC video encoded at 29.97 FPS perfectly without jerkiness with PAL hardware, with a refresh rate of 50 Hz? And also when is your next releases.
Chibi Jasmin
19th April 2003, 15:28
Just curious, ogo, how is development going?
Airw0lf
20th April 2003, 04:19
Hi guys, haven't been following this thread for a while. But I'd appreciate any help in getting VMR working on my machine. I'm using Windows 2000 and have DirectX 9 installed. Can VMR be enabled globally across windows, or is it done in the players themselves? I found the "Extended VMR Mode" option in ZoomPlayer, when I turn it on though, ReClock still uses the Overlay Mixer. Any ideas?
Airw0lf
20th April 2003, 04:19
Hi guys, haven't been following this thread for a while. But I'd appreciate any help in getting VMR working on my machine. I'm using Windows 2000 and have DirectX 9 installed. Can VMR be enabled globally across windows, or is it done in the players themselves? I found the "Extended VMR Mode" option in ZoomPlayer, when I turn it on though, ReClock still uses the Overlay Mixer. Any ideas?
kallekill
20th April 2003, 10:24
All I had to do to enable VMR9 was to check Extended VMR9 Mode in Zoomplayer. After testing it a bit I have found out some things.
The VMR9 renderer seems more forgiving of stutters and small errors in the movies. Before I had problems were Reclock looses the video sync at these points. It seems better now, but I haven't tested it much yet. I got one problem in Zoomplayer though. Mpeg1 movies look horrible at fullscreen. It looks like it is zoomed to fullscreen with a really bad zoom algorithm. I don't have this problem in Media Player Classic when using VMR9 so it must be something with Zoomplayer.
gabest
20th April 2003, 10:52
I had troubles with the image scaling function of dx9 itself. You can read in mpc's thread about that I crop the pic by 1 pixel to force image filtering, without that it just uses point sampling sometimes.
clehner
26th April 2003, 15:58
Hi,
let me first thank you all for the efforts getting reclock to work.
I did not find a list or the like which sound cards work properly with reclock. I only found one card among my collection that works, i.e. the very old (over 2 years) Soundblaster Live!
I know of course that none of the C-Media chipset cards work so far.
Also: Is there another way to activate reclock than with ZOOM? Do I understand correctly that there is no way to use reclock with a standard DVD program like WinDVD 4.0.
Thanks
Christoph
ogo
27th April 2003, 14:44
Great news guys :)
I finally bought a C-Media card, and did found what's wrong with SPDIF. I now have SPDIF working fine ! I'll put a new version of reclock on my website quite soon.
Maybe the fix will also help some other sound cards to work in SPDIF, who knows :)
OGO
clehner
27th April 2003, 17:28
Ogo,
phantastic news!
Thanks a million....
Cheers
Christoph
ogo
27th April 2003, 18:01
Version 0.99j is out on my website, and have working C-Media SPDIF (at least on my PC hehe :))
Cheers
OGO
clehner
27th April 2003, 19:11
Hi again,
just tried it out, it works. Congratulation, ogo!
More tests to follow (I'll try the system with the M-Audio DIO next, should be working there too now).
The only question that remains for me at the moment is, how do I activate reclock without ZOOM? Is there a way? I have one system where ZOOM does not work. Either I have to solve the former or the latter problem ;)
Cheers
Christoph
P.S.: M-Audio DIO works now, too, just tried it out :)
Ewi
27th April 2003, 19:57
Ogo, could you please summarize how you actually handle AC3/SPDIF output? Is it still repeated/drop frames based; in what frame boundaries kicks Reclock in with SPDIF output (still these ranges: 23,9-24,1 -> 24fps output,...)? I looked over the thread but can't find if this behavier changed over time...
I don't want to bother you but one or two sentences would be very nice...
ogo
27th April 2003, 21:04
Yes AC3 is still based on repeat/drop frames. The principle is : as soon as sound desync is more than "max spdif latency", as many as needed AC3 frames are inserted or removed to go back to 0ms latency.
Example:
- 250ms buffer, 5% latency, gives 12.5mS sound desync max
- the default setting is : 500ms buffer, 20% latency which gives 100mS sound desync max which by the way is a bit too much, a better default would be 200ms/10%
As for the speeds :
From 23.976-0.25 to 24.0+0.25 : playback at 24 fps
From 25.0-0.25 to 25.0+0.25 : playback at 25 fps
From 29.970-0.25 to 30.0+0.25 : playback at 30 fps
Other ranges : from 0.998*x to 1.002*x: round to "x" fps
--> and AC3 frames are repeated/dropped to accomodate the speed change.
Also, it is better to use directsound in SPDIF mode if your sound cards support it, because latencies are more precisely monitored by reclock in directsound mode.
Ewi
27th April 2003, 21:31
Ahh... OK. Thank you very much...
Grimmi Meloni
27th April 2003, 22:52
Thanks Ogo!
With the latest update, reclock now also works with my VIA KT400 Onboard SPDIF (donīt know if that is the famous C-Media). Reclock always worked great for non-AC3 audio, now it even does for ac3. Thanks so much for such a great tool!
ogo
30th April 2003, 11:05
Hi !
Some (good) news ...
As you may know all versions of reclock to date have serious "hanging/freezing" issues when :
- using TheaterTek Player
- using Overlay Mixer renderer + DVD playback with Cinemaster decoder filter
- using the Vsync monitor on Radeon videocards (instant lockup with all players, all files)
- sometimes during DVD playback (while a domain change occurs)
All these issues are caused by lockups i can't explain when calling some DirectDraw primitives i need. Those primitives should never be blocking at all, and i'm 99.9% sure my code is correct, so there must be something flawed inside DirectX. Moreover those problems appears with many different type of videocards (geforce & radeon at least), so it's not a driver issue. I think i know why those locks occurs and if i'm right there is no way to solve them.
So i decided to throw away DirectDraw. In fact, Direct3D has what i need, but it's not implemented the same way as in DirectDraw. Anyway i've made a new test version of ReClock which use Direct3D instead of DirectDraw. And guess what ... Everything works fine now :) I've tested this version without any issue on GeForce3, Vanta, Radeon 7500, and Matrox G200. I must do some more testing to confirm that but it looks promising :) I'll try some low end Intel i815 today if i have time ...
There are some downsides however :
- future versions of reclock will NEED Direct3D to run. Some low end HTPC may not have a working D3D
- video clock is computed differently, so the compatibility of reclock will have to be checked again on every video hardware ...
I'll post a test version later today for those who are interested. I'd like to know if it works well on different hardwares and OS so your help would be appreciated :D
ogo
Sumster
30th April 2003, 11:25
Great Ogo!
As you know, I am always willing to test! I am assuming that by switching to Direct3D, we can still use VMR 7 (Overlay mixer) instead of going up to VMR 9? Sounds like the perfect solution!
Excellent work!
Sumster
ogo
30th April 2003, 13:18
Yes Sumster you can use whatever renderer you want :)
Just tried Windows 2000 + i815 video card + DX 8.1. Works fine too :)
Ewi
30th April 2003, 14:05
Yeah, that smells good to me... Didn't know that this is so exchangeable. But the primitives you want to use now are not used to display something, aren't they? If these functions are primitives I think they are in DirectX for a long time; so what DirectX Version is needed?
But what is not totally clear for me: Do you think the deadlocks are bugs in MS DirectDraw implementation or a design issue at all in the DirectDraw system?
ogo
30th April 2003, 15:25
Yep Ewi, i only use 2 DirectX primitives to gather informations from the video card clock, i don't use them to display anything.
In fact DirectDraw/3D are quite exchangeable because Microsoft want to phase out DirectDraw.
I think the problem i had with DirectDraw is more a design issue than a bug. Well i used DirectDraw in a strange way anyway ...
You will need at least DirectX 8.0 with a Direct3D capable card to test the new version of reclock :)
The next 2 problems i want to solve before 1.0 are the following :
- automatic framerate detection for NTSC DVD is really needed
- working sound skip detection (which i removed in 0.99j because it was not working well). This is really needed too (try for example an episode in .mpg of season 2 of "24 hours")
:)
gabest
30th April 2003, 16:13
Any idea why the video renderer is still not released fully when reclock is used? I get 6 with vmr and +2 if the renderer runs in windowed mode. Can be reproduced with any dshow player.
ogo
30th April 2003, 16:30
How can i check that Gabest ?
I know some dvd decoder filters don't release the reference clock, but that's all.
I checked the test version with Boundschecker and saw nothing wrong at all
gabest
30th April 2003, 16:50
Do you use the debug dlls? They report any unreleased COM object when they unload. You can switch to them easily, just run the setup from \DXSDK\SDKDev\Debug.
Also, this time it is true for any file with video and audio, not just dvds.
gabest
30th April 2003, 18:23
A few other suggestions/bugs:
- Change the registered subtype from GUID_NULL to MEDIASUBTYPE_PCM, WAVE_FORMAT_DOLBY_AC3_SPDIF, this way it won't try to connect to the not yet decompressed audio streams.
- The default dsound renderer also registers these: MEDIASUBTYPE_IEEE_FLOAT, MEDIASUBTYPE_DRM_Audio, MEDIASUBTYPE_RAW_SPORT, MEDIASUBTYPE_SPDIF_TAG_241h. Adding support for float might be worth even if it is only used by the vorbis decoder (as far as know).
- Somehow one ConnectDirect call between the vorbis decoder and reclock makes the tray icon show and disappear several times before showing up finally.
ogo
30th April 2003, 19:08
The test version is available here (http://ogo.nerim.net/reclockfilter/setup_test_d3d.exe)
I've not been able to crash it at all, but i'm sure you will :(
A few observations :
- reclock will need to recompute the hardware clock for every resolution/refresh rate, so there will be a delay when opening a file at first. The ppm indicator should stabilize low after 10 minutes
- you need at least DirectX 8.0
- i didn't test this at all on win98
Please focus your tests on the following :
- please activate the vsync monitor in the config app (you can also activate on screen display with CTRL+ALT+F9)
- playing divx with different renderers (you can choose the renderer with MPC or ZP)
- trying different players
- try TheaterTek DVD player in SPDIF mode if you can
- playing DVDs using different decoder filters, and different renderers (overlay mixer, vmr9). ZP 3 pro is a very good tool for that :)
- try to change resolution and/and refresh rate during playback, and check that reclock detects the new settings correctly and check if the player is still ok :)
- please check that the ppm indicator goes low and is steady after 10 minutes
- tell me what OS/Direct X/video card you use
Thanks a lot ...
@Gabest:
- i'll try your tips for debug DLL's. If you can could you tell me what your results you get with this test version ?
- i've added the 6 subtypes registered by the microsoft renderers in this test version. Some are not accepted by my renderer, but it's still better than GUID_NULL. Float support would be nice to add later yes, and PCM24/32 too ...
- for the icon flashing, i don't think i can do anything to solve this
gabest
30th April 2003, 19:30
Originally posted by ogo
- i'll try your tips for debug DLL's. If you can could you tell me what your results you get with this test version ?Still the same probs... Having debug dlls is a very good thing, you can easily get so annoyed by the popup and the beep at the exit that it makes you fix the bugs right then :)- i've added the 6 subtypes registered by the microsoft renderers in this test version. Some are not accepted by my renderer, but it's still better than GUID_NULL. Float support would be nice to add later yes, and PCM24/32 too ...Thanks, this is great.
kallekill
30th April 2003, 21:49
Before I couldn't get the vsync monitor to work in Media Player 6.4, but with the test version it does. It's probably not mp 6.4 itself that made it not work, but the "old renderer" it is using. The new version also works with "overlay mixer", VMR9 and VMR7. It also works in Zoomplayer 3 and Media Player Classic.
I use Windows 2000, Direct X 9a, GF4 4200 with latest official drivers.
Great work ogo!
Chibi Jasmin
1st May 2003, 16:37
Test versions seems to run just as well as the last few official versions on my G400 DH, WinXP SP1, DX 9.0a...only did a few tests so far, will let you know, if anything unusual happens.
@kallekill & Chibi Jasmin:
Great ! I have successfull reports for Radeon, Geforce, and Matrox ... That's nearly 99% of the cards used on earth :)
@Gabest: the leaks are corrected (me = stupid :)) I also corrected the error reported about releasing D3D objects
I have made more improvements over the test version and i will post a new official version soon :)
Version 0.99k is available on my little web site !
This version corrects all the bugs i know, until someone find some more :)
ogo
eLupus
1st May 2003, 23:28
Hi ogo,
I have a problem with the merit of the reclock filter. for some reason i can't have the filter registered but with a merit set to 20000 (do not use). It still gets loaded as soon as a media file opens.
I also noted that in the latest zoomplayer standard, the custom audio devices lists the reclock audio render and is able to override the reclock filter with any audio device but, if you go in to the filter manager for audio devices it's not there. You have to go into the normal filter manager to be able to change the merit on the filter.
The reason for my need for this is that i'd like to have the filter registed, but not used by default. I only want it to load if I specify it specificly in zoomplayer.
The new version of reclock works alright on my setup, that is a laptop wih a mobility 3 video card. The only problem i found is that after a movie started playing i'm not able to move the playback window to another screen (i'm running the tv as a seconday display on an extend desktop). If i start playback on secondary display, it'll play just fine.
Keep up the good work, it's much appreciated.
Joakim Plate
When you playback a 23.976 movie @ 25fps the sound gets a bit high. Is there any filter you can use to pitch the sound down again? Is there any app that can change all Windows apps on a OS level? I've got an Nfore2 motherboard but I haven't been able to change anything in the Soundstorm controlpanel.
kallekill
2nd May 2003, 10:26
Oreo: Sonic Foundry's Sound Forge comes with a bunch of DirectX filters. One of them is Pitch Shift. You might be able to use it with Media Player Classic to change the pitch. I don't know if there is a free alternative.
Thanks, I'll try that. Shouldn't it be possible to just build a pitchshifter into ReClock?
Membrax
11th May 2003, 09:39
@Ogo
First of all thanks for your ReClock! Now with my Athlon XP 1800+ I can have a smooth playback !
But I have a problem since version 0.99g (0.99f doesn't have this problem) : after 5 minutes of playing, the movie keep playing but the sound stops! To see the rest of the film I must close Media Player Classic, restart the film and seek ...
I use Windows Media Player Classic, ffdshow, Reclock 0.99k on a Windows XP system. My video card is a GeForce 4 Ti4200 (drivers version 43.41). DirectX 9 is installed (I'll install version 9a soon)
PS I noticed that there's no playback problem on Intel systems (my old PIII 500 plays the movies fine) and doesn't need reclock!
@Ogo:
Lately I started using Vorbis audio in my video encodes. All was fine and I was happy with the smaller file sizes Vorbis audio compression give me until I discovered that when I play the videos I'm getting dropped frames like ReClock isn't doing anything! So the problem is this: When I play AVIs with MP3 or AC3 audio playback is smooth. When I play OGMs with Vorbis audio playback is not smooth but it drops frames. Can you look into this? I'll be grateful if you did.
Pålle
5th June 2003, 17:47
Just installed ReClock. Really does wonders for the sometimes really crappy video stream.
However the sound gets all distorted. After a few seconds of playing it seems a second "sound stream" appears, lets say 2 second out of sync with the first. The original stream and the new one are "chopped" together (meaning 1/10 of a second the first stream is played, the next 1/10 the second stream is playing, then the first and so on).
Something similar also happens with mp3's. The sound skips back and forth.
My guess is that the two phenomenons come from the same problem.
Everything works well when unregistering ReClock (except from jerky picture in movies)....
Anyone else experiensed this?
I'm using version 0.99k.
What additional info do you need from me to be able to look into this?
codecmax
5th June 2003, 19:29
Hi Ogo,
I have been using your filter since the beginning of the year and all together it performs what it is supposed to do. Except with a few hiccups here and there.
However, as you have mentioned that you have removed the sound skip detection and as such, yes there is still sound skip over at my side. It is more in the form of click sounds esp when there are more moving sprites in the picture. This is especially evident in 29.97 FPS VCD mpg (played back on 25 FPS Pal TV).
So hopefully a new version will come soon, it has been more than one month and well usually you release at one new revision every month. :D :p Perhas an update soon?
Interestingly AC3 work well with DIVX tracks for me.
Chibi Jasmin
19th June 2003, 16:22
Hi Ogo!
Just want to let you know, that ReClock V0.99k doesn't load in any player on my Win XP SP1 w/ Matrox G400 Dual Head with Drivers V5.90.003 from the Matrox FTP.
Bitmonster
21st June 2003, 23:19
@All
Does anybody know what happened to Ogo?
No replies for so long time. It would be a shame, if the fantastic ReClock Filter would get no more support.
codecmax
27th June 2003, 19:06
yah, I missed the updates, still have ways to go. Perhas it can be an open source software too, if ogo is too busy. :D
Hi !
Sorry for my long silence. I've been too busy those last weeks, and will continue to be busy at least until fall ...
Anyway, i've decided to release another version of ReClock. So version 1.0 (Yes you read it well, i'm tired with letters :D) is now available on my website.
It contains some useful additions (cleaning the databases, use of reclock as default renderer), and improvements to sound handling in PCM mode.
This version will not solve problems for those who don't have reclock running correctly since version K (since i switched to D3D). I need to put back the "old method" as an alternative option in future releases. In the meantime, i suggest your to use the J version if you have problems.
Please forgive me if i'm slow to respond in the upcoming months and thanks again for you support ! :)
ogo
Leolo
7th July 2003, 20:56
Hi,
Why won't ReClock find any videostream in my MPEG2 files?
I have a bunch of MPEG2-PS files (all of them were originally PVA files that were muxed into MPEG2-PS files with BBMpeg) but ReClock never finds any videostream in any of them :confused:
I've tried with PowerDVD5 filters and also with WinDVD5 filters. The result is always the same: no videostream found :(
I'm using Zoom Player 3.10 with the VMR9 option activated and the fix for the scaling bug also activated.
Is anyone also experiencing this problem?
Thanks a lot.
Regards.
Chibi Jasmin
8th July 2003, 10:54
Originally posted by Chibi Jasmin
Hi Ogo!
Just want to let you know, that ReClock V0.99k doesn't load in any player on my Win XP SP1 w/ Matrox G400 Dual Head with Drivers V5.90.003 from the Matrox FTP.
Same for ReClock V1.00, still have to use older Matrox Drivers to work with ReClock.
Jorgosch
12th July 2003, 17:25
Ran into a couple of problems:
1. Mpeg2 und Mpeg1 Streams are treated badly. This shows for me when I use the Plus!-Extension in MSN Messenger which can send sounds. These sounds are chopped with ReClock activated.
2. Some Games crash or don't work well. An example is Empire of Magic. Doesn't load after the introduction animation. Can't tell you what format the sound is in since the files are all in *.dat. No problem with ReClock deactivated.
3. From a sole subjective view, videos seem a trifle choppier. Maybe that's because of what you did with the buffers?
Suggestion for quick workaround:
Make the ReClock icon permanent (or an option to show always/onload/never like VobSub does) and let me enable/disable Reclock by doing something to the icon (rightclick, singleclick).
Version 1.1 is out on my website :)
It adresses many issues discussed here. I'm out for vacation for at least one week, so i won't be able to respond you ...
I suggest you to clear the timings database after install of this version just to be sure that you start from a good situation.
Cheers
ogo
1.1 is working good as ever, but I had never any problems with it :-)
One question: I like VMR9 cause I think it's sharper than Overlay or VMR7. But its big drawback is that your vsync correction does not work correctly with VMR9 (as you mentioned in the readme) so I keep the overlay renderer at the moment.
Are there any efforts to solve this with VMR9?
Another thing: I need different VSync positions for different resolutions/refresh rates (i.e. I need different positions when watching via monitor and when watching via TV out). Would it be possible to make this setting resolution/refreshrate specific; don't know in what way this could be done.
Thank you...
Leolo
21st July 2003, 15:30
Hi,
This new version has solved my problem with mpeg2 files, thanks a million!
Just one more question, please:
Should I use ReClock with an LCD monitor?
Well, the question should be really split in two:
a) Should I use ReClock with an LCD monitor using the analog VGA port?
and
b) Should I use ReClock with an LCD monitor using the digital DVI port?
Thanks again.
Best regards.
Bitmonster
21st July 2003, 21:31
Hello ogo,
hope you had nice vacations.
I have one small cosmetic suggestion:
The new trayicon-mode is a little annoying for me, because my system clock correction goes nearly never down enough to get a sturdy green. Also this flashing gives the impression to an unskilled user, that something severe goes wrong and needs some interaction.
So I suggest to use some new sturdy icon. For example a half red and half green icon.
Anyway, thank you very much for this excellent filter.
Bitmonster
Tanuki
22nd July 2003, 13:50
I found a case where version 0.99k is better : when playing ogm files.
Indeed, when I read a ogm file without reclock, the sound only outputs on the 2 front speakers and not on the 2 rear (I use the nforce2 "soundchip"), problem that doesn't exist with all "normal" avi files. With reclock, I have sound on all speakers, so it's good, moreover, I can use my tv-out with tvtool (tv-mode) without any problem.
With version 1.0, I can't read ogm at all when reclock was on.
With version 1.1, I can read ogm files with reclock on, but the sound is only on the 2 front speakers, and when I switch to tv-mode, the sound become completely distorted.
So, I will stay with version 0.99kfor now...
codecmax
24th July 2003, 09:15
Glad to see that you are back ogo at least for a while back there. :D
I will download and try 1.1 now.
dvdWannabe
29th July 2003, 04:44
Ogo - I've been using .99k without problem with Chaintech TOSLINK output from ZoomPlay 3.10.1. Win2000 SP3 AMD XP2400+ ATI 7000
I tried the 1.1 version - and it played one DVD just fine for 30 minutes or so.
I switched to another DVD on another day, one that had worked without a problem with .99k, and the icon would go green and I'd get a dropout. It seemed fine when displaying yellow. I had cleared all my values when I installed 1.1.
I'm running near 60hz for an HDTV display - and it always shows yellow (.99k) but I never notice any jerkiness or problems - in fact I love Reclock.
I'd be interested in how (you hinted) it could interface with PowerStrip as use that to set my ATI 7000 resolutions - but the 1.1, at least for my use, may not be ready for prime time yet.
I do like the added feature where we can disable it as the default.
billou2k
31st July 2003, 10:55
I've tried playing home made matroska files with Media player classic without reclock and for some reasons the playback was incredibly choppy. with reclock 1.1 on it was perfect!
thanks ogo!
clehner
3rd August 2003, 08:24
Hi,
I have a very strange problem. Reclock has been working perfectly for me under XP as well as 98 (without VSynch) since version j
However once or twice per movie the playback becomes choppy suddenly and would only synch back to normal (i.e. supersmooth without any studders) after I hit the pause button.
I watch 99,9% NTSC @23,97 with reclock transforming it to 48Hz and feeding it to an HT300+ DLP projector via DVI.
As I said, I experience that with all versions of reclock, under 98 as well as XP, with or without VSynch turned on. When I get lucky (let's say every third movie or so) there is no studder throughout the movie at all so that I don't have to hit the pause button.
Does anybody (I already told Ogo) have an idea what might cause this rare instability?
Thanks
Christoph
P.S.: Ogo, thanks again for your excellent work.
kallekill
3rd August 2003, 22:36
I had problems with Reclock before it used Direct 3d instead of direct draw. The picture sometimes started to stutter during a movie. Try using different video renderers. It might help.
clehner
4th August 2003, 08:37
Originally posted by kallekill
Try using different video renderers.
Thanks for the hint, I have tried WinDVD4 and PowerDVD XP.
Yesterday I watched "Unce Upon a Time in A." almost four hours (with one interruption for disc change) of absolute flawless play back, not one studder. WinDVD4 video, PowerDVD XP audio, reclock version j (which still uses direct draw), WindowsXP.
Well, maybe I simply have to live with the fact that not ALL DVDs are made as well as OUTIA, ... :(
Regards
Christoph
yidaki
21st August 2003, 11:26
just wanted to know if its possible to make reclock function only on movies with ac3(or similar surround sound formats)
because i want to use matrixmixer when i play "normal" stereo movies, but reclock takes over and disables my center speaker...
so reclock works for me, but i would like it to work only on movies with ac3...
is that possible?
how?
codecmax
19th September 2003, 20:18
Hi OGO,
How's it going, I am just wondering since summer is over and it is now approaching fall. Are you still working on reclock. I hope you don't stop please. I have discovered a floating point division error when playing back svcd using the intervideo mpeg2 codecs.
Yah please come back :D and yes up thread. :devil:
ogo
26th September 2003, 16:07
Hi !
Don't worry i'm still there ... I have less time than before, but for now i'm trying to :
- make reclock load with windvd/theatertek (make it load instead of directsound or waveout renderer)
- fix problems with newer windvd audio filters (crashes, freeze)
I'm starting to think the sound renderer itself need a full rewrite to handle some problems more nicely, but i've not found the motivation yet to do it :)
ogo
6th October 2003, 19:09
> yidaki: sorry there is no way to do that (play only some types of streams). Sorry :(
> clehner : was it with VMR9 ?
> codecmax : could you explain further or send me a small chunk of your file by email ?
Version 1.2 will be out in a few days, mainly bug fixes and improvements and also the ability to force reclock to load in place of directsound and waveout rendererd even the player does not want to :)
Thanks
frg
9th October 2003, 09:06
Hi Ogo,
I have been using V1.0 then V1.1, and there is something I don't get:
On V1.0, all my Z1 NTSC DVD's were seen as 29.970fps, and as my projector works in 60Hz, everything was fine.
Now with V1.1, most of them are considered 23.976fps, and I am a bit worried (no more green light !!!).
Yet they seem to play as well as with V1.0.
How comes that the same transfers are seen differently by these 2 versions ????
And, second question, how does Reclock figure that a DVD is 23.976 or 29.970fps ????
Best regards,
Franįois
oddball
10th October 2003, 13:24
As far as I know DVD plays back at 25FPS, 29.97FPS and 30FPS. There is no 23.976FPS on DVD to TV out per se. IVTC brings it down to that rate for computer encoding purposes. I may be wrong however. Anyhow ReClock works on your computer monitors refresh rate. So if your monitor is set at 75Hz or 100Hz it will play 25FPS material smoothly as it is a multiple of 25. Likewise 30FPS at 60Hz or 90Hz, 23.976FPS is so close to 24FPS that 72Hz or 96Hz will work.
At least that's what I can figure.
ogo
10th October 2003, 16:55
Hi guys,
Version 1.2 is out on my web site.
@frg: 29,970 detection was an error. A progressive NTSC dvd plays at 23,976 fps on your PC, so you should set your TV accordingly or use "refresh rate / 2.5" setting.
frg
10th October 2003, 17:26
:eek: Ah bon ??????? ;)
Even if there are only 24 different images/sec. on a NTSC transfer, there are yet 30 frames/sec.
Do you imply that a PC is capable of a 3:2 pulldown ???
And if a NTSC transfer is made from NTSC video ("Friends" is a good example), the original material is in 30fps, therefore it should NOT be identified as 24 fps.
BoNz1
11th October 2003, 19:49
Could matroska support be added? I tried to use it with a matroska file today and it didn't work although you can easily just set the framerate manually so it isn't really a huge deal but it would be nice. Also, could an option be added to disable it in the system tray so it doesn't pop up? Most of us, use relatively advanced media players so we can control it from there. Again not a big deal but it would be nice, ;)
clehner
12th October 2003, 08:41
Ogo,
good to see you back working on reclock ;)
Version 1.2 is a big improvement IMHO as it allows to force fixed frame rates. There always is a problem with NTSC that frame rates suddenly change from 23,9 to 29,9 in the middle of a movie (don't know if this is just sloppiness of the mastering) and in case the frame rate is not fixed you will hear an audio drop out.
So far I did not have problems with sudden stuttering in the middle of the movie with this new version but maybe it is to early to make final conclusions.
Will do some more testing with 1.2 today.
Thans for the work, ogo...
Regards
Christoph
ogo
13th October 2003, 18:37
@frg : well progressive NTSC content (like a movie) is always 23,976 fps because it's "inverse telecineed" before being put on disk. I believe NTSC DVD players just apply telecine again on playback. On the other hand NTSC video is always 29,970 fps (i have some friends episodes that are 29,970 fps here).
@BoNz1 : reclock does already work fine here with matroska (.mkv) contained files. Frame rate is detected correctly. I don't understand your problem. Could you drop your file on GSpot and tell me a little more or send me an extract by email (not more than 10mb)
ppera2
13th October 2003, 20:55
@ogo:
Ver 1.2 rocks! It works finally on my good ol' Voodoo 3 card.
Even works in Win 98, despite you said before many months that it is not possible due to drivers lack of features - i just needed to set it to direct draw mode.
Nice work :)
Ryokurin
13th October 2003, 21:25
I read on the page that you eventually plan on making it so you can change audio tracks in reclock eventually so im not rushing on it at all, I can wait, but for the time being is there any way to change audio tracks manually?
The problem im running into is with ogm files. when reclock is running you cant even right click on the icon in the systray to choose a different audio track thus your kind of lock in to what it decides to choose on its own. Other than that, its perfect to me. 1.2 fixed pretty much every nitpick for me!
jimbobuk
24th October 2003, 22:45
Ok I tried reclock a while ago and had problems.. video audio breakup if i remember correctly.. I am going to give it another go now.. i use a projector (panasonic 300E) with powerstrip at a native resolution at 50fps..
I have stutters with normal playback as windows believes that the desktop is actually 60fps when its 50...
Anyways, just got the latest version... tried it briefly but i believe it struggles.. i was getting red/green alternating.. I just brought nvdvd and am keen to try it but the latest docs say that using dxva will not work/cause trouble... i dont believe you can use the nvdvd filters any other way and that they are MUCH better in hardware mode, compared to software...
Is reclock just NOT compatible with this!? nvdvd appears to crash when reclock is forced as primary but it works fine through zoomplayer... I will alternate tho sadly windvd is my alternative..
It'd be great if we could get some higher quality output modes.. zoomplayers forums claimed that you were considering kernel streaming/asio output.. i'd prefer the latter as kernel streaming appears to crash my machine in use with foobar2000 but ASIO is rock solid with the kx drivers.. and sounds MUCH cleaner and bassier..
Anyways can nvdvd work with dvds and the new version of reclock.. can we not have a way to enable support via dxva or some manual input of relevant frequencies??!
Cheers
dslava
26th October 2003, 20:24
when i use reclock, two instances of ffdshow filter are open and each one have own settings - i think it's kind of bug - because without reclock - ffdshow works perfect...
Ewi
26th October 2003, 22:48
Are you sure that it is not a file with two audio streams?
dslava
27th October 2003, 08:56
yes - it happens with every file
mazzo
8th November 2003, 13:03
Prior to 1.2, everything was ok on my laptop. I used refresh rate / 2.5 and it worked out. Now the movie plays too slow, so I have to slave reference clock to audio, which is not recommended. Is there something I do wrong?
codecmax
10th November 2003, 19:09
Originally posted by ogo
Hi guys,
Version 1.2 is out on my web site.
@frg: 29,970 detection was an error. A progressive NTSC dvd plays at 23,976 fps on your PC, so you should set your TV accordingly or use "refresh rate / 2.5" setting.
wow great, :D, to only find this out now.
Great work, please continue. :cool:
I admit I am really poor at motivating people. :sly:
bilu
10th November 2003, 19:40
Note for Reclock users:
This links are to threads about the process used to create Matroska files with variable framerates. Just to show you it is already possible, which is nice in some cases.
http://forum.doom9.org/showthread.php?s=&threadid=64314
http://forum.doom9.org/showthread.php?s=&postid=395247#post395247
I'm posting this info because Reclock's concept is to assume a constant video framerate so it can try to synchronize with your monitor's refresh rate.
So I would be very surprised if Reclock would ever work well during the whole stream. Because it isn't supposed to.
This is no sort of bashing Reclock, it's just a warning to keep your expectations low when playing variable framerate streams.
Best regards,
Bilu
loki03
23rd November 2003, 13:46
hy! i have a little problem:
using gforcemx2 with ch7007,dx8,xp and tvtool9: everything is great!
but when i use the 768*576 resolution for my pal tv in tvtool i cant switch to clone mode as my computer reboots- thats an known issue with that card and tvtool. so i use 768*576 only with "tv-only" mode.
when switching to tv mode (pal50) reclock sometimes does recognize the mode to be 60hz, when switching back and forth sometimes reclock recognizes the mode to be 50hz. when it recognizes 60hz and i playback a 23.96fps file the playback is interrupted by many black-frames (almost as many as there would be stutters without reclock) and the mouse-cursor-icon sometimes becomes deleted and is shown as a big grey block. this thing doesnt occur when using 800*600. besides that i love reclock.
mazzo
26th November 2003, 09:25
Don't be surprised If you'll have to wait for an answer, I have been waiting for seventeen days.
TheRage
23rd December 2003, 19:33
Seems with the lastest Matroska pack (Matroska_Pack_Full_v1.0.1.exe) installed Reclock fails to read the frame rate from .mkv files, which requires manual input (then it worx).
Though it worked ok with the prior verion of Matroska Pack I was using 0.something.
Also thx for the great filter :D
ogo
24th December 2003, 10:39
Hi,
There is a new version on my website which adress a problem with frame rate detection.
Merry christmas !
ogo
TheRage
24th December 2003, 14:02
Originally posted by ogo
Hi,
There is a new version on my website which adress a problem with frame rate detection.
Merry christmas !
ogo
Thx alot for it, but if u where refering to the problem I mentioned it doesnt seem to fix it :(
& Happy Xmas :)
lelsteph
24th December 2003, 15:09
Hi!
I have jerky video playback using a powerful PC....
The problem apparently appears only when I activate the SPDIF output in PowerDVD (ver 5)!!! I think I have everything setup-ed correctly with my Disk interface at the maximun speed...
I have the problem if I play the DVD from the DVD reader or from the HDD.
The video is not smooth at all. Sometime it even plays the DVD at a very high speed!!!
Do you think that tool is the solution to my problem? That would be really cool and a miracle!!
Thanks a lot and Merry Christmas!
Steph.
lelsteph
5th January 2004, 12:36
I re-post it since the first time it has been added at the far end of the discussions...
I tried re-clock but it does not load with PowerDVD or WinDVD even if I configure re-clock to force.
Any help?
Thanks, Steph.
edit Wilbert: No need to repost your previous message. I'm sure Ogo read this thread when he has time.
oddball
7th January 2004, 02:29
Any idea why ReClock loads twice and plays both audio streams at the same time when playing back dual audio in MPC? It does not do it in ZP. Trying to playback a MKV with dual audio.
filewalker
7th January 2004, 11:13
@oddball
ZP uses an own audio switcher. So with this switcher there's no need for the Morgan Stream Switcher. ZP makes a graph where 2 audio decoders connect to 1 audio renderer.
MPC uses a similiar internal audio switcher, which acts in the same way as ZP's internal audio switcher.
If you disables MPC's internal audio switcher, MSS comes in use where each audio decoder connects to one own audio renderer, so that 2 audio renderers are in use.
So, enable MPC's internal audio switcher to get rid of this problem.
Cu filewalker
oddball
8th January 2004, 18:06
I had MPC's internal audio switcher enabled already and it made no difference. I tried disabling it and re-enabling it and ReClock still loads twice. Gabest is also looking in to it but can you check with the latest MPC please that all is working correctly with ReClock 70b.
Thanks.
oddball
16th January 2004, 01:24
Is there any way to prevent ReClock loading on a 'per app' basis? ReClock loads when I run my DVB software for my MPEG2 Hauppauge Digital TV box causing the audio to go out of sync. I don't want ReClock loading when I run that application. I keep having to go into ReClock config and disabling it each time then re-enabling it for normal video usage.
ogo
22nd January 2004, 01:17
I realise i've not been answering questions for a long time.
There is a new "beta" in the works, and you can get it here (http://ogo.nerim.net/reclockfilter/ReClock.test.zip)
This new version add some new long awaited features (nothing breathtaking) and better multi-head support (finally). I will post the final version in a few days, and will notify Doom9 webmaster then. In the meantime if you want to play with it, here is the latest changelog :
* improved multi-head display support. If Windows is configured to make use of more than one monitor, reclock will automatically identify on which monitor the playback window is open, and will correct the clock of the video card attached to this monitor. Then it is no longer necessary to select an adapter in configuration app (this setting have been removed).
* You can now specify by which percentage ReClock is allowed to slowdown or speedup the played media. Defaults are 1% slowdown, 5% speedup
* When ReClock can not find a good media adaptation because refresh rates do not match, it can now be allowed to try other values that will improve playback anyway. For example it will use 24 fps for a 23,976 fps source played at 60hz refresh rate.
* added new VBS script events (STOP and QUIT). See RunEvent.sample.vbs
* fixed a bug in the VBS script that could cause reclock to not take in account settings put by powerstrip, thus corrupting the timings database. If you use VBS scripting please check your script against mine
* revamped the configuration application to occupy less space on screen (useful when in TV mode)
* fixed a freeze introduced in 1.3 that could occur at startup
* small bug fixes
* updated the NSIS installer for smaller setup size and setup corruption checkup
* DirectX 9 is now required to run ReClock
* fixed an error in a formula given in the paragraph "How to optimize SPDIF output" of the readme (thanks to Mars1 !)
Now to answer your questions :)
oddball> Yes, in 1.4 final you will be able to exclude any app you want. For your audio tracks problem i believe it's more an issue to see with Gabest.
lelsteph> The "force" option will not work with Powerdvd which has its own renderer. However it should work fine with windvd 4/5, theatertek and WMP9
TheRage> If you disable detection with DirectShow in the config app, does reclock get the framerate correctly ? If yes i believe it's a bug in matroska
loki03> Sorry no clue. Check your drivers, etc ... I don't have a multi-head geforce at hand to test, so ... Also try with the latest beta, maybe it will work
bilu> ReClock i think can handle variable framerate files if you disable frame rate detection with DirectShow. It already does this in NTSC DVD mode (automatically switch between 23,976/29,970). Could you make the test (i don't have .mkv files here)
mazzo> Try to "clear timings database" in config app when you have this sort of problem. This is a bug in reclock, sometimes the calibration will go mad (it's on my todo list)
dslava> No clue at all. You should have a look on the filter graph to understand why 2 instances of ffdshow are loaded. Really strange
jimbobuk> ReClock can not handle DXVA very well, but works fine here with nvdvd filters in ZoomPlayer (you can still use DXVA but will lose vsync correction in reclock)
Ryokurin> No reclock still doesn't have an audio stream switcher, but you can mute each track from the properties panel.
:)
oddball
22nd January 2004, 01:57
ogo I am testing new build. You say that it can detect dualhead? I can't seem to get it running that way. If I go into ReClock properties while a divx is playing it says the details for my monitor and not the TV out on my Nvidia GeForce4 440 MX. I'm wondering is there is a way to sync ReClock to the secondary head 'only' so it only does it's thing for the TV out. I really don't watch videos on my PC monitor and would prefer to set the monitor back to it's default 100Hz @ 1024x768 (At present I used a 3rd party tool to tweak it to 96Hz in order that the majority of my divx files playback at their correct speed of 24FPS or close to 23.976). If I could get my monitor to be at 100Hz and ReClock to do it's multiple of 24 only on the TV overlay output I'd be most pleased. The PC monitor can jerk as much as it likes as long as TV out is smooth :)
You say 1.4 for application selection? Man that's a lot of builds away! ;)
lelsteph
22nd January 2004, 14:48
Thanks a lot for your answer!
Apparently reclock does not work neither with WinDVD 5.
I don't know from where to get the theatertek demo software. Any clue?
Thanks!
Ewi
22nd January 2004, 16:43
That sounds great. Will test now...
ogo
23rd January 2004, 10:57
Beta 6 is available (same download link)
oddball> This version is supposed to handle multi-monitor in the case windows see 2 or more monitors (desktops). This does not account clone mode/theater mode, dvdmax, or all the modes where windows only "sees" one monitor. I highly doubt i will ever be capable to support correctly "cloning" modes because every videocard manufacturer does it its own way, and more importantly there is just nothing in the Windows API to detect/handle that ... More importantly, i believe that clone mode are not a very good way to playback on TV/projector because DirectShow is somehow "fooled" by display drivers and thinks it is drawing on the primary display. From what i know of the inner working of DirectShow i just can't understand how theater/cloning mode can display correctly something on a TV/projector. But, on the other hand, i know that cloning mode is the only way to get proper tv out support in some cases (matrox dvdmax, dual head geforce, etc ...). So at the end of the day we are all stuck here ...
oddball> This beta has what you want to disable apps ...
lelsteph> I don't think there is a demo for theatertek, but why don't you use a frontend like ZP or MPC with windvd or powerdvd filters ? This works fine with reclock
Now for the changelog :
* improved multi-head display support. If Windows is configured to make use of more than one monitor, reclock will automatically identify on which monitor the playback window is open, and will correct the clock of the video card attached to this monitor. Then it is no longer necessary to select an adapter in configuration app (this setting have been removed).
* improved VBS notification with new events (STOP and QUIT) and muti-monitor support. See RunEvent.sample.vbs
* you can now specify by which percentage ReClock is allowed to slowdown or speedup the played media. Defaults are 1% slowdown, 5% speedup
* when ReClock can not find a good media adaptation because refresh rates do not match, it can now be allowed to try other values that will improve playback anyway. For example it will use 24 fps for a 23,976 fps source played at 60hz refresh rate.
* you can now prevent ReClock from loading with some players/applications. See advanced settings in config app
* fixed bugs in the event notification that could cause reclock to not take in account settings put by powerstrip, thus corrupting the timings database. I had to change the VBS scripting for that, so if you use VBS scripting please check your script against the new sample in the distrib
* fixed a freeze introduced in 1.3 that could occur at startup
* fixed a problem in DirectSound handling
* added a workaround for a bug in M-audio soundcards drivers that stopped playback after 2800 seconds
* revamped the configuration application to occupy less space on screen (useful when in TV mode)
* updated the NSIS installer for smaller setup size and setup corruption checkup
* DirectX 9 is now required to run ReClock
* fixed an error in a formula given in the paragraph "How to optimize SPDIF output" of the readme (thanks to Mars1 !)
ppera2
24th January 2004, 20:05
Version 1.3: it works very well with Voodoo 3 card in Win XP, directdraw mode. But by TV-out (what would be especially useful) it frozes - player CPU load is at 99%, whole XP is very slowed. I tried with 25 fps AVI & PAL (25 fps) TV out. Changed some settings, but always is same.
Here is log:
0.00s 000740 ---------------------------------------------------------
0.00s 000740 Creating global critical section
0.00s 000740 CReClock() v1.3
0.00s 000740 Getting reg key DRCActive = 0
0.00s 000740 Getting reg key DRCEffect = 1
0.00s 000740 Getting reg key HardwareResample = 0
0.00s 000740 Getting reg key CorrectionActive = 1
0.00s 000740 Getting reg key LogEnabled = 1
0.00s 000740 Getting reg key MaxLatencyPCM = 20
0.00s 000740 Getting reg key MaxLatencySPDIF = 5
0.00s 000740 Getting reg key UseDirectSoundForPCM = 1
0.00s 000740 Getting reg key UseWaveForSPDIF = 1
0.00s 000740 Getting reg key AcceptOldMultiChannelFmt = 0
0.00s 000740 Getting reg key DVDDefaultRate = 2
0.00s 000740 Getting reg key FileDefaultRate = 3
0.00s 000740 Getting reg key AudioPrebuffTime = 500
0.00s 000740 Getting reg key EnableVSyncCorrVMR9 = 1
0.00s 000740 Getting reg key EnableVSyncCorrOther = 1
0.00s 000740 Getting reg key VsyncTarget = 0
0.00s 000740 Getting reg key HighPriority = 0
0.00s 000740 Getting reg key UseDShowEstimMedia = 1
0.00s 000740 Getting reg key UseBuitinEstimMedia = 1
0.00s 000740 Getting reg key UseBuitinEstimDVD = 1
0.00s 000740 Getting reg key EnableNotif = 1
0.00s 000740 Getting reg key LockedAdaptation = -1
0.00s 000740 CReferenceClock()
0.00s 000740 Getting reg key UseDirectDraw = 1
0.00s 000268 Creating DirectDraw instance
0.00s 000268 Getting reg key DirectDrawDevice = 1
0.00s 000268 wait=0 ddraw device found: Primary Display Driver
0.00s 000268 m_ddInstance=001a38d0
0.00s 000740 Getting reg key D3DDevice = 1
0.00s 000740 m_hardwareSupport=1
0.00s 000740 CalcHardwareInfos() width/height/rate=(800/600/60) cache=(0/0/0/0)
0.00s 000740 Debut estimation vsync min
0.00s 000740 Fin estimation vsync min l_minLine=65535
0.00s 000740 Debut estimation latence
0.00s 000740 l_minInt=3325 avant correction
0.00s 000740 Fin estimation latence l_minInt=6650 2/4/8/16=52 0 0 0 l_passCount=52 l_equalCount=50
0.00s 000740 Debut estimation m_scanLine
1.04s 000740 Fin estimation m_detectedScanLines=1 l_passCount=50 l_equalCount=50 m_interlaced=0
1.04s 000740 Debut estimation refresh rate/ratio correction
ogo
26th January 2004, 20:48
Your log show a bug fixed in beta i talked above. Did you try this beta ? If no please give it a try :)
ppera2
26th January 2004, 21:45
I just tried beta 6. Unfortunatelly behavior is same in Win XP, it frozes when is in TV out mode.
In Win 98SE I was even able to force it to work with some order of switching to TV out, only with BS Player 1.08, but with vers. 1.3 of Reclock. Beta 6 frozes under same conditions :(
Here is log (shot in XP):
0.00s 0001e0 ---------------------------------------------------------
0.00s 0001e0 Creating global critical section
0.00s 0001e0 CReClock() v1.4 beta6
0.00s 0001e0 Getting reg key DRCActive = 0
0.00s 0001e0 Getting reg key DRCEffect = 1
0.00s 0001e0 Getting reg key HardwareResample = 0
0.00s 0001e0 Getting reg key CorrectionActive = 1
0.00s 0001e0 Getting reg key LogEnabled = 1
0.00s 0001e0 Getting reg key MaxLatencyPCM = 20
0.00s 0001e0 Getting reg key MaxLatencySPDIF = 5
0.00s 0001e0 Getting reg key UseDirectSoundForPCM = 1
0.00s 0001e0 Getting reg key UseWaveForSPDIF = 1
0.00s 0001e0 Getting reg key AcceptOldMultiChannelFmt = 0
0.00s 0001e0 Getting reg key EnableLessGoodAdaptation = 0
0.00s 0001e0 Getting reg key DVDDefaultRate = 2
0.00s 0001e0 Getting reg key FileDefaultRate = 3
0.00s 0001e0 Getting reg key AudioPrebuffTime = 500
0.00s 0001e0 Getting reg key EnableVSyncCorrVMR9 = 1
0.00s 0001e0 Getting reg key EnableVSyncCorrOther = 1
0.00s 0001e0 Getting reg key VsyncTarget = 0
0.00s 0001e0 Getting reg key HighPriority = 0
0.00s 0001e0 Getting reg key UseDShowEstimMedia = 1
0.00s 0001e0 Getting reg key UseBuitinEstimMedia = 1
0.00s 0001e0 Getting reg key UseBuitinEstimDVD = 1
0.00s 0001e0 Getting reg key EnableNotif = 1
0.00s 0001e0 Getting reg key LockedAdaptation = -1
0.00s 0001e0 Getting reg key AcceptedMediaSlowdownPCM = 1
0.00s 0001e0 Getting reg key AcceptedMediaSpeedupPCM = 5
0.00s 0001e0 Getting reg key AppExclude =
0.00s 0001e0 Current app is BSPLAY m_appExclude=;;
0.00s 0001e0 l_canRun=1
0.00s 0001e0 CReferenceClock()
0.00s 0001e0 Getting reg key UseDirectDraw = 1
0.00s 000440 1 monitor(s) found in system
0.00s 000440 DirectDraw device found desc=(display,Primary Display Driver) monitor=00000000
0.01s 000440 No monitor. Defaulting to primary hm=00010001
0.01s 000440 DirectDraw adapters count=1
0.01s 000440 Creating DirectDraw devices
0.01s 000440 CMonitor() ordinal=0
0.02s 000440 Created DirectDraw device guid={00000000-0000-0000-0000-000000000000} m_ddrDevice=0019ee98 m_monitorHandle=00010001 display=(800,600,75) hr=00000000
0.02s 000440 Created DirectDraw devices m_monitorCount=1
0.02s 0001e0 m_monitorCount=1
0.03s 0001e0 Init hardware infos cache for all monitors
0.03s 0001e0 CalcHardwareInfos() emptyCache=0 m_ordinal=0 display=(800/600/75) cache=(0/0/0/0)
0.03s 0001e0 Debut estimation vsync min
0.03s 0001e0 Fin estimation vsync min l_minLine=0
0.03s 0001e0 Debut estimation latence
0.03s 0001e0 l_minInt=3314 avant correction
0.03s 0001e0 Fin estimation latence l_minInt=6628 2/4/8/16=60 0 0 0 l_passCount=60 l_equalCount=50
0.03s 0001e0 Debut estimation m_detectedScanLines
ogo
26th January 2004, 23:53
At least it goes further ... This is the same problem i have with S3 cards and Matrox Mystique (they all have in common they are old and outdated :)). I'll try to find workarounds ...
TheRage
12th February 2004, 07:36
Originally posted by ogo
TheRage> If you disable detection with DirectShow in the config app, does reclock get the framerate correctly ? If yes i believe it's a bug in matroska
It doesn't seem to though I havent tried the new beta, am without PC atm & using my bro's (he won't let me install sh**) :(
chemmajik
12th February 2004, 07:44
Man I feel like so much a newbie in not ever trying this filter until late, really has helped out alot on video captures thanks developers!!!! Has been awesome & has saved alot of what could have been lost work!
ps: prior to 1.3 havent tested latest betas tnx thou
ogo
13th February 2004, 07:36
beta 10 is out (same download link).
ppera2 do you have better luck with this version ? Please send me a logfile
ppera2
13th February 2004, 17:58
Originally posted by ogo
beta 10 is out (same download link).
ppera2 do you have better luck with this version ? Please send me a logfile
Tested it. I had complaints about VBS script (line 157, Char 5 - cannot find file specified) when refresh rate was 85 Hz. When changed to 75 it disappeared. By TV out (PAL) it worked now good, without locking, as in Win98, as in XP.
Didn't success to set V Sync position well, but will try later more...
Here is link, where you can pick log files. In W98, TV out, and in XP 23.976 speed up to 25, also TV out:
http://www.pootnik.net/reclock_log.zip
ogo
13th February 2004, 19:25
Thanks ppera2, i checked your logs, and i have good & bad news :
- the good one is that it doesn't crash anymore
- the bad one is that the log reports that your video card cannot be supported because of insufficient driver support (this is what was crashing in the past). There is a bug because in this case reclock should give up and unload and not let you think everything is working well. So you video card cannot work with reclock because of poor drivers. Next beta will correct the bad unload behaviour.
Sorry for that
ppera2
15th February 2004, 15:19
Originally posted by ogo
... the bad one is that the log reports that your video card cannot be supported because of insufficient driver support (this is what was crashing in the past). There is a bug because in this case reclock should give up and unload and not let you think everything is working well. So you video card cannot work with reclock because of poor drivers. Next beta will correct the bad unload behaviour.
Sorry for that
Thanx. I understand that such cards lack some new features (or their drivers). It's probably not worth to develop software for them, people will sooner or later replace them.
But I have situation that under certain conditions it works well with Reclock 1.3 and TV out. Here is a log file, maybe you will get some useful info from it...
http://www.pootnik.net/reclock_log_OK_24-25_TV.zip
Technotrone
18th February 2004, 09:26
Okay, it was nice, it was fun, but it's messing up too much.
So I wanted to remove it, which using uninstall feature does go through. However, whatever traces/modifications it left it's proving to be a headache.
No video files have sound afterwards; they play, but no audio. I tried re-installing and uninstalling numerous times. Even went through registry and removed a few references to 'reclock' manually that were left over after uninstall.
Now I gotta install this damn thing back and it's causing weird shit to happen with video. Also, multiple icons appear on the taskbar, some are red, some are yellow.
Because of it I get entire computer frozen half the time I try playing an avi (divx or xvid). Everything runs smoothly w/out it, but sound doesn't work. So, help me get rid of this pest, please!
bogazici
19th February 2004, 10:51
It would be nice to have an option to disable systray icon. Anyway nice work!
ppera2
19th February 2004, 11:50
Originally posted by Technotrone
... it I get entire computer frozen half the time I try playing an avi (divx or xvid). Everything runs smoothly w/out it, but sound doesn't work. So, help me get rid of this pest, please!
I'm quite sure that it's not Reclock's fault. Better check your Win installation, or install fresh one. I installed & reinstalled it several times and never had issues.
And show some more respect for author who makes it free.
tb2496
19th February 2004, 22:49
Originally posted by bogazici
It would be nice to have an option to disable systray icon. Anyway nice work!
you could just hide it, if you have winxp.
bogazici
19th February 2004, 23:12
Originally posted by tb2496
you could just hide it, if you have winxp.
I mean *not show it all* :rolleyes:
Technotrone
20th February 2004, 01:11
Originally posted by ppera2
I'm quite sure that it's not Reclock's fault. Better check your Win installation, or install fresh one. I installed & reinstalled it several times and never had issues.
And show some more respect for author who makes it free.
Reinstall entire windows that was working just fine (and still does) just because there is no way to uninstall re-clock?
I was hoping for some input, a way around that's not in the readmes and forums. I simply pointed out that program is not functioning now, and not only that, but it went beyond by screwing up audio on all avi divx/xvid files. The only player that works fine is Winamp 5 since it never loads reclock anyways (also VLC player).
Is there anything besides uninstall that I can do to remove traces of this utility?
ppera2
20th February 2004, 11:18
Fact is that almost every Win user experienced similar things after installing/reinstalling diverse multimedia palyers, codecs, enhancers.
What is bad by you Technotrone is that you explicitly blame Recklock for problems, without real proofs for that.
I posted here couple times problems with multimedia playback, and never get answer. Probably it's because everyone have different problems, depending on his hard/software configuration.
spiff
20th February 2004, 14:27
Install reclock again, uncheck the "set reclock as preferred renderer" box and see if anything changes.
Originally posted by Technotrone
Okay, it was nice, it was fun, but it's messing up too much.
So I wanted to remove it, which using uninstall feature does go through. However, whatever traces/modifications it left it's proving to be a headache.
No video files have sound afterwards; they play, but no audio. I tried re-installing and uninstalling numerous times. Even went through registry and removed a few references to 'reclock' manually that were left over after uninstall.
Technotrone
21st February 2004, 00:55
Reclock is just my second suspicion. I bought a brand new Gforce video card and re-installed drivers, partially because of this issue.
I installed reclock few months ago and it was working fine, no issues I must point out. However, since I concluded I didn't have a need for it at the time, I wanted to uninstall it a few days after first install. That's when I noticed that audio wouldn't work on my video files. So I re-installed again audio was back. Repeated this several times and concluded that I have to leave it installed to fix audio.
I thought 'what the heck it ain't in the way' so I left it installed.
Now however, when I load a divx/xvid in WMP (classic, v8.0, v9.0) reclock shows 2 to 4 of its icons, some are red, some yellow.
The video begins stuttering resulting in WMP total freeze requiring a ctrl-alt-del.
Same file works perfectly after uninstalling reclock, OR disabling it as 'preferred renderer' from the options, WITHOUT any sound.
Therefore, I think it's reasonable to think that least painful fix to this would be to thouroughly remove re-clock. IF THERE IS A WAY.
Since the wizards (author of the software, or contributors, I consider them extremely knowledgeable and much smarter than me) seem to frequent this forums I thought there might an 'undocumented' trick or something else to try. IF NOT, I'll deal with this myself and I place no blame on the author, nor the program.
Whatever the fix I'll gladly post it here.
Cheers.
Hi Technotrone,
I'm the author of reclock. I'm willing to help you but i feel a little bit upset (to say the least) to read things that are not true here ...
Reclock comes with an uninstaller that DOES the job to uninstall it PROPERLY. It's as simple than that. Don't try to unregister it manually because it won't do all the steps necessary to uninstall it. Maybe there is a bug in uninstall procedure, but i really doubt it, because i've never received any complaint about this (and i receive a LOT of emails). I can assure you 100% that once uninstalled, there is no way that reclock can interfere with sound or video playback. Only (and only if) you checked "force reclock to be loaded in place of directsound/waveout renderers", reclock has modified some windows specific registry keys, that could not get restored properly if you messed up registry by hand trying to remove this "pest". Yes reclock leave some other entries in the registry, but this is done by purpose, to allow people to upgrade versions without losing their settings. Those keys are completely unharmful.
So here is what i propose you to do :
- download latest version from my website and install it with the setup.exe
- install it with the setup.exe
- launch config app and hit "restore default settings", then ok
- launch config app and check "force reclock to be loaded ..." and click ok
- launch config app and uncheck the same setting, and click ok again
- launch config app and check "set reclock as preferred renderer" then ok
- launch config app and uncheck the same setting, and click ok again
- uninstall reclock from the start menu. Check that reclock.ax is not anymore in the "program files/reclock" directory
Now for your "no sound" problem it's another story really. Maybe you have 2 soundcards and windows is not configured to output sound to the same soundcard reclock was ??? But i can assure you it's not a problem with reclock.
ogo
Cyberman
7th March 2004, 13:56
(First off, I havenīt read the entire thread - just searched through it using "disable", didnīt find an answer, though)
Needless to say, the programīs great.
However, it DOES need a method to be deactivated completely. I just tried watching an Mpeg file whose frame rate was 29.970, and though the video was good, I had no audio - ReClock told me that the framerate canīt be synched with the refresh rate.
I probably overread it, but what can I do now, besides uninstalling the program?
I tried a few settings, but had no luck - the "best" I got was audio with more noise than anything. The same happened with a video that had 15 fps, btw.
Both videos worked before, so the audio scrambling apparently is ReClocks "fault"(fault is the wrong word IMO).
On a side note, why is it that the clocks arenīt synchronized anyway? Wouldnīt that be part of the OSīs job?
Technotrone
7th March 2004, 17:36
Thanks for taking time to help me out. I realize it's a very ambitious, time-consuming project and as far as I know, it's also unique.
I did what you suggested above, there is no significant change.
I think (although haven't watched that many long vids yet) that it's a bit more stable.
When WMP starts it displays two or three reclock icons instead of just one. It even feels as if two or three copies of the program are active in the memory, since the video playback is pretty choppy. Closing WMP closes all reclock icons as well.
I am also not sure that you understood my problem. It's not about uninstalling so much as it's about disabling it w/out consequences for my audio.
Let me explain the problem briefly again:
Whenever reclock is either disabled as default renderer (from config) or uninstalled (uninstall goes through w/out errors) I get
PERFECT video playback, no choppiness, no WMP crashes, BUT, NO AUDIO.
__________
summary:
- ReClock Installed, enabled as default renderer = choppy video, crashing, AUDIO WORKS (in video files .avi .mpg .wmv any codec)
- ReClock Unistalled/disabled as default renderer = smooth video, NO AUDIO (in video files .avi .mpg .wmv any codec)
Therefore, somehow (and neither one of us knows how) ReClock IS causing this issue. It leaves something, a modification or corrupts something that kills my audio as soon as it's gone or disabled.
Now for your "no sound" problem it's another story really. Maybe you have 2 soundcards and windows is not configured to output sound to the same soundcard reclock was ??? But i can assure you it's not a problem with reclock.
Read my description again, sound is not present ONLY when it comes to video files, and ONLY after ReClock is uninstalled OR disabled as preferred renderer. It doesn't kill sound on my entire computer.
IN CONTRAST, VLC player and Winamp video players always have audio even after uninstalling reclock because they never load reclock.
I have a single sound card SB Live Value which is selected in the reclock config, as well as being the default in windows setup.
As for my choice of words alluding to the program's 'missbehaviour' NOW, I never wanted to blemish its potential usefulness, thus I appologize.
The thought of having to reinstall entire Windows with all the settings, all games,codecs, backing up needed stuff I'm sure you too would find it irritating. I won't do that just yet though. I decided to exchange my MSI GeForce 5600/128 video card for an ATI one. Who knows, maybe things just work themselves out?
One thing I can be constructive about for a change is when it comes to adding an option to reclock; A setting that prevents reclock from loading with .wmv and .mpg [or user's choice of] files. I noticed (even before my troubles) that these vids would often skip like, 1/4 of the length, and jump through a few frames till the end of the video.
For now, unless there is anything else you (or anyone else) might think of suggesting, I'm stuck with it.
@Cyberman
>However, it DOES need a method to be deactivated completely. I just >tried watching an Mpeg file whose frame rate was 29.970, and though >the video was good, I had no audio - ReClock told me that the >framerate canīt be synched with the refresh rate.
>I probably overread it, but what can I do now, besides uninstalling >the program?
>I tried a few settings, but had no luck - the "best" I got was >audio with more noise than anything. The same happened with a video >that had 15 fps, btw.
Reclock should never distort audio or make "noise" whenever it says you the framerate do not match. It has been designed to enhance audio, not disrupt it in any case. Could you enable logging and send me a logfile of your session ?
>a side note, why is it that the clocks arenīt synchronized anyway? Wouldnīt that be part of the OSīs job?
This is explained in the manual ...
@Technotrone
I don't understand your problems with multiple icons, never had any report of that. Anyway in case you played a file with multiple audio streams, it is normal to get an icon per audio stream. In this case you should use a better player than WMP (try Media Player Classic or ZoomPlayer).
Anyway for your problem :
- did you install/uninstall reclock from different user profiles ?
- please do the following :
* uninstall reclock with the uninstaller
* locate a file named "quartz.dll" in your windows\system32 directory. Let's say it is C:\WINDOWS\System32\quartz.dll
* check that those registry keys contains a value equal to the path of this "quartz.dll" file :
HKEY_CLASSES_ROOT\CLSID\{79376820-07D0-11CF-A24D-0020AFD79767}\InprocServer32
HKEY_CLASSES_ROOT\CLSID\{E30629D1-27E5-11CE-875D-00608CB78066}\InprocServer32
HKEY_CLASSES_ROOT\CLSID\{6EA78BC1-ED35-11D3-9D11-0050BA0F91DA}\InprocServer32
* correct those keys if they do not have the good path
Bitmonster
11th March 2004, 01:28
@ogo
Beta16 is not able to detect the right display on my machine when I use Direct3D. I have two videocards installed:
1. GF2MX AGP as display 1 (Monitor1) and 3 (TV)
2. SiS6326 PCI as display 2 (Monitor2)
When the player is started on the TV, ReClock with Direct3D detects display 1 and shows "1/1", so it only finds one head.
If I enable DirectDraw, it uses the right head and shows "3/3".
Cyberman
11th March 2004, 20:23
@ogo: Just sent the mail.
So itīs in the readme - stupid me, I should have read it before asking. Sorry.
spiff
18th March 2004, 12:16
Bitmonster,
I had a similar problem and I think it had something to do with how d3d handles displays.
I could run media on the second display with d3d on two cards.. but if the second card is an old/noned3d card the d3d syncs to the primary adapter anyway, so while I could get d3d to draw a screen, things never worked as they should.
Try running dxdiag and see if your second display even supports d3d in "dual" mode
Bitmonster
18th March 2004, 13:56
Originally posted by spiff
Bitmonster,
I had a similar problem and I think it had something to do with how d3d handles displays.
I could run media on the second display with d3d on two cards.. but if the second card is an old/noned3d card the d3d syncs to the primary adapter anyway, so while I could get d3d to draw a screen, things never worked as they should.
Try running dxdiag and see if your second display even supports d3d in "dual" mode
I don`t want to run the player on the second card. The problem is simply that ReClock does not detect the cards right through Direct3D. Older Versions of ReClock work right in this mode.
Lobuz
22nd March 2004, 00:48
Any news about better vsynch correction in VMR9 renderless? With HD clips it's more visible. Try that robotica clip from:
http://www.microsoft.com/windows/windowsmedia/content_provider/film/ContentShowcase.aspx
Regards
Lobuz
Cyberace
1st April 2004, 13:48
(copying my mail to OGO here as I never got a reply from this mail sent last week :( )
Hi Ogo, I'm writing to you on behalf of the XboxMediaCenter Project (an open source multimedia player for the Xbox) as the thing is one of our developers is programming a DVD-video playback core. He's writing many things from scratch but he's also are using source code from other open source projects. I suggested that he should use your ReClock code to implement NTSC <=> PAL handling but he said that only a portion of your code was available for download on your site so I was wondering if you would consider sharing/opening your full source code (as GPL or LGPL) to us?. We're a nonprofit hobby project so we can't offer you any money if the credit for the code posted on our site is not enough for you, but maybe you would consider receiving a free Xbox modchip from us in exchange for the full code?, you would still of course retain the copyright and credit of the code. What do you say/think?
More info on the XboxMediaCenter Project: www.xboxmediacenter.com/info_project.htm
We're also the same team behind the now famous XBMP ( http://www.xboxmediaplayer.de )
The developer coding the DVD player core is d7o3g4q (a.k.a duo, who you can reach on d7o3g4q īatī hotmail `dot` com if you want/need to speak to a developer, as I myself are not a coder, I just do project management, testing and support). Know that the separate DVD player core will be a multi-region with full DVD-video menu support for XBMC.
Best regards / Gamester17 (a.k.a. Cyberace)
gamester17 īatī xboxmediacenter `dot` com
http://www.xboxmediacenter.com
Mark Rejhon
5th April 2004, 09:24
Hi!
I just donated 10 Euro to your Reclock filter.
Did you get my last email message about a suggestion
on my to use Reclock on realtime video from a capture
card, using the PowerStrip API for realtime refreshrate
changes?
PowerStrip API:
http://www.entechtaiwan.net/forums/viewtopic.php?p=3573#3573
As you can see, the use of PowerStrip to adjust
Radeon refresh rate in 0.001 Hz increments in realtime
(or a better method, such realtime VBI scanline
addition/removal) ... makes perfect realtime genlock
possible between an arbitrary third party DirectShow
capture card and a modern AGP graphics card such as
Radeon capable of 0.001 Hz increments. Just use the
PowerStrip API during the VBI, and approximately
95% of CRT displays will not have any video
disruptions.
Even a Microsoft Research paper covered this topic of synchronization:
http://www.microsoft.com/whdc/hwdev/tech/stream/vidcap/VidSynch.mspx
FINALLY, the PowerStrip API makes this possible.
Your software program is the closest thing on the
market that makes this achievable with realtime
capture cards.
So that means Reclock is now theoretically possible
watching live video from capture cards! Do you think
it's easy to add to Reclock, now that it can be done
through the PowerStrip API?
If you need more information from another fellow
programmer (C++), just send me an email.
Thanks,
Mark Rejhon
www.rejtech.com (http://www.rejtech.com)
www.marky.com/hometheater (http://www.marky.com/hometheater)
Mark Rejhon
6th April 2004, 10:02
I posted more detailed technical information in this doom9 thread (http://forum.doom9.org/showthread.php?s=&threadid=73874).
oddball
24th April 2004, 15:11
ogo: Would it be possible to create your own rendering engine for timestretching? I tried using WinDVD 5's timestretching enabled in ReClock and it's a bit 'glitchy'. I can definitely hear audible dropouts (Milliseconds of drop out but enough to be annoying).
If you could create a smoother timestretching built into ReClock itself it would be cool!
Thanks!
oddball
24th April 2004, 15:26
ogo: I also found this open source that features timestretching and is used as part of newer builds of Avisynth. Maybe you could use it?
http://sky.prohosting.com/oparviai/soundtouch/
Lefungus
25th April 2004, 22:24
Reclock filter can't detect properly framerate while the video is in matroska container, and so can't be used.
obieobieobie
27th April 2004, 04:34
I notice that version 1.4 of Reclock is availible at http://ogo.nerim.net/reclockfilter/
MfA
27th April 2004, 10:34
Woot, multihead and vsync adjustment ... finally no more switching resolutions till I happen to get no tearing :)
clehner
28th April 2004, 15:20
How about this new feature, load reclock with PowerDVD, does not seem to work with my set up. I tried PowerDVD 4.0 only.
Is there an extra trick I have overlooked?
Thanks for your excellent work ogo, 1.4 works perfectly otherwise for me.
oddball
28th April 2004, 22:29
WinDVD's timestretch is poor quality. OGO can you look into my earlier suggestion of building in your own timestretch routines?
Mark Rejhon
5th May 2004, 00:35
ogo, any comments?
oddball
5th May 2004, 07:10
ogo has switched his attention to the forums here http://www.avsforum.com/avs-vb/showthread.php?s=&postid=3736708#post3736708
He seems to be ignoring Doom9 at present for some reason
Orezza
6th May 2004, 15:59
hello
In first I wanted to congratulate you for your program reclock, essential
After an idea has to subject to you in the same kind but the with dimensions one of l'image, on the sacades of the traveling due to the passage of the 25 images to the 75Hz explanation here http://www.trimension.com/index.php?page=downloads.html
you think what of it?
@+ ;o)
bad translation sorry , just for lock the rule (#13);o)Wilbert
salut
En premier je voulais te féliciter pour ton programme reclock ,indispensable ;)
Ensuite une idée a te soumettre dans le meme genre mais du coté de l'image,
sur les sacades du traveling due au passage du 25 images au 75Hz explication
ici http://www.trimension.com/index.php?page=downloads.html
tu en penses quoi ?
@+ ;o)
Wilbert
6th May 2004, 16:03
Please read the forum rules (#13). I suggest you add an english translation/summary.
Wilbert
6th May 2004, 16:09
Btw, I saw him posting this on the avs forum:
Blight: i'm quite surprised. I just tried to play a DRM file (scooby doo 2 trailer) with reclock + WMP9, and to my big surprise reclock is able to use vsync tools with DRM content. I may sound uninteresting, but it means something very important : reclock can access all the video frames in unencrypted format
Indeed i could extend reclock to become a media "(re)encoder". Simply you take any player with any media you want (DVD, streamed media, DRM) , even put ffdshow to tweak or resize the picture if you want, and then reclock could be used as an encoding engine : it would let you choose the codec you want, would be able to reencode at a different framerate, etc ... It could even be used to make 2 pass encoding i believe.
Sounds nice :)
@oddball : i'm back on doom9 forums :) Sorry for the inconvenience. I'm aware of audio timestretch bad quality, and i'll probably try again soundtouch library for the next release.
@Orezza: i already know trimension. In fact its quite funny, because trimension was created by the very same philips engineers that creation "digital natural motion" for philips tv sets. I have one of those tv sets, and the reason i wrote reclock in the first place, is that the "trimension" algorithm in my tv was not making its job because of stutter. You can also find another software "motion perfect" that does the same thing as trimension but not in realtime. I think a trimension like algorithm in reclock would be indeed THE solution, but this is a patented software, and i've never been able to understand what is hidden behind and how it works exactly ...
@Mark Rejhon : thanks a lot for your donation :) I have made you a response on AVS about testing with Powerstrip API. For now, i have tried scanlines add/remove method, but as i was expecting it, my video card (a geforce 3) show artifacts when modifying the scanlines number. For example, if i modifying the scanline number, then wait a few scanlines, and modify scanline number to original values, i get artifacts (whole screen vibrating). Did you have a change to test on geforce cards ?
@clehner : i'm not sure it can work with version 4.0. You will have to switch to 5.0 ...
@Cyberace : i'm not against giving you the source code of reclock to understand how it works, provided you don't give away the source code. But i'm not sure it will help you to develop your xbox player. You said me that this player does not use directshow, but reclock heavily depends on directshow to work ...
@Bitmonster : could you activate logging and send me a logfile ?
I'm our of business for one week (vacation :)) so don't expect any response for one week :)
@Wilbert : yes it's interesting ...
kallekill
6th May 2004, 18:26
I think Philips natural motion looks bad. It gives a kind of artificial look to the picture and it looks like all movies are shot on video. The motion looks more fluid, but it also looks like scenes move faster that they are supposed to.
Bitmonster
7th May 2004, 09:47
@ogo
After I tried to send it to you, I got the following mail error:
maildir delivery failed: Sorry, the user's maildir has
overdrawn his diskspace quota, please try again later.
Cyberace
7th May 2004, 09:56
Originally posted by ogo @Cyberace : i'm not against giving you the source code of reclock to understand how it works, provided you don't give away the source code.Hi Ogo, that would be great as it's more than worth a good look :D I promise I will only share it internaly to the the Teams developers working on the issue and only for guideline/idea use, please e-mail it to me (link) (gamester17@xboxmediacenter.com) or upload it here (link) (http://www.xboxmediacenter.com/upload/) :cool:
PS! a few team devs have mentioned ideas about a implementing DirectShow framework for XBMC ;)
oddball
8th May 2004, 08:16
I'm interested in what that dscaler dude is doing. His idea for realtime genlock sounds intriguing (If somewhat technical for me). Could this be used in ReClock at some later stage do you believe?
Ryokurin
13th May 2004, 18:56
since Besweet now has the soundtouch option http://dspguru.doom9.org/soundtouch.html for files, theres yet another time stretching program to check. With so many people working on it, its just a matter of time of someone getting it done correctly.
oddball
14th May 2004, 23:05
Yeah! Yeah! Stick it in ReClock! ;)
Lobuz
20th May 2004, 15:34
@ogo
I'd like to ask again if there is any chance to get rid of that VMR9 renderless vsynch tearing? With VMR7 everything is ok even without reclock.
About Trimension there was an old thread (http://forum.doom9.org/showthread.php?s=&threadid=54192&perpage=20&highlight=trimension&pagenumber=2)
and at the last post there is a link (http://www.ics.ele.tue.nl/~dehaan/publications.html) to some papers of patented algorythms.
Regadrs
Lobuz
marcobdivax
10th June 2004, 10:44
@ogo: I've tried to use reclock with pdvd4, but it doesn't start (I've enable logging, but no log files); any suggestion?
Thanks
Marco
Cyberace
11th June 2004, 12:15
Originally posted by Cyberace
Hi Ogo, that would be great as it's more than worth a good look :D I promise I will only share it internaly to the the Teams developers working on the issue and only for guideline/idea use, please e-mail it to me (link) (gamester17@xboxmediacenter.com) or upload it here (link) (http://www.xboxmediacenter.com/upload/) :cool:
PS! a few team devs have mentioned ideas about a implementing DirectShow framework for XBMC ;) Hi Ogo, we're still waiting patiently for the source code (still haven't received them, maybe you forgot? :confused: )
oddball
11th June 2004, 20:30
Originally posted by marcobdivax
@ogo: I've tried to use reclock with pdvd4, but it doesn't start (I've enable logging, but no log files); any suggestion?
Thanks
Marco
Don't use PowerDVD.
marcobdivax
13th June 2004, 11:16
Good answer, but "powerdvd buyed, and reclock set to use it" is another good answer.
bye
Marco
demonslayer
18th June 2004, 13:00
Originally posted by marcobdivax
"powerdvd buyed, and reclock set to use it" is another good answer.
Actually "bought PowerDVD and set reclock to work with it" would be a good answer.
DeMoN
Cyberman
19th June 2004, 20:51
Well, I guess it doesnīt entirely fit in here, but since the symptons are similar to what ReClock cures, Iīll write.
I thought my system had that the timer were asynchronous, but as it turns out it rather was/is Windows default Video renderer. When I switched from "System Default" to "Old Renderer"(Media Player Classic, Options->Playback=>Output), the video ran smoothly.
marcobdivax
22nd June 2004, 15:39
Originally posted by demonslayer
Actually "bought PowerDVD and set reclock to work with it" would be a good answer.
DeMoN
Very useful, thanks demon. This is a helpful thread.
Single
4th July 2004, 10:26
Hi!
I am trying to post e-mail to ogo but reply was "maildir delivery failed: Sorry, the user's maildir has overdrawn his diskspace quota, please try again later."
+++
I am just downloaded reclock v1.4 and found that it has one big disadvantage. There is no more "videocard to use" dialogue. I read "change.log" and read the explanation "why". But you forgot about video mirror mode. I can't no more use reclock with video mirror mode. When i starting video player (light alloy or zoom player) reclock fetches vertical frequency from monitor where overlay is, but I am watching in another monitor (TV) and in this case reclock must sync to monitor where video mirror is and not where video overlay. In other case reclock 1.3 has another side of this issue. If i select secondary video card and than switch secondary display off at "display properties" and will try to whatch movie than reclock will not load or player gives an error. I think there will be great to have to choose certain video card and auto mode. The choise must will be!
Thank you.
jfma
13th July 2004, 09:30
I've got a Pioneer VSA-AX10Ai (which is the European equivalent to the 59TXi in the States). It has a USB interface that works perfectly with my PC. But when I use ReClock there is no sound at all :confused: !!
I'm not quite sure why this happens. If I have understood correctly, what ReClock does is slightly modify the sound sampling frequency, so the problem might be that my Pioneer only synchs when sampling freq is exactly 44.1 or 48KHz. Am I right? Does this happen with other USB soundcards?
Please, help!! I posted this question at avsforum but nobody answered.
Thanks.
Hey,
Sorry if I missed something, but I have a problem.. My LCD is running at 60hz (or so it says), and I can't change it. And most of my movies are running at 25/23.9xx/24 FPS, so ReClock says it can't sync them.. Is there anything I could do?
Thanks.
jfma
20th July 2004, 13:10
There's nothing that ReClock can do unless you can change the LCD's refresh rate to a multiple of the movies frame rate.
If you check "enable guessing a better media speed when hardware refresh rate do not match" (that's on the Video Settings section of ReClock Configuration) ReClock will play at 24fps on a 60Hz display (see the Read me First document). But you won't have the best results unless you change your LCD's refresh rate.
Cyberace
13th September 2004, 12:59
Originally posted by ogo @Cyberace:
i'm not against giving you the source code of reclock to understand how it works, provided you don't give away the source code.[/B]Originally posted by Cyberace @ogo:
Hi Ogo, that would be great as it's more than worth a good look :D I promise I will only share it internaly to the the Teams developers working on the issue and only for guideline/idea use, please e-mail it to me (link) (gamester17@xboxmediacenter.com) or upload it here (link) (http://www.xboxmediacenter.com/upload.htm) :cool:
PS! a few team devs have mentioned ideas about a implementing DirectShow framework for XBMC ;)
Originally posted by Cyberace @ogo:
Hi Ogo, we're still waiting patiently for the source code (still haven't received them, maybe you forgot? :confused: ) Hi Ogo, are you still alive?, we're still waiting for that source code you promised :rolleyes:
...FYI, we have already started working from scratch on a brand new player-core and would like really like to have a look at your code, now more than ever ;)
Trucci
25th September 2004, 00:16
Ogo, when I uninstall Reclock, Windows Media Player has an error everytime I start it up. Then there is this blue box thingie that appears in the tray. When I reinstall Reclock, everything works again. I am using Windows Media Player 10.
Trucci
25th September 2004, 00:42
No wait, I just uninstalled the Nimo codec pack and all is well.
oddball
4th August 2005, 15:31
ReClock crashes playback on MKV. What gives? I tried 1.4 and 1.5 beta 8
oddball
4th August 2005, 15:34
Has anyone got a contact for Ogo? His website is not responding.
Leak
5th August 2005, 07:36
Has anyone got a contact for Ogo? His website is not responding.
Well, his website moved to http://reclock.free.fr/ , but it's not been updated in ages, and his last post in his support forum is from the end of march... :(
Cyberace
5th August 2005, 09:30
Ogo seems to be active in the avsforum.com forums (http://www.avsforum.com/avs-vb/showthread.php?s=&postid=3736708#post3736708), though I didn't get a reply :(
Leak
5th August 2005, 17:15
Ogo seems to be active in the avsforum.com forums (http://www.avsforum.com/avs-vb/showthread.php?s=&postid=3736708#post3736708), though I didn't get a reply :(
Well, his last post there is from November 2004 - that really doesn't look active to me; more like he dropped off the face of the planet... :(
np: DJ Shadow - Best Foot Forward (Endtroducing Deluxe Edition (Disc 1))
Cyberace
12th September 2005, 11:15
@Ogo, are you still alive?!! :confused:
GrofLuigi
23rd December 2005, 05:59
@Ogo, are you still alive?!! :confused:
Apparently, he is. ;)
There is a new version on his ReClock DirectShow Filter (http://reclock.free.fr) page. :D :D :D
GL
kallekill
23rd December 2005, 12:01
Anyone knows if the timestretching option still degrades sound quality if you choose do resampling with hardware?
Cyberace
23rd December 2005, 12:38
@Ogo, are you still alive?!! :confused:Apparently, he is. ;)
There is a new version on his ReClock DirectShow Filter (http://reclock.free.fr) page
still no source code in sight though :( ..seams he gone out of his way now to remove (or rather 'work around') the GPL licensed code he is using in ReClock :sly: ...however technically as his on binaries/releases still contain (and allways will contain) he is required to release the full source code of those binaries/releases as per the GPL :rolleyes:
clehner
31st January 2006, 10:41
Anyone knows if the timestretching option still degrades sound quality if you choose do resampling with hardware?
What do you mean? The quality depends on the resampling quality of your sound card.
videomixer9
31st January 2006, 12:40
besides some other things reclock doesn't really do anything for me, if something starts choking on things the video gets even more fucked up instead of being unharmed. Very mysterious the effect that marking a dozen media files in explorer makes it hang the video completly.
Lil' Jer
31st January 2006, 14:11
still no source code in sight though :( ..seams he gone out of his way now to remove (or rather 'work around') the GPL licensed code he is using in ReClock :sly: ...however technically as his on binaries/releases still contain (and allways will contain) he is required to release the full source code of those binaries/releases as per the GPL :rolleyes:
What are you talking about? The GPL code is included in the binaries...
http://img501.imageshack.us/img501/2945/untitled1jj.png
Cyberace
31st January 2006, 21:35
What are you talking about? The GPL code is included in the binaries...According to the GNU Public License (GPL) if you use just any GPL code in your code you must release the full source code of that binary and not just the part of the code that you changed (which means Ogo must release the full source code of ReClock that the versions that incuded borrowed GPL or he is violating the license), ...if however the code he borrowed was under the Lesser GNU Public License (LGPL) then it would be enough to do what he did and just release the part of the code that he changes, but as it wasn't/isn't under LGPL :sly:
No OSD developer would/can argue with that (and be found in the right).
foxyshadis
31st January 2006, 23:42
Does the license, or official interpretations of it, specify that removal of gpl code and removal of old binaries is sufficient or insufficient to remediate infringement?
kallekill
1st February 2006, 10:00
What do you mean? The quality depends on the resampling quality of your sound card.
I was referring to the following quote from the readme-file. I was wondering if that is true for timestreching as well.
"Hardware resampling gives better sound quality (no degradation in quality at all), but due to some limitations of some soundcards, it may not work well on all of them (you may experience sound desynchronisation). That’s why it is not recommended."
clehner
1st February 2006, 10:24
Yes, and that confirms what I say, the quality depends on your sound card. Get a decent sound card (like M-Audio) and you are in the clear.
HIH
kallekill
1st February 2006, 18:58
Yes, and that confirms what I say, the quality depends on your sound card. Get a decent sound card (like M-Audio) and you are in the clear.
HIH
How I understand the quote is that the audio quality doesn't depend on the card. You will always get resampling that has no degradation in quality if you check "do resampling with hardware". But if you got a bad card you will experience other problems like sound desynchronisation.
Also this only mentions resampling and not changing the pitch which is what the timestretching option is doing. The readme file only mentions that the timestretching option degrades quality. I was wondering if the pitch also is done in hardware if you chose do resampling with hardware or if it is always done in software and still degrades the quality.
Cyberace
1st February 2006, 20:50
Does the license, or official interpretations of it, specify that removal of gpl code and removal of old binaries is sufficient or insufficient to remediate infringement?don't think a case like that with the GPL has ever gone to court and as far as I know the GPL doesn't specify any conditions in which you can remove GPL code to 'undo' previous violation, however I'm sure it' not allowed; he should have read and followed the license when he selcted to use GPL code in his project so what's done is done, he must release the full source code of all the previous binary versions that included GPL code.
I don't think anyone will sue him but what he did was wrong, and as I see it the only way he can make that up to the OSD community is by releasing the full source code on those binaries. Worst case senario if he doesn't (and no ones sues) is that he gets 'black-listed' by the OSD community which is not a nice thing.
clehner
7th February 2006, 10:37
I was wondering if the pitch also is done in hardware if you chose do resampling with hardware or if it is always done in software and still degrades the quality.
Let me check on that.
However, the right thing to do that is play PAL with 24fps. Everything else is just not optimal anyways.
kallekill
7th February 2006, 14:52
Let me check on that.
However, the right thing to do that is play PAL with 24fps. Everything else is just not optimal anyways.
24 fps and 23,976 fps movies stutter a lot on a tv screen. Playing them on a PAL tv in 25 fps is supersmooth.
clehner
7th February 2006, 15:12
24 fps and 23,976 fps movies stutter a lot on a tv screen. Playing them on a PAL tv in 25 fps is supersmooth.
I understand. You should get a display that can do 48Hz ;)
MfA
7th February 2006, 21:04
Does the license, or official interpretations of it, specify that removal of gpl code and removal of old binaries is sufficient or insufficient to remediate infringement?Legally it isn't ... morally it's pretty shaky too. Sure he did have to do a whole lotta work exploring the deeper recesses of windows playback ... but the code he linked in wasn't exactly a couple of easily replicated library routines either.
Whether it's legal now depends on whether he stopped distributing the GPL'ed code ... and AFAICS he has not. This thread should have been locked/removed a long time ago.
Specifically he is still breaking the following part of the GPL :
"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it."
Im pretty sure he knows it too, since he says this "This is more GPL compliant" in the changelog ... which is like being a bit pregnant.
Ogo, if you are still reading this after all this time ... it's not in the spirit of the GPL what you have done, the spirit of the GPL is share and share alike under the same conditions. When people want to license something under the LGPL or BSD licenses they do so, when they don't they don't. Sure, it was your own big mouth which brought this to light but that is hardly an excuse now is it.
foxyshadis
8th February 2006, 06:51
I guess part of the problem is that GPL is still a voluntary license. You pick it up and you're expected to obey it, but almost invariably there's no teams of lawyers, no court appearances, no judgements, and very little anyone can do about it except try to get the word out about violations. For all its strong language, it asks people to follow the rules out of the goodness of their hearts, knowing there will be no effective punishment for ignoring them.
Sveasoft for one has been thumbing its nose at a company as huge as cisco and the wrt54g's extensive fanbase for years, and diluting the "scariness" of the license, because cisco just doesn't care about enforcing its GPL rights. They might as well have made it BSD/X11.
Cyberace
8th February 2006, 12:39
Non the less, the GPL is a legal contact and you are bound by law to follow it if you choose to use GPL code in your project, the original authors do have the right to sue (and probebly would winn in this case), though in most cases they probebely don't have the money, time and/or interest to do so, ...however know that there 'Pro Bono' orginazations and firms available that volunteer for free to protect the rights of OSD (Open Source Development) projects, but these foremost prioritize cases when big companies violate GPL/LGPL licenses and make money by doing so, not the individuals who borrow GPL/LGPL code for use in their software for which they don't charge anything for.
http://www.gnu.org/philosophy/enforcing-gpl.html
http://www.fsf.org
http://www.softwarefreedom.org
http://www.open-mag.com/features/Vol_66/GNU/GNU.htm
fanbanlo
29th May 2006, 10:48
just tried the Kernel Streaming output, doesn't work with my AV-710 (Envy24-HTS).
Anyone got it working?
Also... can't register successfully on their own forum... never received their activation e-mail... ~_~
Harmonica
2nd September 2006, 02:23
This thread is a little old but hopefully this is the right place.. could someone tell me what the correct method is to correct a PAL 25fps movie encoded from 24fps or 23~fps using ReClock?
Specifically, I'm playing the new Battlestar PAL Season 2 DVDs, which I think have been incorrectly transfered from 24fps or NTSC 23~fps (unless the HDTV format they record in is PAL 25fps - I'm asking some fan forums right now) because the voices are pretty chipmunky compared to the Region 1 box set I have which runs at 23~fps. So I think they avoided timestretching..
edit: found out in this thread (http://www.avsforum.com/avs-vb/showthread.php?p=8367904) at avsforum that the correct method is to run at 24fps and tick PAL SpeedDown.
digitaltoast
12th November 2006, 00:08
This reclock thing is messing with AutoGk - if I run autogk with windows locked, reclock comes up with some message about my video card being incompatible, yet this messages doesn't appear if I've not locked the machine.
I don't want to leave windows unlocked, so I uninstalled ReClock.
Except it's not gone! How do I rid of all traces of it, properly, so it doesn't interfere? Thanks
leeperry
31st January 2008, 19:36
anyone having problems with resampling 1536 kbit/s audio streams from 23.976 to 24 fps ? :(
I tried it all, all I get is random glitches........it's perfectly fine with <=640 kbit/s streams...
TheShadowRunner
10th March 2008, 23:06
Since:
- ReClock's forum on free.fr is dead
- Ogo may be watching this thread, who knows ^^;
- The ReClock code sold to slysoft hasn't been put to good use so far (and what's up with DVDRecClock, I certainly use ReClock for media too..)
Here's a compilation of enhancements and bugs for the latest ReClock 1.7b4.
Enhancements:
- Add support for EVR and Haali's video renderers. (the "Tearing test" on those would be most interesting..)
- Add detection of framerate from h.264 video streams
- Option to blacklist some file extensions or video stream types from being treated by ReClock (I'm thinking of those crazy WMV files @ 120fps which make ReClock alternate all the time between 24fps and 30fps modes while the media is playing, and no, my display cannot do 120hz :/)
- Allow the user to define his own shortcuts to access the "Tearing Test" and "Show Vsync on screen". Shift+Ctrl+Alt+F9 or F10 is very impractical and very hard to emulate via an IR remote control (it works 2-3 times out of 10 button presses at most :/)
I would be perfectly happy with just "F9" & "F10" without all the rest hehe.
Bugs:
- Enabling/Disabling the "Tearing Test" doesn't sem to work the way it is supposed to.
The problem is that when enabling the "Tearing Test", Reclock will automatically enable the "Show Vsync on screen" feature as well.
And if we disable the "Show VSync on Screen feature", then everything disappears. It's not possible to have the "Tearing Test" running alone. Therefore why the need for 2 checkboxs (and 2 shortcuts)?
- The major and most annoying bug:
Pc specs: XPSP2, Geforce8500GT, nvidia 169.44, IntelE2180
Screen: sony hdtv with 1080p@48, 1080p@50 & 1080p@60
Reclock settings: Speed:"Auto (best)", always in PCM mode, no vsync correction for VMR9.
ZP video renderer: VMR9 windowed (VMR9 renderless & windowless have too much problems being displayed correctly after RunEvent.vbs resolution change, getting a persistent black screen most of the time with those renderers)
The bug :
If I let a video play without any interruption from start to finish, it will always be perfectly smooth all the time (the joys of watching the "tearing test" for 1h30 ;)). ReClock does its job perfectly.
But If i interract with the video, using fast-forward or rewind, maybe 2 times out of 10 when the video resumes at normal speed, it will be totally jerky.
I'm *not* talking about tearing, more in details, the "tearing test" will show the line "jumping", although the "vsync on screen" is perfectly stable and there's no tearing whatsoever.
A very easy way to correct this issue is to simply to pause, wait 2 seconds and then resume the video. Then everything becomes perfectly synced again.
What could be the cause of this?
It happens with all renderers (VMR7, Overlay, all VMR9s and EVEN VMR9 Renderless Exclusive.)
It happens will all video stream types, DVD movies included.
It happens under any frequency 48hz, 50Hz & 60hz.
Ogo, is the above issue what you are talking about here:
"You may experience permanent jerky playback sometimes (maybe 10% of the time). Seeking the movie or Pause/Play will solve the problem. This is caused by the video renderer drawing each frame exactly during vertical blank which is not a good idea. This problem is exacerbated with ReClock, because the video renderer will stay in sync with the video card, thus drawing each frame during vertical blank. I don't know yet how to solve this (writing a new video renderer would be a solution but this is not an option !)"
Is there trully no solution to this even as of now? (that Ogo quote is old, to say the least)
How come this problem doesn't seem to bother anyone?
Thanks for reading and here's hoping Ogo still has plans for his wonderful creation. It can't be dead, not just yet, please. ;)
Later,
TSR
hagayg
11th March 2008, 13:10
Without really knowing the reason you are using reclock i suggest you to read the following thread :
http://forum.doom9.org/showthread.php?t=135504
you might find it more helpful than keep on waiting/using reclock
leeperry
11th March 2008, 13:14
well I'm using Reclock in 23.976@24 in 48Hz, and lemme tell you THIS IS SMOOTH :D
"ConvertFps" in the avisynth part of ffdshow is worthless, it's blurry like hell due to frames blending :eek:
hagayg
11th March 2008, 13:29
if your eyes see 24fps as smooth you are somewhat lucky :)
also i wonder what you do when you get a 25fps file or ~30fps file.
I suggest you to try the convertfps on a well encoded mkv or avi...
and btw , if all you need is 23.976->24 conversion you could use the assumefps of avisynth, same effect much less overhead...
leeperry
11th March 2008, 13:52
oh yes, 24fps in 48Hz is freaking smooth...or at least it doesn't hiccup :D
I play 25fps@50Hz and 30fps@60Hz
convertfps does blending, which looks terribly BLURRY with fast movements.
Reclock forces a perfect timing between A/V, and the 24fps in 48Hz is very smooth......and not blurry at all.
anyway, I was just pointing out that there's no way I could do without Reclock at this point.
of course 24fps is not as smooth at 60fps, go explain to the movie industry that they have to shoot in 60fps then :D
TheShadowRunner
11th March 2008, 19:59
Of course I agree with every word leeperry said.
ReClock is probably the most useful Win32 app ever written when it comes to watching movies on PC.
hagayg, I understand what you try to do in your thread and it's totally nonsense in my point of view. You're altering movie framerate when all you should be doing is match the display refresh rate to a multiple of that of the movie.
I really suggest you download this :
http://reclock.free.fr/ReClock.1.6.dist.bin.zip and take 20 minutes to read the "readme.rtf". They won't be wasted I can assure you.
hagayg
12th March 2008, 07:07
Its a matter of perspective, if your eyes can manage with 24fps its your luck , my eyes sees jumpy movie in 24fps, with reclock or without, sync the refresh rate to the fps of course help - as i state in my post, it just that my trick sync it to 60fps because the refresh rate is 60hz.
I wonder if you really tried what i posted, i dont think you did cause you wouldnt say what you just did :)
leeperry
12th March 2008, 09:49
if your eyes can manage with 60fps with blurry blending its your luck :)
TheShadowRunner
12th March 2008, 22:51
Yes, hagayg, I haven't tried your method yet.
I plan to try this weeked.
But I'm still skeptical that adding calculated intermediate frames to make it smoother and match the display frequency (60hz in our case) would be better than matching original framerate to display frequency (ReClock).
I would be very happy if your method shows the same smoothness, but even if it did I think it would kill the CPU on 1080p material for exemple.
See you,
TSR
hagayg
13th March 2008, 07:26
My E6750 with 800mhz ddr2 cl4 can run 1080p mkv on 60fps, things is i am not sure it really count cause i dont have 1080p display only 720p , so the player downsize it , but still my cpu sits on 40-45%
TheShadowRunner
16th March 2008, 20:15
I tried your findings today hagayg.
Indeed the result is exceptionnal, it's MUCH smoother. (i tried on 24fps material converted to 60 with monitor set to 60Hz). The CPU hit is not dramatic either.
But it seems to me some frames are skipped intermittently.
Also, of course the picture is softer because of the blending between frames.
It's an interesting workaround but Reclock at 48hz gives me the same smoothness without the "soft effect" or "dropped frames" issues.
Still, I think this is an excellent alternative for systems on which ReClock doesn't work.
Kudos for finding that ;)
See you,
TSR
hagayg
19th March 2008, 07:26
Thanks
I made some more testing, check my post for the update...
daWsOn_s
20th August 2008, 16:04
Hello is there any chance to improve audio quality? I have PAL videos that I want to see in 24p recreating the original tone, with reclock the audio quality is crappy when slowing...is that normal?
therealjoeblow
27th August 2008, 20:43
Hello is there any chance to improve audio quality? I have PAL videos that I want to see in 24p recreating the original tone, with reclock the audio quality is crappy when slowing...is that normal?
1) Go into the ReClock folder in your Start Menu
2) Select the "Configure ReClock" item
3) Set the "Resampling Quality" dropdown to "Excellent" (the default is "Medium" which will cause some audible crackling and distortion.
At the Excellent setting, you should not be able to hear any discernable difference, and unless your are using an old Celeron processor, you should not have any issues with CPU utilization too high to cause any system performance issues, any modern system can handle this setting just fine.
Cheers,
The REAL Joe
therealjoeblow
27th August 2008, 21:32
Since:
...But If i interract with the video, using fast-forward or rewind, maybe 2 times out of 10 when the video resumes at normal speed, it will be totally jerky.
I'm *not* talking about tearing, more in details, the "tearing test" will show the line "jumping", although the "vsync on screen" is perfectly stable and there's no tearing whatsoever.
A very easy way to correct this issue is to simply to pause, wait 2 seconds and then resume the video. Then everything becomes perfectly synced again.
What could be the cause of this?
It happens with all renderers (VMR7, Overlay, all VMR9s and EVEN VMR9 Renderless Exclusive.)
It happens will all video stream types, DVD movies included.
It happens under any frequency 48hz, 50Hz & 60hz.
Ogo, is the above issue what you are talking about here:
"You may experience permanent jerky playback sometimes (maybe 10% of the time). Seeking the movie or Pause/Play will solve the problem. This is caused by the video renderer drawing each frame exactly during vertical blank which is not a good idea. This problem is exacerbated with ReClock, because the video renderer will stay in sync with the video card, thus drawing each frame during vertical blank. I don't know yet how to solve this (writing a new video renderer would be a solution but this is not an option !)"
Is there trully no solution to this even as of now? (that Ogo quote is old, to say the least)
How come this problem doesn't seem to bother anyone?
Thanks for reading and here's hoping Ogo still has plans for his wonderful creation. It can't be dead, not just yet, please. ;)
Later,
TSR
I see this happen on my system if I have DirectVobSub enabled (not using ReClock). It never happens if Vobsub is disabled. It's just one of those quirks when you have a filter operating in between the video player and renderer, once in a while the playback gets fubar'd for the reasons Ogo stated in his release notes. It's not unique to ReClock.
HDT
28th August 2008, 15:15
Hi, after clicking 'ok' in reclock, I get the error 'cannot change "bypass audio renderer's" status'
Any clues appreciated.
Audio chip [onboard] is realtek hd
HDT
29th August 2008, 13:04
After uninstalling reclock and then the video driver to change to another driver, there is a message from reclock after the restart from uninstalling the video driver, that the graphics driver is not compatible with reclock!! :confused: But hang on...I have uninstalled you already :confused:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.