スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 今更なので・・・ | トップページ | Mac/Ubuntu版は明日公開 »

Ubuntu版の改良点

今は、Ubuntu版AG-ムービーカッターの変更作業を行なっているのだが、この変更を行う事にしたのは、Ubuntu版AGMConvと比べて、AGM形式へのエンコード性能が大きく劣ったからだ。なので、改良版のエンコード性能は上がっているのだが、他にも改良点は幾つかある。

少し前に、作者の全マシンでAGMConvを使った性能測定を行ったのだが、現在、Ubuntu版の開発環境にしているCore i7-2600のUbuntu14.04LTSマシンでは、そのエンコード時間は、1分33秒になっている。

これに対して、現行のUbuntu版AG-ムービーカッターを使って同様のエンコードを行わせると、処理時間は、2分7秒になる。

と、いう事で、Ubuntu版AG-ムービーカッターのエンコード処理が相対的に遅すぎるので、今回、改良しておく事にしたのだが、改良後の処理時間は、1分25秒になったので、AGMConvよりも、若干、高速化された格好になった。

で、改良版では、WebMへのエンコードルーチンも高速化してあるのだが、こちらについては、エンコード処理の主体がlibavformatのライブラリ関数にあるので、大した性能向上にはなっていない。

しかしまあ、前述の性能測定用動画を、WebM形式でエンコードすると、現行版では、23分5秒かかったのだが、改良版では、22分33秒しかかからなかったので、一応、WebMへのエンコードルーチンも、実測して確認する事が可能なくらいには、高速化されている。

と、いう事で、次にリリースされるUbuntu版AG-ムービーカッターでは、エンコード性能が向上しているのだが、その理由は、現行版では映像の内部形式をRGB32にしてあったのだが、改良版では、YUV形式に変更してあるからだ。

つまり、デコーダーでのYUV→RGB変換とエンコーダーでのRGB→YUV変換が不要になった分、エンコード性能は向上しているのだが、その分、画像処理用の処理コードは増えている。

何故なら、AG-ムービーカッターの場合、出力動画のアスペクト比率だとか解像度を変更可能なのだが、これはつまり、単純なデコーダー/エンコーダー以外に、デコーダーから出力された画像を拡大/縮小するルーチンも、装備している、という事になる訳だ。

そして、内部的な画像形式がRGBからYUVに変更された、という事は、この画像の拡大縮小ルーチンも、YUV形式用にする必要が生じているのだが、例えば、AGM3-RGB形式の動画を内部形式であるYUV(正確にはYUV420)形式に変更すると、画質劣化が発生する。

このため、改良版でも、AGM3-RGBへのエンコード用に、従来のRGB32形式の画像処理ルーチンは残してあるので、必然的に、各種処理ルーチンはRGB用とYUV用の両方が存在する格好になっているので、処理ルーチンは増えている訳だ。

と、いう事なので、次バージョンのUbuntu版AG-ムービーカッターではエンコード性能は向上しているのだが、その分、処理コードは増えているので、新たなバグの混入が心配される訳なのだが、多分、ユーザーが遭遇する不具合数は減る筈だ。

これは何故なのか、というと、今回の変更作業では、Mac版AG-ムービーカッターだとか、AGMConvの開発を通して発見されたバグの修正も行なっているからだ。

つまり、処理ルーチンが増えた分、バグも増えている可能性はあるのだが、バグの修正も行われているので、遭遇する不具合は減る可能性まである訳だ。

少なくとも、現行版で発生している不具合の一つは次バージョンでは発生しなくなっているので、その変更については改良になるのだが・・・

« 今更なので・・・ | トップページ | Mac/Ubuntu版は明日公開 »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/65174278

この記事へのトラックバック一覧です: Ubuntu版の改良点:

« 今更なので・・・ | トップページ | Mac/Ubuntu版は明日公開 »

2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google