Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#481 | Link |
|
Registered User
Join Date: Jan 2002
Posts: 124
|
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... |
|
|
|
|
|
#482 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
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.
__________________
http://ogo.nerim.net/reclockfilter Last edited by ogo; 27th April 2003 at 21:06. |
|
|
|
|
|
#484 | Link |
|
Registered User
Join Date: Feb 2003
Posts: 22
|
Finally....
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! |
|
|
|
|
|
#485 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
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 ![]() ogo
__________________
http://ogo.nerim.net/reclockfilter |
|
|
|
|
|
#486 | Link |
|
Registered User
Join Date: Sep 2002
Posts: 53
|
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 |
|
|
|
|
|
#488 | Link |
|
Registered User
Join Date: Jan 2002
Posts: 124
|
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? |
|
|
|
|
|
#489 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
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")
__________________
http://ogo.nerim.net/reclockfilter |
|
|
|
|
|
#490 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 1,459
|
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.
__________________
gabest.org |
|
|
|
|
|
#491 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
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
__________________
http://ogo.nerim.net/reclockfilter |
|
|
|
|
|
#492 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 1,459
|
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.org |
|
|
|
|
|
#493 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 1,459
|
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.
__________________
gabest.org |
|
|
|
|
|
#494 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
The test version is available here
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
__________________
http://ogo.nerim.net/reclockfilter |
|
|
|
|
|
#495 | Link | ||
|
Registered User
Join Date: Oct 2001
Posts: 1,459
|
Quote:
![]() Quote:
__________________
gabest.org |
||
|
|
|
|
|
#496 | Link |
|
Registered User
Join Date: Nov 2001
Posts: 174
|
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! |
|
|
|
|
|
#498 | Link |
|
Registered User
Join Date: Oct 2001
Posts: 156
|
@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 objectsI have made more improvements over the test version and i will post a new official version soon
__________________
http://ogo.nerim.net/reclockfilter |
|
|
|
|
|
#500 | Link |
|
Registered User
Join Date: Jan 2003
Posts: 46
|
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 |
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|