This service is available only in Japanese-language.

Qtアプリケーション上でGIFアニメーションを表示させる方法について

構築フォーラムの「Yocto SDKについて」トピックで、QtCreator開発環境の構築と、Qtアプリケーション上でMP4動画が動作するまで実現することができました。(動画再生の速度は1FPS程度しか出ない)

Qtアプリケーションをi.MX8Mmini EVK上で動作させたとき、gifアニメーションファイルが表示されませんでした。
QtアプリケーションでQMoveというオブジェクトを使って、gifアニメーションファイルを表示させようとしています。
i.MX7でDebian10.1で動作させたときは、動作は遅かったですが、表示されました。
i.MX8Mminiでは、GPU/VPUが搭載されているので、なめらかに動作することを期待していますが、
Yocto環境上では、gifアニメーションファイルの再生ができない状態です。
gifアニメーションファイルを認識するために追加するパッケージがあればお教えください。

imx-image-full に標準的に含まれているパッケージ、qrtbase-example にはmovieというwidget(アプリケーション)
が含まれていると思います。
/usr/share/examples/widgets/widgets/movie/movie
を実行してアニメーションgifの再生が可能か否かご確認ください。

下記のコマンドを実行して、GIFファイルをオープンしてみました。
ファイル指定すると、下記のようなメッセージが表示されます。

root@imx8mmevk:/usr/share/examples/widgets/widgets/movie# ./movie
Numeric mode unsupported in the posix collation implementation
Numeric mode unsupported in the posix collation implementation

このディレクトリにあった、animation.gifでも、私が用意したgifファイルも駄目でした。

当該メッセージは以下の関数で出力されています。
tmp/worl/aarch64-mx8m-poky-linux/qtbase/5.13.2+gitAUTOINC+a7a24784ee-r0/git/src/corelib/tools/qcollator_posix.cpp
内の
void QCollatorPrivate::init()
{
if (!isC()) {
if (locale != QLocale())
qWarning("Only C and default locale supported with the posix collation implementation");
if (caseSensitivity != Qt::CaseSensitive)
qWarning("Case insensitive sorting unsupported in the posix collation implementation");
}
if (numericMode)
qWarning("Numeric mode unsupported in the posix collation implementation");
if (ignorePunctuation)
qWarning("Ignoring punctuation unsupported in the posix collation implementation");
dirty = false;
}

以下のURLが参考になるかと。
https://forum.qt.io/topic/102262/unsupported-in-the-posix-collation-impl...

bitbake時にロケールの設定を行っていない場合、インストールされれているロケール設定はCのみになりますか?
ja-jpやen-us等のロケールを別途インストールする必要がありますか?

他のロケールを追加したい場合は、local.conf 内で、IMAGE_LINGUAS = "en-gb en-us ja-jp " といった形で言語名-地域名で
指定を行えばrotofsに反映が行われます。

教えていただいた方法で、ja_JPのロケール設定ができ、日本語キーボードや、日本語フォントも表示させることができました。

しかし、この設定を行っても、GIFアニメーションは再生されませんでした。

いろいろ調査させていただいた中で、「gstreamer-imx」を使用したいと考えているのですが、
Yoctoイメージへの対応はできるのでしょうか?

https://github.com/Freescale/gstreamer-imx
ですと、こちらのREADME.md の記載では
Currently, this software has been tested only with the i.MX6 and i.MX7 SoC families.
となっており、i.MX8向けで動くようには作られていないと考えられます。

確認しました。
https://github.com/Freescale/gstreamer-imxでは
たしかに、i.mx8mmで対応されていないようです。

現在、困っているのが、Qtアプリケーション上で、MP4動画やGIFanimationを再生しようとした際、
MP4動画は、再生が遅くVPUやGPUを使用されていない状態で再生されているように見えます。
また、GIFanimationについては、背景を透過させたanimationを表示したいので、
なんとか認識させたいと思っております。

下記のサンプルが現状動作しない状態です。
/usr/share/examples/widgets/widgets/movie

また、下記のエラーは、ファイル選択ウインドウを表示させて、ディレクトリを移動した際に表示されるメッセージでした。
Numeric mode unsupported in the posix collation implementation

GIFanimationファイルを指定しても、なにもエラーは出力されませんが、表示もされない状態でした。

ビルド時の条件等ありますでしょうか?