Log in or register to post comments

Detect if HD and extended tracking are available

May 26, 2015 - 3:17pm #1

Hello,

what's the correct/best way to determine at runtime if the device where the app is running can use HD video and if it supports extended tracking?

If as I have understood CMAERA_QUALITY correspond to 720p and SPEED to 480p, I'd like to give the user the possibility to choose which one to enable if both are available. In case QUALITY (720p) is not available, I want to grey out the option.

The same goes for extended tracking, how can I know if is supported, so I can grey out the option?

Thanks,

Mattia

 

Detect if HD and extended tracking are available

May 27, 2015 - 3:54pm #6

If you call StartExtendedTracking() for the ExtendedTrackable and it returns false, then you can disable your button.

 

Detect if HD and extended tracking are available

May 27, 2015 - 3:44pm #5

Thanks for the quality clarifications.

Regarding extended tracking, I have no problem in using it. I have a button in my app that lets the user enable or disable it for different purposes.
What I would like to implement is a way to DISABLE the button, so making it clear to the user that extended tracking is not available for its device.

I understand that it doesn't work on single core devices, but can I detect it at runtime and disable my extended tracking button?
I'm not asking how to use extended tracking, but how to detect at runtime if it is available on the device.

Thanks,

Mattia

 

Detect if HD and extended tracking are available

May 27, 2015 - 3:24pm #4

You can get the resolution from the VideoModeData that is returned by GetVideoMode():

CameraDevice.VideoModeData vmd;

vmd = CameraDevice.Instance.GetVideoMode(CameraDevice.CameraDeviceMode.MODE_OPTIMIZE_QUALITY);
Debug.Log("QUALITY: " + vmd.width + "x" + vmd.height);
vmd = CameraDevice.Instance.GetVideoMode(CameraDevice.CameraDeviceMode.MODE_OPTIMIZE_SPEED);
Debug.Log("SPEED: " + vmd.width + "x" + vmd.height);

Extended Tracking needs a multi-core device: "Extended Tracking and Smart Terrain are only supported on multi-core devices."

See the SDK Release Notes for more details about Extended Tracking.

You can start and stop Extended Tracking using the API, but your app must take responsibility for tracking its enabled state.

Additional detailed documentation on Extended Tracking:

https://developer.vuforia.com/library/articles/Training/Extended-Tracking
https://developer.vuforia.com/library/articles/Solution/How-To-implement-Extended-Tracking
https://developer.vuforia.com/library/articles/Solution/How-To-use-the-Extended-Tracking-API

 

Detect if HD and extended tracking are available

May 27, 2015 - 12:58am #3

Ok so the difference between QUALITY and SPEED is just the resolution, right?
And DEFAULT switch automatically to the highest resolution thatis  QUALITY I guess.
I just want to give the user information on what resolution is he using, and that for higher resolution he must upgrade his device.

And what about the other question, how to detect if extended tracking is available, and if not I'll grey out the option in my menu.

 

Thanks

 

Detect if HD and extended tracking are available

May 26, 2015 - 5:52pm #2

HD mode (1280x720) will be automatically selected if the device has an HD camera and a quad-core GPU. The mode presets such as QUALITY and SPEED may be associated to different resolutions per device. On an older device QUALITY might be set at 640x480 while a newer one with HD capabilities could be assigned to 1280x720.

Log in or register to post comments