uint32_t XCamSmartAnalyerContext::get_results (X3aResultList &results) { uint32_t size = 0; SmartLock locker (_result_mutex); results.assign (_results.begin (), _results.end ()); size = _results.size (); _results.clear (); return size; }
void HybridAnalyzer::x3a_calculation_done (XAnalyzer *analyzer, X3aResultList &results) { XCAM_UNUSED (analyzer); static XCam3aResultHead *res_heads[XCAM_3A_MAX_RESULT_COUNT]; xcam_mem_clear (res_heads); XCAM_ASSERT (results.size () < XCAM_3A_MAX_RESULT_COUNT); uint32_t result_count = translate_3a_results_to_xcam (results, res_heads, XCAM_3A_MAX_RESULT_COUNT); convert_results (res_heads, result_count, results); for (uint32_t i = 0; i < result_count; ++i) { if (res_heads[i]) free_3a_result (res_heads[i]); } notify_calculation_done (results); }