      run_model(model, vipc_client);
    }
  
    model_free(&model);
    LOG("joining calibration thread");
    thread.join();
    CL_CHECK(clReleaseContext(context));
    return 0;
  }
 
</s> remove     run_model(model, vipc_client);
 </s> add     run_model(model, vipc_client, wide_camera); </s> remove   // start calibration thread
  std::thread thread = std::thread(calibration_thread, wide_camera);

 </s> add  </s> remove   SubMaster sm({"lateralPlan", "roadCameraState"});
 </s> add   SubMaster sm({"lateralPlan", "roadCameraState", "liveCalibration"});
      run_model(model, vipc_client);
    }
  
    model_free(&model);


    CL_CHECK(clReleaseContext(context));
    return 0;
  }
keep keep keep keep replace replace keep keep keep
 modeld: update live calibration in main thread (#23235)

* update live calibration in main thread

* static ground_from_medmodel_frame

* more static

* cleanup

* no lambda

* trigger ci 
selfdrive/modeld/modeld.cc