• libaomのデコード、さらに速くなったわけではなかったらしい

    2019年04月24日 15時45分
    前回libaomのデコード速くなったなーって書いたけど、
    どうもそうじゃなくてデコーダがdav1dに切り替わったらしい。


    私のAV1に関連のメイン情報源は次世代ビデオコーデック総合スレだったりするのだが
    そこでNAB2019のMozillaのスライドの情報が出てて知った。
    このスライド、ここ1年のAV1の動きがまとまってて良い資料だと思う。

    こういう資料の情報はどっから拾ってくるのだろうか。
    スレの住民はどうもプロが多い気がする。


    Chromeの開発は全然知らないんだけどたぶん該当するのはこれ
    既にChrome 74は公開されているので、Chromeで普通に使える状態になったと言って良いだろう。

    そしたらFirefox Nightlyのdav1d再生なんであんなに遅いん?と思って今再生してみたらChrome同様速くなってた。
    バージョンが古かったとかそういうのかな?

    ただ、media.av1.use-dav1dフラグをONにしてもOFFにしても速いので、
    libaomのデコード速くなったも間違っていたわけではないのかもしれない。
    もしくはこのフラグ効いてないとか・・・


    その辺りの細かい事情はともかく、再生環境はだいぶ整ってきたようだ。
    個人的にはSafariが対応してくれないかなーと思っている。
  • libaomのデコード、さらに速くなってる

    2019年04月09日 03時16分
    今日試してみたら、Core i7 3770のChrome Canaryでv1.0.0以降でエンコードしたAV1動画が再生出来るようになってた。
    一気に目に見えて速くなったので驚いた。

    あとどのくらい最適化の余地があるかは分からないけど
    このくらいの速度が出るならソフトウェアデコードも実用範囲に入ってきたかもしれない。
  • libaomのデコード、速くなってる

    2019年02月17日 18時47分
    v1.0.0以降でエンコードしたAV1動画を不定期にChrome CanaryとFirefox Nightlyで再生しているのだけど、
    今日Core i7 7700のChrome Canaryで実行したら止まらずに再生出来た。

    正月くらいに見た時は所々で止まってたのでまだ高速化は頑張っているようだ。

    Firefox Nightlyの方はダメだった。
    同じlibaomなのになんでだろ?まあChrome Canaryもフレームが落ちているのかもしれない。

    あと、Firefox Nightlyはlibaomだけでなくdav1dも実装されているが
    少なくともこの映像に関してはdav1dはlibaomより遅い。


    Core i7 3770でも再生してみたけどこちらはまだダメ。
    ただ、半年前よりだいぶ動いているのでもうちょっと頑張ればもしかしたら行けるかも感は出ている。
  • v1.0.0以降でエンコードしたAV1動画 2

    2018年08月07日 19時09分
    前回の動画だと再生があまりに無理すぎて面白みが無いので一段軽くした動画も作った。

    ちなみに前回の動画はCore i7 7700で再生してみたらもうちょっとな感じだったので、
    Core i7 8700とか8086Kとかなら行けるかもしれない。


    今回のソースの映像はFF14からオメガ vs 神龍をキャプチャしてきた i420 1280 * 760 6555フレーム(30fps)のデータ。

    これはCore i7 3770でリアルタイムにデコード出来たので割と新しめなCPUなら行けると思う。



    容量は114MBくらいです。
  • v1.0.0以降でエンコードしたAV1動画

    2018年08月03日 20時16分
    v1.0.0以降でエンコードしたAV1動画を試しに作った。

    ソースの映像は例によってカスタムオーダーメイド3D2をキャプチャしてきた i420 1920 * 1080 10743フレーム(60fps)のデータ。

    これをaomenc(66b7d7bc04c68b5be21190013cee06f101f317e9 2018-07-26 01:38:44 GMT)でエンコード。

    オプションはこう。
    aomenc ^
    --verbose ^
    --psnr ^
    --threads=4 ^
    --webm ^
    --codec=av1 ^
    --profile=0 ^
    --end-usage=q ^
    --passes=1 ^
    --cq-level=32 ^
    --cpu-used=8 ^
    --tile-columns=3 ^
    --tile-rows=2 ^
    --frame-parallel=1 ^
    --color-primaries=bt709 ^
    --transfer-characteristics=srgb ^
    --matrix-coefficients=bt709 ^
    --output=av1_1920x1080_i420_60fps.webm ^
    av1_1920x1080_i420_60fps.y4m


    CPUはA8-3850を使って513890859 ms(142時間)かかった。
    60fpsとはいえ実時間の2854倍である。

    参考だが最初cpu-used=0でエンコードしようとしたところ、
    残り800時間とか表示が見えてキャンセルした。
    たぶん最後までエンコードしたら1000時間オーバーだと思う。

    相変わらずというか昔より遅くなっている気もするが、
    v1.0.0以降、最適化を頑張っているみたいで「何十%早くなりました!」
    みたいなのがそこそこ入ってるから今後に期待したい。


    デコードの方は、A8-3850はもちろんCore i7 3770でもやはり間に合わない。
    まあデコーダの最適化具合を見るとかCPUのベンチマーク的に使えばよいと思う。
    Ryzen Threadripperとかなら行けるかもしれない。



    画質と容量については深く考えずに作ってしまったので3分の動画なのに391MBもある。
    とりあえずcq-level=32では過剰なようだ。