FFmpeg の MMX における「can't find a register in class 'GENERAL_REGS' while reloading 'asm'」問題の結論

エラーメッセージの意味は「変数の数に対して汎用レジスタが足りないよ!」ってかんじで、詳しくは 昨日の修正をするまでの思考過程をまとめてみた - EAGLE 雑記
つまり、一つのインラインアセンブリ内で扱う変数を少なく*1すればよい。
これが FFmpeg のミスなのか GCC のバグなのか、あるいは他の何かなのかは何とも言い難い。
修正パッチは これこれ
ためしに ハルヒちゃん を変換してみたけど、とくにマズいところは見つからず。
とはいっても全く正しいかどうかは保障しかねるので、もし仮にこれが必要な人がいれば at your own risk で。

*1:正確には 32bit では 5個、ebx が使えれば6個