Upgrade from FlatbufferString to FlatbufferSpan

Less copies, and now we can get rid of FlatbufferString

Change-Id: Ic027de4270d7232d0defadc2b193072aa8e4c8e5
diff --git a/y2020/vision/calibration.cc b/y2020/vision/calibration.cc
index 6cf9e8e..4365b60 100644
--- a/y2020/vision/calibration.cc
+++ b/y2020/vision/calibration.cc
@@ -1,5 +1,10 @@
+// These need to come before opencv, or they don't compile. Presumably opencv
+// #defines something annoying.
+// clang-format off
 #include "Eigen/Dense"
 #include "Eigen/Geometry"
+// clang-format on
+
 #include <opencv2/aruco/charuco.hpp>
 #include <opencv2/calib3d.hpp>
 #include <opencv2/core/eigen.hpp>
@@ -37,17 +42,11 @@
 
 class CameraCalibration {
  public:
-  CameraCalibration(const std::string_view training_data_bfbs) {
-    const sift::TrainingData *const training_data =
-        flatbuffers::GetRoot<sift::TrainingData>(training_data_bfbs.data());
-    {
-      flatbuffers::Verifier verifier(
-          reinterpret_cast<const uint8_t *>(training_data_bfbs.data()),
-          training_data_bfbs.size());
-      CHECK(training_data->Verify(verifier));
-    }
-
-    camera_calibration_ = FindCameraCalibration(training_data);
+  CameraCalibration(const absl::Span<const uint8_t> training_data_bfbs) {
+    const aos::FlatbufferSpan<sift::TrainingData> training_data(
+        training_data_bfbs);
+    CHECK(training_data.Verify());
+    camera_calibration_ = FindCameraCalibration(&training_data.message());
   }
 
   cv::Mat CameraIntrinsics() const {