Skip to content

Instantly share code, notes, and snippets.

View chunibyo-wly's full-sized avatar
🏠
Working from home

Longyong Wu chunibyo-wly

🏠
Working from home
View GitHub Profile
@chunibyo-wly
chunibyo-wly / pegjs
Last active May 28, 2022 12:44
peggy
start
= operation
operation
= WSS a:entity WSS b:operator WSS c:operation WSS { return `${a} ${b} ${c}`; }
/ WSS a:entity WSS b:operator2 WSS c:operation WSS { return `${a}${b}${c}`; }
/ WSS a:entity WSS c:operation WSS { return `${a}${c}`; }
/ WSS a:entity WSS { return a; }
entity "entity"
CVPixelBufferLockBaseAddress(depthFrame, .readOnly)
let rowData = CVPixelBufferGetBaseAddress(depthFrame)! + Int(depthPoint.y) * CVPixelBufferGetBytesPerRow(depthFrame)
// swift does not have an Float16 data type. Use UInt16 instead, and then translate
var f16Pixel = rowData.assumingMemoryBound(to: UInt16.self)[Int(depthPoint.x)]
CVPixelBufferUnlockBaseAddress(depthFrame, .readOnly)
var f32Pixel = Float(0.0)
var src = vImage_Buffer(data: &f16Pixel, height: 1, width: 1, rowBytes: 2)
var dst = vImage_Buffer(data: &f32Pixel, height: 1, width: 1, rowBytes: 4)
vImageConvert_Planar16FtoPlanarF(&src, &dst, 0)
@chunibyo-wly
chunibyo-wly / getDepthData.m
Created March 2, 2021 07:46
get depth data
CVPixelBufferLockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
const uint8_t* baseAddress = (const uint8_t*)CVPixelBufferGetBaseAddress(pixelBuffer);
for (size_t y = 0; y < height; ++y) {
const __fp16* data = (const __fp16*)(baseAddress + y * stride);
for (size_t x = 0; x < width; ++x, ++data) {
__fp16 depth = *data;
if (!isnan(depth) && depth > minDepth) {
{"version":1,"resource":"file:///Users/chunibyo/01_project/07_latex/04%20Bachelor%27s%20thesis%20-%20no%20cite/sections/section4.tex","entries":[{"id":"LWql.tex","source":"undoRedo.source","timestamp":1652076675114},{"id":"MsgN.tex","timestamp":1652076759270},{"id":"s9Uf.tex","timestamp":1652076776773},{"id":"KxDf.tex","timestamp":1652076798761}]}