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. |
![]() |
#361 | Link |
Registered User
Join Date: May 2002
Location: Canada
Posts: 41
|
@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) |
![]() |
![]() |
![]() |
#362 | Link |
Registered User
Join Date: Oct 2001
Posts: 1,459
|
Thanks, I'm going to try it.
edit: The parameter was called AM_ARMODE_STRETCHED, but it worked great.
__________________
gabest.org Last edited by gabest; 15th February 2003 at 02:34. |
![]() |
![]() |
![]() |
#363 | Link | |
Registered User
Join Date: Sep 2002
Location: Germany
Posts: 64
|
Quote:
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 |
|
![]() |
![]() |
![]() |
#364 | Link |
noise is all around us...
Join Date: Nov 2001
Location: - deep within -
Posts: 466
|
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
![]()
__________________
((( atom ))) |
![]() |
![]() |
![]() |
#365 | Link |
Registered User
Join Date: Oct 2001
Posts: 800
|
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? |
![]() |
![]() |
![]() |
#367 | Link |
Registered User
Join Date: Jan 2002
Posts: 1,264
|
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. |
![]() |
![]() |
![]() |
#368 | Link |
Registered User
Join Date: Sep 2002
Posts: 53
|
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 |
![]() |
![]() |
![]() |
#369 | Link |
Registered User
Join Date: Jan 2002
Posts: 124
|
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... |
![]() |
![]() |
![]() |
#371 | Link |
Registered User
Join Date: Feb 2003
Location: England
Posts: 1
|
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. |
![]() |
![]() |
![]() |
#372 | Link |
Registered User
Join Date: Jan 2003
Posts: 46
|
Filter Merit
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 |
![]() |
![]() |
![]() |
#374 | Link |
Registered User
Join Date: Dec 2002
Location: Paris, France
Posts: 37
|
Hello !
I've been reading all this LLLLLLLLLOOOOOOONNNNNNNNNNGGGGGGGGG thread (long but still interesting at least for the parts I could get ![]() 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 ! ![]() |
![]() |
![]() |
![]() |
#376 | Link |
Registered User
Join Date: Oct 2001
Posts: 156
|
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 ![]() There is a microsoft page that speak of this here 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 ![]() Last edited by ogo; 10th March 2003 at 12:56. |
![]() |
![]() |
![]() |
#377 | Link |
Registered User
Join Date: Oct 2001
Posts: 156
|
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) |
![]() |
![]() |
![]() |
#378 | Link | |
Registered User
Join Date: Oct 2001
Posts: 800
|
Quote:
|
|
![]() |
![]() |
![]() |
#379 | Link |
Registered User
Join Date: Oct 2001
Posts: 1,459
|
Hm-hm, what should I say about the video filter... I think I have already said it wasn't a good idea
![]() 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 ![]() 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.
__________________
gabest.org Last edited by gabest; 10th March 2003 at 14:32. |
![]() |
![]() |
![]() |
#380 | Link |
Registered User
Join Date: Oct 2001
Posts: 156
|
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 ![]() 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. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|