{
 "tag": "firmware-4.8.1",
 "kind": null,
 "product": null,
 "used_by": [],
 "parts": [],
 "notes": [
  {
   "handle": "sargbench1",
   "id": "host-side-serial-receive-buffer-overflowed-silently-corrupti",
   "title": "Host-side serial receive buffer overflowed silently, corrupting image transfers",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "ov5640-exposure-ladder-produces-bimodal-mode-switch-latency",
   "title": "OV5640 exposure ladder produces bimodal mode-switch latency",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "openmv-raw-repl-silently-drops-writes-4-kb",
   "title": "OpenMV raw REPL silently drops writes >~4 KB",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "raw-bayer-initializes-at-all-sub-native-resolutions",
   "title": "RAW BAYER initializes at all sub-native resolutions on OV5640, not just native size",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "ov5640-authenticity-check-midh-midl-reads-0x00-0x00",
   "title": "OV5640 authenticity check: MIDH/MIDL reads 0x00/0x00 on genuine parts",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "set-framerate-on-openmv-with-ov5640-is-frame",
   "title": "set_framerate() on OpenMV with OV5640 is frame decimation, not clock control",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "openmv-rt1062-ships-with-firmware-4-8-1",
   "title": "OpenMV RT1062 ships with firmware 4.8.1, not 5.0; sensor API and alloc_extra_fb are alive",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "ov5640-bayer-scaling-works-at-sub-native-sizes",
   "title": "OV5640 BAYER scaling works at sub-native sizes on OpenMV RT1062",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "ov5640-framebuffer-allocation-is-format-dependent-gray-and",
   "title": "OV5640 framebuffer allocation is format-dependent; GRAY and BAYER are 1 byte/pixel, not 2",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "pag7936-has-no-hardware-jpeg-encoder-software-encode",
   "title": "PAG7936 has no hardware JPEG encoder; software encode costs 3.6\u00d7 on-device inference time",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "pag7936-framesize-constants-return-wrong-resolutions-and-asp",
   "title": "PAG7936 framesize constants return wrong resolutions and aspect ratios",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "fomo-face-detection-produces-zero-detections-with-grayscale",
   "title": "FOMO face detection produces zero detections with grayscale on PAG7936",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "csi-buffer-pool-is-2-mb-slot-cost",
   "title": "CSI buffer pool is 2 MB; slot cost is width\u00d7height\u00d72 regardless of pixel format",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "frame-size-constants-fail-silently-only-qvga-vga",
   "title": "Frame size constants fail silently; only QVGA/VGA/HD work on AE3",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "hd-color-locked-at-15-fps-bayer-format",
   "title": "HD color locked at 15 fps; BAYER format sustains 60 fps at native resolution",
   "status": "provisional"
  }
 ]
}