Question

For my project I need to implement HDR feature in my device that has Android Jelly bean on it. From the code I see that when HDR (High Dynamic Range) is selected the application is sending SCENE_MODE_HDR to the HAL layer. I am the developer from Camera HAL layer. What am I supposed to do when I get scene mode = SCENE_MODE_HDR. Do I need to request driver to give 3 images with different exposure compensation value and the application will take care of stitching the images to make the HDR image? Or like panorama mode, the android application and framework layer can take care of HDR by themselves ?

Was it helpful?

Solution

The scene mode = SCENE_MODE_HDR seems to be introduced from Android Jelly Bean 4.2, and as i know, HDR at here indicates the Hardware HDR which means to be implemented by Camera Vendor.

I think the driver need handle this, not only give 3 images with different exposure compensation value, but also need do image composition and tone mapping.

So from the view of application, camera application just set the scene mode with SCENE_MODE_HDR and take picture, then, the HDR image will be output at onPictureTaken() callback function.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top