![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
檔案編解碼
彥霖
这个作者很懒,什么都没留下…
展开
-
Unity 3D : TIFF 8bit / 16bit / II / MM 編碼器 範例
前言 :簡易 TIFF 編碼器實現,代碼已經寫很清楚了,網路上 TIFF 原理也很多,這裡著重於實現,所以細節就 BJ4 了。執行結果 :輸入 Texture2D ;輸出 TIFF 圖片。程式碼 :using System.Collections;using System.Collections.Generic;using System.IO;using Unit...原创 2018-08-25 04:28:39 · 461 阅读 · 1 评论 -
Unity 3D : 多線程將 byte [] 陣列 轉成 int [] 陣列
前言 :高速將 byte[] 轉 int [],主要是讀取大檔案,一些函式需要用int[]處理,那這時就可以用上。啥? 哪個函式需要 int[] 這麼古怪的方式處理? Unity ComputeShader …要用 GPU 處理檔案解碼,那就要轉成 int [] 陣列了….你們可以比較單線程與多線程的速度差異,多線程大約快 2 倍以上。我寫成一個函數,你們直接拿來用就可以。...原创 2018-06-06 19:43:18 · 441 阅读 · 0 评论 -
Unity 3D : C# 實現 H.264 中的指數哥倫布編碼
標題說得很清楚了,大概就是這樣。需要注意的是本範例使用指針,所以有些地方會出現 unsafe 的區塊。廢話不多說,直接貼代碼:C #:using System.Collections;using System.Collections.Generic;using System;using UnityEngine;public class GolombEncoder : ...原创 2018-04-29 16:25:14 · 171 阅读 · 0 评论 -
Unity 3D : C# 解析 H.264 PPS 幀
大部分解析原理與 SPS 幀相同,但需要注意的是,PSP 幀加入了使用 “有符號的指數哥倫布編碼” ( 就是包含正數與負數的意思 )。C # :using System.Collections;using System.Collections.Generic;using UnityEngine;public class PPSDecoder : MonoBehaviour...原创 2018-04-29 20:10:02 · 929 阅读 · 0 评论 -
Unity 3D : C# 解析 H.264 SPS 幀
前言 ( 廢話 ):嗯,別問我為啥用 Unity 搞 H.264,沒為什麼,純粹只是我喜歡 Unity 而已不喜歡 FFMPEG 的人有福了,我們直接從 Bit 流解析 H.264,不用第三方插件,也能很好的跨平台,是不是很爽 ?而且大部分的人都是用 C/C++ 來做解碼,用 C# 等物件導向語言做的人還挺少人做的,所以我來為世界貢獻一份心力,哈哈SPS 是甚麼我就不詳細解釋了 (...原创 2018-04-28 01:36:16 · 1443 阅读 · 5 评论 -
Unity 3D : 解 3D LUT Cube 檔案
前言 :解 3D LUT Cube 檔案執行結果 :Run.csusing System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;public class Run : MonoBehaviour{ public Transform par;...原创 2018-09-10 20:09:13 · 2028 阅读 · 0 评论 -
Unity 3D : 10~16bit RAW 圖像轉 8bit 圖像
這段程式碼可以把 10bit, 12bit, 14bit, 16bit 轉成 8bit。用途就不用我說明了,我想大家都知道,雖然我覺得會做 Unity 3D 的人估計沒啥人會看我這篇文章哈。這是給特殊需求的人使用的,例如我…。C# 程式碼 :using System.Collections;using System.Collections.Generic;using System.IO...原创 2018-11-06 22:11:41 · 1923 阅读 · 0 评论 -
Unity 3D : 解富士 RAF 檔案
我使用 X-H1 無反破解到一半,可以執行與出圖,但效果可能不是很好未完待續…using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.UI;public class Decoder : MonoBehaviour...原创 2018-09-03 08:18:44 · 292 阅读 · 0 评论 -
Unity 3D : RAW 10 bit 轉 RGB
前言 :建議先看這篇文章https://blog.csdn.net/weixin_38884324/article/details/80457594RAW 轉 RGB 解析度會是原圖的四分之一,這篇程式碼就是將四個像素合併成一個的範例C # :using System.IO;using UnityEngine;using UnityEngine.UI;public cl...原创 2018-05-26 01:04:52 · 1097 阅读 · 0 评论 -
Unity 3D : 讀取 RAW10 格式並顯示
前言 :此範例使用 RAW 10 bit。不說廢話,直接運行 & 看程式碼吧…C # :using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.UI;public class NewBehaviourSc...原创 2018-05-25 22:19:10 · 1407 阅读 · 2 评论 -
Unity 3D : C# 解析 H.264 ( SPS / PPS / IDR )
由於我前兩篇文章已經有寫解析 SPS 與 PPS ,所以這篇主要是解析 IDR ,不過要解析 IDR 之前,必須先取得 SPS 與 PPS 內的值才能進行解析。所以這篇文章同時解析三種 NALU,並且同時改進之前的解析方法。C #:using System.Collections;using System.Collections.Generic;using UnityEngine;...原创 2018-05-06 19:15:30 · 1280 阅读 · 0 评论 -
Unity 3D : TIFF 8bit / 16bit / II / MM 解碼器 範例
前言 :此程式碼可以解 TIFF,且 II 或 MM 排列都能解。程式碼有點亂哈,湊合看吧,以後有時間我再整理一下。執行結果 :C # 程式碼 :using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine...原创 2018-08-21 11:40:38 · 1034 阅读 · 0 评论 -
解 RAW 資源庫
DcRAW 是老牌解 RAW Library,LibOpenRAW 與 LibRAW 都是基於 DcRAW 改進的。DcRAW : http://www.cybercom.net/~dcoffin/dcraw/ LibOpenRAW : https://libopenraw.freedesktop.org/wiki/FileFormats/ LibRAW :https://www.li...原创 2018-09-01 19:32:23 · 346 阅读 · 0 评论 -
佳能 Canon *.CR2 檔案格式 外部資源
The CRaw2 framework https://github.com/lclevy/libcraw2Understanding What is stored in a Canon RAW .CR2 file, How and Why http://lclevy.free.fr/cr2/原创 2018-06-21 23:42:00 · 565 阅读 · 0 评论 -
佳能 Canon *.CR3 檔案格式 外部資源
Describing the Canon Raw v3 (CR3) file format https://github.com/lclevy/canon_cr3Canon CR3 support. https://github.com/Exiv2/exiv2/issues/236#issuecomment-370220072原创 2018-06-21 21:57:24 · 4635 阅读 · 0 评论 -
Unity 3D : RAW 10 bit 轉 RGB ( GPU 版 ) [ 新版本 ]
前言 :這是改進之前這篇文章https://blog.csdn.net/weixin_38884324/article/details/80464484之前寫的方式不完美,所以這次出了一個改進板,性能提升好幾個檔次。改進之前呼叫兩次 ComputeShader (一次處理 RAW, 一次處理 RGB),而這次新版本只要呼叫一次 ComputeShader 就好,改進了效能,避免 C...原创 2018-06-13 00:30:01 · 893 阅读 · 0 评论 -
Unity 3D : 實作 YUV 影片播放解碼器 ( YUV Video Player )。
本範例是一個簡單的 YUV 影片播放器 ( YUV Video Player )。這次片源採用 FFMPEG 直接將一般 H264 MP4 Video 轉成 YUV420 格式,附檔名是 *.yuv。YUV 格式在輸入之前必須先輸入影片的 寬 ( Width ) & 高 ( Height ),由於 YUV 檔是無頭檔參數來描述寬高,如果沒有輸入寬高,基本上是無法解碼的 (畫面不會正...原创 2018-06-10 02:14:24 · 1740 阅读 · 0 评论 -
Unity 3D : 實作 BMP 解碼器,讀取並顯示 ( 以 Byte 字節解析 )
網路上很多人讀寫 BMP 都是直接呼叫 API 或 Library ,並不懂其中的原理,而且跨平台也麻煩…所以我這篇文章是自己手動寫 BMP 解碼器,讓大家清楚其中的奧妙。讓我們先看執行結果吧,左邊是顯示 BMP 的標頭資訊,右邊則是年輕的身體…,阿不對,是讀取BMP之後顯示的結果啦哈執行結果 :C # :using System.Collections;usin...原创 2018-06-07 15:18:15 · 951 阅读 · 2 评论 -
Unity 3D : 實作 BMP 編碼器 ( 以 Byte 字節編碼 )
前言 :Unity 3D 的 Texturd2D 只有 PNG, JPG, EXR 這三種編碼,如果你想要 BMP 編碼,無外乎只能依靠第三方庫,不然就是自己實作編碼器…我這裡採取了後者,俗話說不要重複造輪子,但這句對我沒用,因為我要的是 ” 跨平台 ” 阿,你的輪子可以跨平台 ? ( 笑 ) ,弄懂算法,你想要移植到哪個平台都行,Android / Linux / Windows / i...原创 2018-06-07 17:22:58 · 655 阅读 · 0 评论 -
Unity 3D :解 RAW 8bit 高速版 ( 可調整大小 )
人類看得懂的 C # :using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.UI;public class RAW8_Decoder : MonoBehaviour{ public RawImage img;...原创 2018-11-06 23:19:55 · 591 阅读 · 0 评论