ffmpegにはavpicture_deinterlace()なんていう便利な関数があるので、それを使ってインタレ解除できるようにはしてたんですが、プログレッシブなのかインタレースなのかのフラグが見当たらなかったので自動対応できてなかったんですが、AVFrame.interlaced_frame がそうみたいですね。ところで、インターレースのMPEG-2を読ますとちゃんとこのフラグが立ってるんですが、なぜかmovのモーションJPEGでも立ってました。ただ、これをインタレ解除しようとすると avpicture_deinterlace()がエラーになり解除できないので、微妙に正しいのですけど^-^; プログレッシブのH.264はちゃんとフラグが落ちてますので、作るときの設定ミスかデコーダの不具合かもしれませんねぇ。avpicture_deinterlace()は意外と綺麗ですよ。まぁ、俺の目が節穴なのかもしれませんが:-)
コメント