testing the performance of a decoder

Given many choices of decoder to use, it is very hard to determine the performance of each decoder in an objective way.

Currently I am writing an application using directshow which will capture frame rates output by the decoder. Its use is to measure the performance of the decoder, since a bad performance decoder will overload the cpu, therefore will drop frames producing low frame rates.

Is there any other good/popular way to test the performance of a decoder, and what conclusion can be drawn from that particular result?

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

If you are purely looking at runtime performance, and not at the quality of the generated video, then you'll have to either :

1) ensure that the generated videos are (almost) exactly the same for all decoders
2) or take differences in quality of the generated video into account by adding a "quality factor" to the "performance value"

If the output of the different encoders is the same (ie. none of them have dropped frames, and all are encoded with the same quality settings, and the visual quality is similar for all of them), then it's simply a matter of measuring the time the encoders take.

If the output is different (ie. some encoders drop frames, different quality settings were used and/or the visual quality is visibly different), then you'll have to quantize the different quality parameters, and add those in the calculation. This quantization will mostly depend on what importance you attribute to them. For example, a few dropped frames might not be bad, as long as the visual quality isn't affected, etc.

>> it is used in video telephony application so i guess it is a lossy encoding
Not necessarily - it depends how the image is acquired (ie. the resolution of the camera I imagine).

What you could do to prevent that loss of frames is a factor, is to run the decoder in a "laboratory" environment. Meaning that you don't decode in real-time. You just let the decoder do its word without any loss of frames, and you time how long it takes.

A lot depends (as I already mentioned) on what you think is more important when it comes to quality.

Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain. A* is a particularly easy way to approach it. I’ll start with the algor…

Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.

The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.