原创 OC 鎖NSLock的應用

NSLock在多線程中起到重要作用,當多線程可能同時對同一變量訪問時,會導致衝突和崩潰。這個時候用鎖來保證線程間變量不衝突,起到至關重要的作用。 使用NSLock時系統具體做了什麼?爲什麼避免了衝突,需要再瞭解和深究。

原创 OC CVPixelBuffer內存管理

CVPixelBuffer可以用來保存多種格式的圖像數據,包括YUV/RGBA等。在CVPixelBuffer的內存管理,包括何時釋放,生命週期等,遇到一些坑,總結如下: 1.OC的部分變量是系統管理,叫做ARC控制,不需要開發者來管理;

原创 OpenGL不同Context之間會導致資源衝突問題

OpenGL使用中常常會用多個context,每個context都有對應的資源,實現資源的獨立。但是常常由於程序寫法不嚴謹而導致不同context之間存在資源衝突。在項目中美顏處理和視頻的上屏離屏和水印渲染就是用的不同context,開關

原创 x265源碼閱讀--準備工作

1.下載x265源碼 x265各版本下載鏈接 我下載的是最新版2.8。 2.編譯源碼生成VS工程; 需要利用cmake工具,加入x265工程源碼路徑和項目生成路徑,依次點擊configure,和generate按鈕,生成vs工程。 3.

原创 OC CVPixelBuffer不同圖像格式間轉換

1.YUV轉RGB,調用libYUV - (BOOL)NV12ToRgbaPixelBuffer:(CVPixelBufferRef)pixelBufferNV12 pixelBufferRGBA:(CVPixelBufferRef)p

原创 OC 常用圖像格式之間轉換

1.CGImageRef to NSImage CGImageRef cgImage; NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:cg

原创 YUV和RGB轉換總結(待完成)

      YUV分很多種類型。按顏色空間分包含:BT601和BT709;按像素分佈範圍分包含:FullRange(Y=[0,255]),和VideoRange(Y=[16,235])幾種類型,每種類型的轉換方式都不太一樣。總結如下: B

原创 H.264筆記之一

H264標準參考軟件 各個版本下載:http://iphome.hhi.de/suehring/tml/download/old_jm/ JM8.6工作區包含3個工程(lencod、ldecod、rtpdump),前兩個工程分別對應編解碼

原创 車輛定位識別姿態提取

1.檢測圖像中車輛位置 2.初始化參數:模型參數(12個)、姿態參數(3個) 3.局部梯度評價 4.優化算法