2

AVCodecContext *av_ctx私のプログラムで私のいくつかのメンバーにアクセスしたい。32bit 版でコンパイルすると問題ないのですが、64bit 版に変更すると、この要素がシフトしたように動作します。

たとえばav_ctx->coded_width、 andを取得して (場合によってはand とav_ctx->coded_heightは異なります)、それらをいくつかの変数に格納します。このプログラムを 32 ビット バージョンでデバッグすると問題ありませんが、64 ビット バージョンではこの値が間違っていて、構造を確認すると、次の 2 つの要素 (と) が必要な値を持っていることがわかります。av_ctx->widthav_ctx->heightav_ctx->gop_sizeav_ctx->pix_fmt

AVCodecContext私は宣言をチェックしましたavcodec.h、そしてそれは(構造宣言の上のコメントで)言います:

ユーザー アプリケーションからこれらのフィールドにアクセスするには、AVOptions (av_opt* / av_set/get*()) を使用してください。

これはこれらの要素を取得する正しい方法かもしれないと思いますが、このAVOptionsが何であるかわかりません。検索しましたが、それが何であるか、どのように使用できるかを見つけることができませんでした。

4

1 に答える 1