cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

diskerr
Journeyman III

Open Video Decode problems


I'm currently working with video codecs and very interested in OVD.
My system is: i5-750 / HD6870 / Win7 x64 / VS2010 / AMD APP SDK 2.5 / Catalyst 11.7 & 11.11.

I have encounted some problems using your OVD and the OVDecodeRender sample.


1. When I remove a busy-waiting - while(timeMS < 33) - in renderOneFrame() function to test the maximum capability of OVD, it sometimes produces corrupted raw frames.
Perhaps the decoding process is not finished even with clWaitForEvents() calls so it requires additional delays. Is this a bug or my misunderstanding?

2. Slightly increasing decoding latency. I modified the sample to play the stream repeatedly.
In the beginning of the decoding, the latency between OVDecodePicture() and clWaitForEvnets() is about 0.4 ms,
but it gets longer and longer until it reaches about 3ms and then goes to 0.4ms and gets longer again.
Although the decoding latency can vary, increasing latency and reset doesn't make sense. Is there a problem?

3. OVDecodeCreateSession() consumes so much time (about 2-3secs) and I think this can be a major problem for many applications.
One strange thing is, when I run the sample with profiling session (alt+f2) in VS2010, OVDecodeCreateSession() takes only 300ms and everything works fine.
Do you have any idea for this problem?

4. The OVDecodeRender works fine with catalyst 11.7 but crashes in OVDecodeGetDeviceCap() function with 11.11. No way to make this work?

0 Likes
4 Replies
diskerr
Journeyman III

please provide some information for me...

or this is a user-error? 😞

0 Likes

Thanks for reporting these issues.

It would be helpful if you can send whatever changes you had don to the sample, in order to reproduce the issues.

0 Likes

I downloaded your sample from here: http://developer.amd.com/downloads/OVDecodeRender.zip

1. remove busy waiting

file GLRenderFrame.cpp, function renderOneFrame(), line 152

while(false && timeMS < 33) // while(timeMS < 33)

2. play the sample stream repeatedly

file OVDecodeRender.cpp, function OVDecodeRender::decodeParserRender(), line 2102, added

if (iFramesDecoded == 1000) iFramesDecoded = 0;

3.

no code changes at all, I just add QueryPerformanceCounter() to measure time.

 

4.

always reproduced without ""any"" code changes.

 

as you can see, the sample itself or just a single line modification can reproduce these problems...

Thanks for your reply.

0 Likes

I also had similar problems with OpenVideo in previous driver/SDK versions, so I tested the OVD sample code as-is with latest SDK 2.6 and Catalyst 11.12 on different 64-bit Win7 systems :

890GX platform with Phenom II X6 and one Radeon 6450 : hard reset

790FX platform with Phenom II X4 and two Radeon 6950 : blue screen

Is there a newer version of the OVD sample code that doesn't cause system crashes?

0 Likes