2024.07.09
Diary
libheif-sharp という libhief の C# ラッパーがあったので NuGet でインストールして適当にやったら Unity でも HEIF 読めた〜と IL2CPP にしてビルドしたらなにもいわずにクラッシュするので調べてみると IL2CPP 特有の P/Invoke 制限があるらしく libhief-sharp 使えん…となったので自前で直接 libhief をたたく方針に変更中…
libheif-sharp という libhief の C# ラッパーがあったので NuGet でインストールして適当にやったら Unity でも HEIF 読めた〜と IL2CPP にしてビルドしたらなにもいわずにクラッシュするので調べてみると IL2CPP 特有の P/Invoke 制限があるらしく libhief-sharp 使えん…となったので自前で直接 libhief をたたく方針に変更中…
オレオレ libheif wrapper for Unity をつくりましてやっぱりちょっと IL2CPP での Marshaling でクラッシュしちゃうやつの解決にてこずりましたが先人のコードを参考にさせていただいたところ無事解決しましたので GitHub に放流するなどしました。
macOS で libheif をインストールすると heif-convert コマンドがインストールされるのに Windows で vcpkg でインストールするとコマンドがなくって ImageMagick もコンバートしてくれるように見えて実は中身が PNG だったりわけわからないので pillow-heif と PyInstaller でオレオレ heif-convert.exe をつくるなど。