Sorry if this is a known issue, little time.
I couldn't work out why my Mpeg2 playback CPU usage was so high lately, and stuttery as a result - and why building graphs suddenly takes forever in the new GB versions (~16secs?). Looking at the logs, it turns out playback graphs are built with multiple audio/video decoders and video renderers!
I have Dscaler5, Nvidia PureVideo (demo) and Cyberlink mpeg2 filters installed, with the NVidia's set in GBPVR. Here's a log playing back a PVR150 recording:
11:45:50.578 INFO DirectShowPlayerBase::playVideoFile(E:\- AV -\Video\- Recordings -\Grownups\Grownups_20060604_22002230.mpg)
11:45:50.593 VERBOSE Creating new graph
11:45:50.609 VERBOSE getSetting(PreferredAudioRenderer)
11:45:50.609 VERBOSE audio renderer filter: DirectSound: SB Live! Wave Device
11:45:50.656 VERBOSE detected FPS as 25.000000
11:45:50.656 VERBOSE getSetting(PreferredAudioDecoder)
11:45:50.734 VERBOSE audio decoder filter: NVIDIA Audio Decoder
11:45:50.734 VERBOSE getSetting(PreferredDecoder)
11:45:50.812 VERBOSE video decoder filter: NVIDIA Video Decoder
11:45:50.812 VERBOSE getSetting(PreferredMpegPlaybackDemux)
11:45:58.953 VERBOSE getSetting(ListGraphFilters)
11:45:58.953 VERBOSE Graph contains the following filters:
11:45:58.953 VERBOSE - GB-PVR Flow Status
11:45:58.953 VERBOSE - Video Renderer 0011
11:45:58.953 VERBOSE - NVIDIA Video Decoder
11:45:58.953 VERBOSE - NVIDIA Audio Decoder
11:45:58.953 VERBOSE - DirectSound: SB Live! Wave Device
11:45:58.953 VERBOSE - DScaler Audio Decoder
11:45:58.953 VERBOSE - Video Renderer
11:45:58.953 VERBOSE - App Overlay Source
11:45:58.953 VERBOSE - DScaler Mpeg2 Video Decoder
11:45:58.953 VERBOSE - MPEG-2 Demultiplexer
11:45:58.953 VERBOSE - E:\- AV -\Video\- Recordings -\Grownups\Grownups_20060604_22002230.mpg
11:45:58.953 VERBOSE getSetting(SaveGraphFiles)
11:45:59.015 INFO DirectShowPlayerBase::playFile() done
11:45:59.015 VERBOSE DirectShowPlayerBase:etPlaybackRate(1.000000)
11:45:59.015 VERBOSE Restoring audio
Why are the Dscaler filters in there? I then tried uninstalling them - it halved my CPU usage, but graphs still take as long to build and now it includes the Cyberlink filters instead:
12:06:57.406 INFO DirectShowPlayerBase::playVideoFile(E:\- AV -\Video\- Recordings -\Frasier\Frasier_20060609_08550930.mpg)
12:06:57.406 VERBOSE Creating new graph
12:06:57.406 VERBOSE getSetting(PreferredAudioRenderer)
12:06:57.421 VERBOSE audio renderer filter: DirectSound: SB Live! Wave Device
12:06:57.468 VERBOSE detected FPS as 25.000000
12:06:57.468 VERBOSE getSetting(PreferredAudioDecoder)
12:06:57.546 VERBOSE audio decoder filter: NVIDIA Audio Decoder
12:06:57.546 VERBOSE getSetting(PreferredDecoder)
12:06:57.625 VERBOSE video decoder filter: NVIDIA Video Decoder
12:06:57.625 VERBOSE getSetting(PreferredMpegPlaybackDemux)
12:07:06.000 VERBOSE getSetting(ListGraphFilters)
12:07:06.000 VERBOSE Graph contains the following filters:
12:07:06.000 VERBOSE - GB-PVR Flow Status
12:07:06.000 VERBOSE - Video Renderer 0011
12:07:06.000 VERBOSE - NVIDIA Video Decoder
12:07:06.000 VERBOSE - NVIDIA Audio Decoder
12:07:06.000 VERBOSE - DirectSound: SB Live! Wave Device
12:07:06.000 VERBOSE - CyberLink Audio Decoder (ATI)
12:07:06.000 VERBOSE - Video Renderer
12:07:06.000 VERBOSE - App Overlay Source
12:07:06.000 VERBOSE - CyberLink Video/SP Decoder (ATI)
12:07:06.000 VERBOSE - MPEG-2 Demultiplexer
12:07:06.000 VERBOSE - E:\- AV -\Video\- Recordings -\Frasier\Frasier_20060609_08550930.mpg
12:07:06.000 VERBOSE getSetting(SaveGraphFiles)
12:07:06.031 INFO DirectShowPlayerBase::playFile() done
12:07:06.046 VERBOSE DirectShowPlayerBase:etPlaybackRate(1.000000)
12:07:06.046 VERBOSE Restoring audio
Any idea what's happening here?
I couldn't work out why my Mpeg2 playback CPU usage was so high lately, and stuttery as a result - and why building graphs suddenly takes forever in the new GB versions (~16secs?). Looking at the logs, it turns out playback graphs are built with multiple audio/video decoders and video renderers!
I have Dscaler5, Nvidia PureVideo (demo) and Cyberlink mpeg2 filters installed, with the NVidia's set in GBPVR. Here's a log playing back a PVR150 recording:
11:45:50.578 INFO DirectShowPlayerBase::playVideoFile(E:\- AV -\Video\- Recordings -\Grownups\Grownups_20060604_22002230.mpg)
11:45:50.593 VERBOSE Creating new graph
11:45:50.609 VERBOSE getSetting(PreferredAudioRenderer)
11:45:50.609 VERBOSE audio renderer filter: DirectSound: SB Live! Wave Device
11:45:50.656 VERBOSE detected FPS as 25.000000
11:45:50.656 VERBOSE getSetting(PreferredAudioDecoder)
11:45:50.734 VERBOSE audio decoder filter: NVIDIA Audio Decoder
11:45:50.734 VERBOSE getSetting(PreferredDecoder)
11:45:50.812 VERBOSE video decoder filter: NVIDIA Video Decoder
11:45:50.812 VERBOSE getSetting(PreferredMpegPlaybackDemux)
11:45:58.953 VERBOSE getSetting(ListGraphFilters)
11:45:58.953 VERBOSE Graph contains the following filters:
11:45:58.953 VERBOSE - GB-PVR Flow Status
11:45:58.953 VERBOSE - Video Renderer 0011
11:45:58.953 VERBOSE - NVIDIA Video Decoder
11:45:58.953 VERBOSE - NVIDIA Audio Decoder
11:45:58.953 VERBOSE - DirectSound: SB Live! Wave Device
11:45:58.953 VERBOSE - DScaler Audio Decoder
11:45:58.953 VERBOSE - Video Renderer
11:45:58.953 VERBOSE - App Overlay Source
11:45:58.953 VERBOSE - DScaler Mpeg2 Video Decoder
11:45:58.953 VERBOSE - MPEG-2 Demultiplexer
11:45:58.953 VERBOSE - E:\- AV -\Video\- Recordings -\Grownups\Grownups_20060604_22002230.mpg
11:45:58.953 VERBOSE getSetting(SaveGraphFiles)
11:45:59.015 INFO DirectShowPlayerBase::playFile() done
11:45:59.015 VERBOSE DirectShowPlayerBase:etPlaybackRate(1.000000)
11:45:59.015 VERBOSE Restoring audio
Why are the Dscaler filters in there? I then tried uninstalling them - it halved my CPU usage, but graphs still take as long to build and now it includes the Cyberlink filters instead:
12:06:57.406 INFO DirectShowPlayerBase::playVideoFile(E:\- AV -\Video\- Recordings -\Frasier\Frasier_20060609_08550930.mpg)
12:06:57.406 VERBOSE Creating new graph
12:06:57.406 VERBOSE getSetting(PreferredAudioRenderer)
12:06:57.421 VERBOSE audio renderer filter: DirectSound: SB Live! Wave Device
12:06:57.468 VERBOSE detected FPS as 25.000000
12:06:57.468 VERBOSE getSetting(PreferredAudioDecoder)
12:06:57.546 VERBOSE audio decoder filter: NVIDIA Audio Decoder
12:06:57.546 VERBOSE getSetting(PreferredDecoder)
12:06:57.625 VERBOSE video decoder filter: NVIDIA Video Decoder
12:06:57.625 VERBOSE getSetting(PreferredMpegPlaybackDemux)
12:07:06.000 VERBOSE getSetting(ListGraphFilters)
12:07:06.000 VERBOSE Graph contains the following filters:
12:07:06.000 VERBOSE - GB-PVR Flow Status
12:07:06.000 VERBOSE - Video Renderer 0011
12:07:06.000 VERBOSE - NVIDIA Video Decoder
12:07:06.000 VERBOSE - NVIDIA Audio Decoder
12:07:06.000 VERBOSE - DirectSound: SB Live! Wave Device
12:07:06.000 VERBOSE - CyberLink Audio Decoder (ATI)
12:07:06.000 VERBOSE - Video Renderer
12:07:06.000 VERBOSE - App Overlay Source
12:07:06.000 VERBOSE - CyberLink Video/SP Decoder (ATI)
12:07:06.000 VERBOSE - MPEG-2 Demultiplexer
12:07:06.000 VERBOSE - E:\- AV -\Video\- Recordings -\Frasier\Frasier_20060609_08550930.mpg
12:07:06.000 VERBOSE getSetting(SaveGraphFiles)
12:07:06.031 INFO DirectShowPlayerBase::playFile() done
12:07:06.046 VERBOSE DirectShowPlayerBase:etPlaybackRate(1.000000)
12:07:06.046 VERBOSE Restoring audio
Any idea what's happening here?
GBPVR System:
XP Pro SP2, AMD XP1800+, 512MB DDR, NVidia 6200 AGP (1.90.62 drivers), PVR-150 (2.0.43.24108 drivers), nVidia Purevideo Mpeg2 codec, PVRX2 1.4.7
XP Pro SP2, AMD XP1800+, 512MB DDR, NVidia 6200 AGP (1.90.62 drivers), PVR-150 (2.0.43.24108 drivers), nVidia Purevideo Mpeg2 codec, PVRX2 1.4.7