TCPMP recomp-03版でのffvp6の不具合について(3)

mingw32ce版の整備

そのままではffmpegコンパイルが通りません。
回避するには、errno.hを以下のように修正。

#ifdef __COREDLL__
# ifndef IN_GCC
#  include_next <errno.h>
# endif
#else /* __COREDLL__ */

/*#ifdef __COREDLL__
# ifndef IN_GCC
#  include_next <errno.h>
# endif
#else /* __COREDLL__ */
#endif /* Not __COREDLL__ */

//#endif /* Not __COREDLL__ */

コンパイルしてみる

上の修正で、正常にコンパイルは通るようになります。
そして、結果。

ファイル 動作するか
FLVスプリッタ
VP6デコーダ ×

VP6デコーダだけ動かない

単にVP6デコーダをロードするプログラムを書いてみると、例外が吐かれてることがわかります。
さらに、GetLastError()でエラーを取得すると、ERROR_BAD_EXE_FORMATというエラーが返ってきます。
ERROR_BAD_EXE_FORMAT・・・%1 は有効なWin32アプリケーションではありません(Err.exeより)
なんだか正常に読めてないようです。
Dependency Walkerでチェックしても問題ないようなので、たぶんDllMain()まわりがおかしいと考えられます。
ここらへんはリンクや最適化の方法によっても変わってくるので、もうちょっと試してみます。