RE: Asf fastforward performance



Thank you all for your fast responce and help , i realy
appreciate it , as for the dual processor system :
I use "REAL" dual processors each has hyper threading
I use a dual Xeon Nocona processors with 3.0 GHz
and the single processor is 3.0 GHz and has hyperthreading
also so yes the only difference is the number of processors
and i completely agree that if the program doesn't use the
2 procesors it will not report 97% usage , what happens is
the following:

1-when i use single processor system i get 2X very smooth
without any lag or chopiness at all , the system just ignores
my 3x requirement and does try its best to give me a smooth
2x playback instead of choppy and lagging 3x playback speed

2-when i use 2 single processors i get nearly the same processor
usage (i checked again yesterday it was about 90% not 97%)
so i assume that this means that both processors are used
and i surprisely i get nearly the same performance (2.15X)
also very smooth without any lag or chopiness.

3-what i realy don't understand is how can i get very smooth 2X
with single processor and only 2.15X with dual processors , i
think from my description above that i should ge getting very
smooth 4X instead , does anyone know why i don't ?

4-also i have the hopes that my ATi X800 vga card could help
with that because it has a hardware MPEG4 video acceleration
so i assumed that i should be able to run 3X on a single
processor system with no problem (because in this case the
vga card sould be able to take most of the load from the
processor)

5-i also tried the win64 (WindowsXP 64 bit) but it didn't help at
all as i got exactly the same results with WindowsXP 32 bit.

Thanks,

"Wael_Bakr" wrote:

> Hi All
>
> I develop an application that reads an Asf Mpeg4 file that contains
> 1 audio and 3 video streams , i want the application to perform
> a playback of fastforward of 3 times the normal playback speed
> without chopping (I.e i wants the fastforward to be completely
> smooth without any chopiness)
> i do this by implementing the GetPrivateTime() function of
> CBaseReferenceClock class as follows:
>
> REFERENCE_TIME CMyRefClock::GetPrivateTime()
> {
>
> CAutoLock cObjectLock(this);
>
>
> /* If the clock has wrapped then the current time will be less than
> * the last time we were notified so add on the extra milliseconds
> *
> * The time period is long enough so that the likelihood of
> * successive calls spanning the clock cycle is not considered.
> */
>
> DWORD dwTime = timeGetTime();
> {
> m_rtPrivateTime += Int32x32To64(UNITS / MILLISECONDS,
> (DWORD)(m_clock_speed*(dwTime - m_dwPrevSystemTime)));
> m_dwPrevSystemTime = dwTime;
> }
>
> return m_rtPrivateTime;
> }
>
> so as you can see the idea is to multiply the elapsed time by the
> m_clock_speed variable (which has the value of 3 in my case)
> by doing that , i make the reference time passes with 3 time the
> normal speed , so the playback speed also becomes multiplied by
> 3 , which gives me 3 times the normal playback speed.
>
> while this gives me a very smooth playback without chpiness , the
> maximum performance i can get is 2 times the normal playback
> speed no matter what , i heared that the ATI Radeon X800 has
> a built in mpeg4 acceleration so i tried it but it can't exceed the
> 2 times the normal playback speed ,
>
> does anyone have any idea how can i enhance the performance to
> get the full 3 time normal playback speed , or where it could be the
> performance bottleneck ?
>
> Thanks,
>
.



Relevant Pages

  • Binding a process to a specifc processor.
    ... here's where it gets sticky. ... We' write custom software to talk to our ... at random (dual processors). ... dual processor system, ...
    (comp.os.linux.development.apps)
  • Binding a process to a specific processor.
    ... here's where it gets sticky. ... We' write custom software to talk to our ... at random (dual processors). ... dual processor system, ...
    (comp.os.linux.hardware)
  • Binding a process to a specifc processor.
    ... here's where it gets sticky. ... We' write custom software to talk to our ... at random (dual processors). ... dual processor system, ...
    (comp.os.linux.development.system)
  • Re: Asf fastforward performance
    ... > 1-when i use single processor system i get 2X very smooth ... > processor system with no problem (because in this case the ... who knows whether the decoders can ...
    (microsoft.public.win32.programmer.directx.video)

Loading