- GraphBase: 14/14
- SmokeTestBase: 7/7
- Logging: 1/1
- TargetBase: 3/3
- Tests crash during Image.CreateImageFromHandle/9 (NV12 format)
- Graph tests fail because vision kernels are stubs
- Memory corruption in image cloning
Problem: Image.VirtualImageCreation tests fail with "Unable to make a clone of vx_image" Files: openvx-image/src/c_api.rs Agent: image-clone-agent
Problem: free(): invalid pointer during NV12 image creation Files: openvx-image/src/c_api.rs Agent: image-nv12-agent
- vxColorConvert (RGB↔YUV, RGB↔NV12)
- vxGaussian3x3 / vxBox3x3
- vxSobel3x3
- vxAdd / vxSubtract
- vxDilate3x3 / vxErode3x3
- vxThreshold
- vxAnd / vxOr / vxXor / vxNot
- vxMagnitude / vxPhase
- vxScaleImage
- vxWarpAffine / vxWarpPerspective
- vxHarrisCorners / vxFASTCorners
- vxOpticalFlowPyrLK
- vxCopyScalar properly implemented
- vxCreatePyramid / vxReleasePyramid
- vxGetPyramidLevel
- vxCreateRemap / vxRemapImageNode
Phase 1: Memory Fixes
├─ Fix vxCloneImage
└─ Fix NV12 corruption
↓
Phase 2: Vision Kernels (Priority order)
├─ ColorConvert (enables RGB↔YUV pipelines)
├─ Gaussian/Box Filter (basic smoothing)
├─ Sobel (edge detection)
├─ Arithmetic (Add/Sub)
├─ Morphology (Dilate/Erode)
├─ Threshold (binary operations)
└─ Advanced kernels (Magnitude, Warp, Corners, OpticalFlow)
↓
Phase 3: Data Objects
├─ Pyramid
├─ Remap
└─ Advanced scalar ops
- Agent A: Fix vxCloneImage implementation
- Agent B: Fix NV12 memory corruption
- Agent C: ColorConvert + Gaussian/Box (after Round 1)
- Agent D: Sobel + Arithmetic kernels (after Round 1)
- Agent E: Morphology + Threshold (after Round 1)
- Agent F: Magnitude + Phase + ScaleImage
- Agent G: WarpAffine + WarpPerspective + Remap
- Agent H: HarrisCorners + FASTCorners + OpticalFlow
- Agent I: Pyramid + advanced fixes
- Agent J: Full CTS run, fix remaining issues
- Baseline tests: 25/25 (maintain current)
- Vision tests: >80% passing
- No crashes during CTS execution
- All smoke tests pass
- No regressions in existing functionality
Blockers:
- Image format handling is complex (multiple planar formats)
- Vision algorithms need numerical accuracy validation
- Graph execution requires proper node scheduling
Mitigation:
- Use reference implementations for format conversion
- Compare outputs against OpenCV or Khronos reference
- Implement topological sort for graph execution
# Build
cd /home/simon/.openclaw/workspace/rustvx
source ~/.cargo/env
cargo build --release
# Run CTS
cd OpenVX-cts/build
LD_LIBRARY_PATH=/home/simon/.openclaw/workspace/rustvx/target/release ./bin/vx_test_conformance
# Check specific test
cd OpenVX-cts/build
LD_LIBRARY_PATH=/home/simon/.openclaw/workspace/rustvx/target/release ./bin/vx_test_conformance 2>&1 | grep -E "Image.CreateImageFromHandle"