Tuesday, August 28, 2012

The YV12->YUV444 method is the culprit!

So my software implementation of an algorithm to convert a YV12 image to a YUV444 image is apparently dog slow so I will need to take steps to eliminate this (either by sending the YV12 image to GLES2 or using hardware to convert the image to RGB instead).

With the YV12->YUV444 algorithm active, here is the benchmark:


pi@raspberrypi ~/vldp-hw/src/unit_tests $ ./daphne_test.bin
Starting test jpeg1_rpi
Total time: 3573 ms (83.963056 FPS)
Stopping test jpeg1_rpi (3610 ms)



Commenting it out  (and thus breaking functionality) here is the benchmark:

pi@raspberrypi ~/vldp-hw/src/unit_tests $ ./daphne_test.bin
Starting test jpeg1_rpi
Total time: 1635 ms (183.486239 FPS)
Stopping test jpeg1_rpi (1671 ms)


These are release builds.  83 FPS is actually still acceptable but seeing that it should be 183 FPS otherwise tells me that I should still try and optimize.

No comments:

Post a Comment