home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Support
Watch / Listen Media
watch/edit Videos
Audio sync problems when screen set to 24 Hz
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Scythe42" data-source="post: 512007" data-attributes="member: 95833"><p>The patch is now complete and waits for first peer review by tourettes</p><p></p><p>The patch adjust the following to include proper frame dropping:</p><p></p><ul> <li data-xf-list-type="ul">More precise integer arithmetic for GetCurrentTimeStamp() and code adjustments to 100ns units like DirectShow to avoid < 1ms drifts.<br /> </li> <li data-xf-list-type="ul">Frames are dropped when *pNextSampleTime < -m_rtTimePerFrame in CheckForScheduledSample(), so the next one can be presented during the vblank.<br /> </li> <li data-xf-list-type="ul">Compensation in CheckForScheduledSample() for DVD menus where the timestamp of the frame on menu stills is always the same or only updates when an audio loop starts over. I could only test with the MS DVD Navigator, therefore it might not work with others correctly.<br /> </li> <li data-xf-list-type="ul">Magic Numbers were removed as far as possible and are now connected to the file's fps.<br /> </li> <li data-xf-list-type="ul">timeSetEvent will schedule a thread up to the presentation time or the frame duration whatever is smaller minus 10% of frame duration to compensate for not 100% reliable timeSetEvent under Windows < Win 7. XP being the worst here. Probably some fine tuning is needed here in the future by tracking the accuracy of timeSetEvent during playback. Next update should the patch get accepted.<br /> </li> <li data-xf-list-type="ul">Adjusting source code formatting to be the same throughout the whole code and minor cleanup</li> </ul><p></p><p>So far except for bugs in filters, DVD navigator or MP itself I can play files very smooth. 23.976fps at 24Hz result in a frame dropped close to the theoretical 41,66 ms <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big Grin :D" loading="lazy" data-shortname=":D" /></p><p></p><p>Late scheduled samples are often caused by how a file was encoded and if one or more frames require a lot of CPU power (you won't see that in the task manager). Any file I remuxed from DVD or Blu-Ray runs without any dropped frames in a 1:1 frame rate setup unless an external event on the HTPC delays things every now and then. With DVDs interruptions in the IO stream causes a few judders now and then. But I keep everything on a larger Raid 6 array anyway.</p><p></p><p>If audio is off it stays off the same amout all the time (probably because of the processing chain), so you can easily compensate. For downloaded HD content it may vary though as they are often encoded very differently and codecs can't deliver all frames on time even on a Core i7 under Win 7 when out of a sudden way more computing power is needed for just a single frame. Windows can't adjust that quickly with it's current architecture I guess. Also we are not on a real time OS here, so some issues will always be there. x264 files are more likely to be affected than Xvid, which may point to a codec issue with that specific file's encoding. I general MPC latest SVN works very good, followed by CoreAVC and ffdshow always sucks on any file (even SD content...), because it's not fully multi-threaded I guess. </p><p></p><p>I'm looking into buffering pre-rendered frames to compensate for this to keep playback as smooth as possible. On my machine it's usually an out of sudden 200-300 ms thing. So probably buffering a full second could work. Need to think about this more first how to make this smooth. But this will not be a thing for 1.1.0 because I don't have that much time and like to take a look at why rewind is broken with everything except the internal DVD Player and TS reader.</p><p></p><p>Depending how much tourettes finds in the code that isn't OK or doesn't work on his machine the full patch should be ready for public testing soon. Because we are touching a core component here it's very likely that more than one iteration of adjustments to the EVR presenter is needed (especially to compensate for other issues) before the 1.1.0 release.</p></blockquote><p></p>
[QUOTE="Scythe42, post: 512007, member: 95833"] The patch is now complete and waits for first peer review by tourettes The patch adjust the following to include proper frame dropping: [LIST] [*]More precise integer arithmetic for GetCurrentTimeStamp() and code adjustments to 100ns units like DirectShow to avoid < 1ms drifts. [*]Frames are dropped when *pNextSampleTime < -m_rtTimePerFrame in CheckForScheduledSample(), so the next one can be presented during the vblank. [*]Compensation in CheckForScheduledSample() for DVD menus where the timestamp of the frame on menu stills is always the same or only updates when an audio loop starts over. I could only test with the MS DVD Navigator, therefore it might not work with others correctly. [*]Magic Numbers were removed as far as possible and are now connected to the file's fps. [*]timeSetEvent will schedule a thread up to the presentation time or the frame duration whatever is smaller minus 10% of frame duration to compensate for not 100% reliable timeSetEvent under Windows < Win 7. XP being the worst here. Probably some fine tuning is needed here in the future by tracking the accuracy of timeSetEvent during playback. Next update should the patch get accepted. [*]Adjusting source code formatting to be the same throughout the whole code and minor cleanup [/LIST] So far except for bugs in filters, DVD navigator or MP itself I can play files very smooth. 23.976fps at 24Hz result in a frame dropped close to the theoretical 41,66 ms :D Late scheduled samples are often caused by how a file was encoded and if one or more frames require a lot of CPU power (you won't see that in the task manager). Any file I remuxed from DVD or Blu-Ray runs without any dropped frames in a 1:1 frame rate setup unless an external event on the HTPC delays things every now and then. With DVDs interruptions in the IO stream causes a few judders now and then. But I keep everything on a larger Raid 6 array anyway. If audio is off it stays off the same amout all the time (probably because of the processing chain), so you can easily compensate. For downloaded HD content it may vary though as they are often encoded very differently and codecs can't deliver all frames on time even on a Core i7 under Win 7 when out of a sudden way more computing power is needed for just a single frame. Windows can't adjust that quickly with it's current architecture I guess. Also we are not on a real time OS here, so some issues will always be there. x264 files are more likely to be affected than Xvid, which may point to a codec issue with that specific file's encoding. I general MPC latest SVN works very good, followed by CoreAVC and ffdshow always sucks on any file (even SD content...), because it's not fully multi-threaded I guess. I'm looking into buffering pre-rendered frames to compensate for this to keep playback as smooth as possible. On my machine it's usually an out of sudden 200-300 ms thing. So probably buffering a full second could work. Need to think about this more first how to make this smooth. But this will not be a thing for 1.1.0 because I don't have that much time and like to take a look at why rewind is broken with everything except the internal DVD Player and TS reader. Depending how much tourettes finds in the code that isn't OK or doesn't work on his machine the full patch should be ready for public testing soon. Because we are touching a core component here it's very likely that more than one iteration of adjustments to the EVR presenter is needed (especially to compensate for other issues) before the 1.1.0 release. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Support
Watch / Listen Media
watch/edit Videos
Audio sync problems when screen set to 24 Hz
Contact us
RSS
Top
Bottom