少し軽くなった
今日は、昨日書いていたハフマン圧縮データの展開ルーチンを改良したのだが、元々、展開に10秒くらいかかっていた処理が7秒くらいで終わるようになった。かなりギクシャクしていた1920x1080のRGB動画もそれらしく見えるようにはなった。
« 2012年6月 | トップページ | 2012年8月 »
今日は、昨日書いていたハフマン圧縮データの展開ルーチンを改良したのだが、元々、展開に10秒くらいかかっていた処理が7秒くらいで終わるようになった。かなりギクシャクしていた1920x1080のRGB動画もそれらしく見えるようにはなった。
今日はUbuntu版AG-ムービーカッターの開発を進めていたのだが、RGB/YV12モードでのハフマン圧縮の展開処理の重さが気になったため、もう少し何とかならないものか、と、色々と考えたりしていたのだが、今日の所は考えた所までだ。
ここの所、Ubuntu版AG-ムービーカッターのAGM形式動画再生性能を改善してきたのだが、その成果はWindows版にも適用出来る。しかし、Ubuntu版が機能的に中途半端な状況なので、先にこちらを片付ける。Windows版はその後で変更する。
ここの所、Ubuntu版AG-ムービーカッターのAGM形式動画再生性能を上げていたのだが、これは、DCT形式をターゲットにしたモノだった。AGM形式には無劣化録画用にRGB/YV12形式もあるのだが、今のところ、これらについての改善はない。
今日は64Bit版のUbuntu12.04上で開発していたAG-ムービーカッターを32Bit環境でビルドして動作させてみたのだが、64Bit環境ではほぼ同等性能だった、Totem/VLCでのWMV再生よりもAG-ムービーカッターでのAGM再生の方が、ずっと軽かった。
ここの所、Ubuntu版AG-ムービーカッターのAGM形式動画再生性能を改善していたのだが、比較対象にしていたVLC/TotemのWMV形式動画再生性能を何とか追い抜いた。実写動画では、ほぼTotemと同等程度なのだが、アニメ動画だと少し軽い。
昨日は、Totemのビデオ再生性能がOpenGLを使わせた場合のVLCよりも若干高性能だったため、よりネイティブなビデオ出力APIがあるのかもしれない、と、書いていたのだが、X video extensionというのがあった。これが本命っぽいので、対応中だ。
今日もUbuntu版AG-ムービーカッターのAGM形式動画再生性能を改善していたのだが、そろそろ改善効果がサチってきた。つまり、改善しても性能の向上があまりない、もしくは逆効果になり始めたので、とりあえずは、改善作業は明日までにする。
ここの所、Ubuntu版AG-ムービーカッターのAGM形式動画再生性能を改善してきているのだが、殆どの処理をSSE2命令に最適化した事で、VLCやTotemでWMV形式動画を再生する場合に近い性能が出るようになってきた。あと少しで同等程度になる。
AG-ムービーカッターのAGM形式動画のデコード処理ではSSE2命令を使っているのだが、その内容は、元々、C++のコードで書いていたモノをストレートにSSE2化した感じだったのだが、性能を上げるために、よりアグレッシブな内容に変更中だ。
今日は開発中のUbuntu版AG-ムービーカッターのAGM形式動画再生性能をWindows版と比較したのだが、軽い動画だとWindows版のタスクマネージャーではCPU使用率が0%になるため、重い動画を作成して試してみた所、Ubuntu版が二倍は軽かった。
今日も昨日に引き続いてUbuntu版AG-ムービーカッターのAGM形式動画再生時の性能を上げていたのだが、昨日よりも更に軽くなり、WMVで再エンコードした同一動画をVLCプレイヤーで再生した場合と遜色ない負荷になった。totemには負けるのだが。
今日は開発中のUbuntu版AG-ムービーカッターでAGM形式動画再生の性能を上げていたのだが、2倍程度は軽くできた。しかし、久しぶりにWindows7を立ち上げて、同じ動画をWindows版AG-ムービーカッターで再生してみた所、もっと軽かった。
今日はUbuntu版AG-ムービーカッターにOpenGLを使った映像出力を追加した。想定通り、映像の拡大/縮小時にもCPU負荷は殆どかからなくなったので、動画再生時のCPU負荷は大幅に減った。ただ、VirtualBoxでは不安定なので、通常表示も残す。
今日は、Ubuntu版AG-ムービーカッターで使う事にしているOpenGL関係のサンプルルーチンを色々とネットで見つけて動かしてみたりしながら、OpenGLについての理解を深めていたのだが、何となくは判った。映像表示用にも簡単に応用できる。
今日はUbuntu版のAG-ムービーカッターでOpenGLを使った映像表示を可能にするために、gtkmmのウインドウにOpenGLで描画する方法を検討してみていたのだが、意外と簡単だった。古いGTK用のサンプルを最新のgtkmm用に変更した形だ。
Ubuntu版のAG-ムービーカッターにOpenGLを使った映像表示を実装しようとしているのだが、ネットにはOpenGLを扱った記事は結構あるのだが、古くなっていて使えない。なので、VLCのソースをダウンロードしたのだがサンプルにはし辛い。
今日は、Ubuntu版AG-ムービーカッターの性能が芳しくなかったため、色々とやってみていたのだが、重かった主因は、単に、コンパイラの最適化オプションを指定していなかった、からのようだ。しかし、OpenGLは避けては通れないみたいだ。
Ubuntu版のAG-ムービーカッターは、今週に入ってから、真面目に作り直し始めたため、動作しなくなっていたのだが、今日の時点でAGM形式動画の再生は出来るようになった。作り直す前と違って、今回は、コントロール領域を使って操作できる。
AG-ムービーカッターのUbuntu版はコントロール領域のグラフィックス表示が出来るようになって、段々とそれらしくなってきた。一方で、Windowsでは、8ではガジェット機能が廃止されるのだが、Vista/7でも無効化ツールが配布されたようだ。
今日は、開発中のUbuntu版AG-ムービーカッターに画像リソースの追加を行ったのだが、Windows版では画像データは純粋にリソースとして実行ファイルに埋め込んであるのだが、Linuxでは流儀が違うようで、スタティックデータとして埋め込んだ。
今日もUbuntu版のAG-ムービーカッターの開発を進め、Windows版にあるメインメニューの項目は全て入れた。ただし、その処理関数はまだ枠組みだけで、中身については、これから順番に埋めていく事になる。まずは、可能な限りコピーに徹する。
Ubuntu用のAG-ムービーカッターは、AGM形式は当然として、その他のメジャーな動画形式も扱えなければならないので、それらを扱う部品を作りつつ、実現性を検証していたのだが、大丈夫そうなので、今日から真面目にアプリとして作り始めた。
2chのWindows8スレッドを見ていると、Windows8が発売されると暴動でも起きるんじゃなかろうか? というくらい、Windows8は嫌われているのだが、作者的には、Windows8 PCをリリースする国内メーカーが何社あるのかが興味深々だったりする。
ここの所、週末にはWindows8関連の話題を載せているので、今日もそうするのだが、Windows8の製品版ではAeroGlassばかりではなくて、デスクトップガジェットも廃止されるようだ。まあ、作者的には、今更、大した問題ではないのだが。
今日は、昨日の続きで、Ubuntu12.04上でlibavを使ったエンコード確認をやっていたのだが、音声用としてはoggコンテナのVorbisとmp4コンテナのAAC、動画用としては、vp8+vorbisのWebMとmpeg4+aacのmp4が使えそうな感じだ。
今日は、Ubuntu用AG-ムービーカッターのlibavを使った一般動画のエンコードについて、公式サイトのoutput_example.cをベースに確認をしていたのだが、とりあえず、そのソースはビルドできたので、実行して色々な形式でエンコードしてみた。
今日は、昨日の続きで、Ubuntu用AG-ムービーカッターのlibavを使った動画再生処理を作り込み、シークも普通に行えるようになったのだが、チュートリアルが間違っているのか、仕様が変わったのかは知らないのだが、少し苦労させられた。
Ubuntu用のAG-ムービーカッターの、libavを使った通常動画再生は、昨日の時点では、シークが正しく行えなかったのだが、今日の時点で、まだ、真面目には作っていないのだが、シークも出来そうな見込みにはなった。
今は、AG-ムービーカッターのUbuntu版を作っていて、AGM形式に引き続き、libavという共有ライブラリを使って、一般動画の再生も出来るようにしているのだが、今日の時点で、とりあえず、音声付き再生も可能になった。シークはまだ変なのだが。
今日も書く事がないので、2chのWindows8スレッドをネタにするのだが、今日の書き込みに「Win8使いたくない奴はUbuntuでも使ってればいいよ」というのがあった。作者なんかは、既に、そうしているので、こんな書き込みは逆効果だろう。