Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7697977
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T22:08:08+00:00 2026-05-31T22:08:08+00:00

I am using DirectShow/VMR9 to playback a MPEG 4 video in my application. I

  • 0

I am using DirectShow/VMR9 to playback a MPEG 4 video in my application. I use IMediaSeeking SetRate to set the speed of the video. Playing back a video I have created plays well at speeds up to 4x, above this the video becomes very jerky. Playing back the same file using Windows media player at speeds above 4x is not jerky. Can anyone shed some light as to why windows media player can play my file OK at speed but my DirectShow filter graph cannot.

My graph topology is Recording.avi -> AVI Splitter -> Mpeg4s Decoder DMO -> Ds.NET Grabber -> Color Space Converter -> Video Mixing Renderer 9.

Please let me know if you need any further information.

Update

I removed the grabber (and thus csc as well) and playback is not jerky up to 8x which would be good enough but I do need the grabber. The CSC ended up there when I added the grabber. I would like if possible to remove the CSC to see if that improves things while retaining the grabber. Below are my graphs with intermediate formats with and without the filter. I tried setting the media subtype of the grabber to NV12 (like the non grabber graph), however I get error a “No combination of intermediate filters could be found to make the connection.” I include my code for configuring the grabber.

Is it possible to get this to work without the csc?

Also not sure if it is relevant but I do not understand how the video dimensions are changed on the graph without grabber.

With Grabber

Recording.avi —– (AVI) —– AVI Splitter —– (MP4V – 704*576 – 24bits ) —– Mpeg4s Decoder DMO —– (RGB24 704*576) —– Ds.NET Grabber – (RGB24 704*576) —– Color Space Converter —– (ARGB32 704*576) —– Video Mixing Renderer 9

Without Grabber

Recording.avi —– (AVI) —– AVI Splitter —– (MP4V – 704*576 – 24bits ) —– Mpeg4s Decoder DMO —– (NV12 768*576 12 bits) —– Video Mixing Renderer 9.

 private void ConfigureSampleGrabber(ISampleGrabber sampleGrabber)
 {
        AMMediaType media;
        int hr;

        // Set the media type to Video/RBG24
        media = new AMMediaType();
        media.majorType = MediaType.Video;
        media.subType = MediaSubType.ARGB32; // tried NV12 here, gives error.
        media.formatType = FormatType.VideoInfo;
        hr = sampleGrabber.SetMediaType(media);
        DsError.ThrowExceptionForHR(hr);

        DsUtils.FreeAMMediaType(media);
        media = null;

        // Configure the samplegrabber
        hr = sampleGrabber.SetBufferSamples(true);
        DsError.ThrowExceptionForHR(hr);
    }

CPU Usage details

Core i3 – 3300MHz – with hyperthreading 4GB RAM

4x Speed

CPU1 ~45%

CPU2 ~0%

CPU3 ~33%

CPU4 ~0%

8x Speed

CPU1 ~40%

CPU2 ~25% (but very spiky 0-50%)

CPU3 ~40%

CPU4 ~0%

Core i3 – 3300MHz – Hyperthreading disabled in BIOS.

4x Speed

CPU1 ~45%

CPU2 ~33%

8x Speed (same results at 16x Speed)

CPU1 ~66%

CPU2 ~45%

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T22:08:09+00:00Added an answer on May 31, 2026 at 10:08 pm

    A typical cause would be that at this playback rate your decoding thread is running at 100% CPU and is not capable to decode more frames, you start seeing irregular frame presentation and/or frames dropped.

    Where to look:

    • check your CPU with task manager or another application to see if one of the cores is maxed out and is no longer going to idle state
    • checked VMR properties to see if frames are dropped, or jitter is getting too high

    enter image description here

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am playing video using custom allocator using directshow. I want to set brightness,
I have a control, VideoControl, which displays video using DirectShow - it's set as
I'm creating a Windows video capture application and am using DirectShow for capture. As
I have a DirectShow application written in Delphi 6 using the DSPACK component library.
I have a project where I need to record a video using DirectShow from
How to turn Sequence of images into video using DirectShow filters? I have image
I am trying to do a few things using DirectShow for audio playback. I
I am using a DirectShowLib which is a thin wrapper for DirectShow. I have
I am using DirectShow .NET to display video in a control in a C#
I want to create a project using DirectShow. Which license does DirectShow have? Can

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.