コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2017年11月5日 >>> 2017年10月27日
link もっと後

2017年11月5日

Androidのメディア再生処理

たまにはAndroidの話でも。Androidのメディア再生のデコード完了から出画までを見てみました。

Media | Android Open Source Project 辺りにあるように、Androidはlibstagefrightにメディアの処理を任せています。

図からはちょっと読み取りづらいですが、libstagefrightは動画、音声のデコードにOpenMAXというAPIを用います。図だとOMX Coreと書かれている部分です。

OpenMAXざっくり紹介

OpenMAXの各種デコーダ(※)は「コンポーネント」と呼ばれる部品になっています。

OpenMAXではデータの入力はEmptyThisBufferと呼びます。データの入力は非同期に行うことができます。コンポーネントは入力を処理し終えたら完了通知をコールバック(EmptyBufferDone)する仕組みになっています。

データの出力はFillThisBufferと呼びます。出力も非同期に行うことができます。コンポーネントはデータ出力の完了通知(FillBufferDone)をする仕組みになっています。

libstagefrightはOpenMAXのコンポーネントに対して、下記の処理を行います。他にも設定、フラッシュ、などややこしい処理がありますが、省略。

入力側はこんな感じです。

  • 圧縮データが入ったバッファをEmptyThisBufferでコンポーネントに渡す
  • (コンポーネント内でバッファのデータが処理される)
  • 空になったバッファがEmptyBufferDoneで返ってくる

出力側もほぼ同じです。

  • 空のバッファをFillThisBufferでコンポーネントに渡す
  • (コンポーネント内でバッファにデコード済みデータが詰め込まれる)
  • デコード済みデータが入ったバッファがFillBufferDoneで返ってくる

バッファが2つある場合も基本的には同じです。OpenMAXの特徴はバッファ1とバッファ2がお互いを気にしなくて良いことです。バッファ2が返ってきていようが返ってきていまいが、バッファ1はコンポーネントに渡して構いません。

例えばバッファ2にすごく時間が掛かって、こんな順になっても構いません(コロンの右側はコンポーネントに渡したが返ってきていないバッファの一覧)。

  • start: なし
  • FillThisBuffer 1: 1
  • FillThisBuffer 2: 1, 2
  • FillBufferDone 1: 2
  • FillThisBuffer 1: 1, 2
  • FillBufferDone 1: 2
  • FillThisBuffer 1: 1, 2
  • FillBufferDone 2: 1
  • FillBufferDone 1: なし

特にデコーダの場合は、この例のように渡した順番と返ってくる順番が違う場合がほとんどです。

(※)OpenMAXの規格が定義するコンポーネントの機能は、デコーダだけではありません。しかしAndroidはデコーダコンポーネントしか使いません

編集者:すずき(2017/11/23 19:45)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2017年10月28日

Kindle Fireの書籍をダウンロードしながら読む機能

目次: Kindle

Kindleは書籍をAmazonから本体にダウンロードしてから読みます。漫画や雑誌のように図画の多い書籍は1冊100MB近いサイズとなるため、ダウンロードに時間がかかります。

時間帯やネットワーク環境にもよりますが、DTIに乗り換えてからはネットワーク環境が改善したので、早くて2, 3分、遅くても10分程度の短いものですが、ただボーっと待っているには長い時間です。

幸いにもKindle Fireはダウンロードしながら読むことができる機能があります。

しかし、この機能はまともに動かなくて、本当は何か書いてあるはずのページなのに、真っ白なページが表示されることが多いです。一度ページが白くなってしまうと、何度見ても白いままです。

ページが白くなってしまった場合は、書籍を本体から削除し、ダウンロードしなおすと直ります。元から白いページもあるのでややこしいですけど、その辺は本を読んでいる人ならわかりますよね。

きちんと動作すれば便利な機能だと思うのですが、今は使い物にならないです。それどころか、間違えてこの機能を発動させると本が歯抜けになってしまって迷惑なので、ダウンロード中は絶対に本を開かないようにしています。

Kindle Fireは色々残念なところが多いですね……。

編集者:すずき(2021/12/08 03:59)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2017年10月27日

異世界&最強系漫画の話

少し前にアニメ化されて盛り上がって(おそらく負の方向に…)いた「異世界はスマートフォンとともに」ですが、いわゆる異世界転生物かつ最強系という作品です。

異世界転生物は現代社会において事故で死亡、もしくは強制的に転送されるなどして、現代社会ではない世界、仮想世界などに転生するところから始まる作品です。

最強系は転生前は平凡だった主人公が、異世界に行くだけで突如強くなって、異世界で良い思いしたり、トントン拍子に上手く行く作品です。もう一つの特徴として、男性1人が主人公です。見た目ではなく価値観や行動基準が青年〜中年男性です。

私の購入履歴からざっと拾ってみたら20作品ほどありました。独断と偏見で分類しています。

元から無敵
超人高校生たちは異世界でも余裕で生き抜くようです
二度目の人生を異世界で
異世界魔法は遅れてる!
1話〜数話で無敵
賢者の孫
八男ってそれはないでしょう
レジェンド
宝くじで40億当たったんだけど異世界に移住する
異世界はスマートフォンとともに
その者、のちに…
異世界チート魔術師
元から最強
オーバーロード
デスマーチからはじまる異世界狂想曲
賢者の弟子を名乗る賢者
異世界薬局
最強、努力も継続
ナイツ&マジック
転生したらスライムだった件
人狼への転生、魔王の副官
ありふれた職業で世界最強
村人ですが何か?
ギャグ寄り
私、能力は平均値でって言ったよね!

注意としては、全て漫画版の話です。原作小説がある作品がほとんどですが、一切読んでいませんし、内容も知りません。

無敵と最強

「無敵」と「最強」の違いはざっくりいうと、こんな感じで分類しています。

「無敵」
比類なし、強すぎて誰も追いつけないほどの差
「最強」
強いが、一歩間違えたら追いつかれるほどの差

今のところ判別できそうなシーンが無い(1巻しか発売されていないなど)場合もありますが、周りと異様にかけ離れて強いかどうかでとりあえず分類しています。ただ、いずれの作品も連載中ですから、お話が進むにつれてこの分類とは違う展開になるかもしれません。

主人公=読者=オジサン

異世界&最強系の特徴として、主人公の価値観や行動基準が青年〜中年男性です。気持ち悪い言い方をすると、主人公が男でも女でも怪物でも必ず「心にオジサンがインストール」されています。先ほど挙げた20作品の中でこの点を外している作品は「私、能力は平均値で〜」だけです。

主人公を褒めたたえる周りのキャラクター達には、若い美女か地位の高い人が多いです。これは主人公(の中のオジサン)の願望がほぼ「ハーレム」か「成り上がり」に集約されるためだと思われます。

ちなみに先ほど「無敵」と「最強」に作品を分類しましたが、これは「ハーレム」と「成り上がり」傾向とそれなりに一致します。つまり「無敵」なら「ハーレム」傾向、「最強」なら「成り上がり」傾向が強いです。不思議ですね。

理屈は良いからおススメは?

ハーレムの傾向が強い作品は好みが分かれると思いますから、私のお勧めは「最強」の作品、特に「最強、努力も継続」に挙げた作品です。

表現上、努力と書きましたが、何も悩むことはありません。全戦、全勝、とにかく楽勝。成り上がりはトントン拍子、全てが上手く行きます。気分爽快ですよね!

感想

ちなみに私は普段からこんな面倒くさいことを考えて読んでいる訳じゃありません。こんなん考えていたら集中できませんし、作品が全く面白くなくなります……。

編集者:すずき(2017/10/28 20:13)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2017年11月5日 >>> 2017年10月27日
link もっと後

管理用メニュー

link 記事を新規作成

<2017>
<<<11>>>
---1234
567891011
12131415161718
19202122232425
2627282930--

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20