我想AVCodecContext *av_ctx
在我的程序中访问我的一些成员。当我在 32 位版本中编译它时很好,但是当我将它更改为 64 位时,这些元素的行为就像它们被移动了一样。
例如,我想获取av_ctx->coded_width
and av_ctx->coded_height
(有时它们与av_ctx->width
and不同av_ctx->height
)并将它们存储在一些变量中。现在,当我在 32 位版本中调试该程序时没问题,但在 64 位版本中,这个值是错误的,当我检查我的结构时,我可以看到接下来的两个元素 (av_ctx->gop_size
和av_ctx->pix_fmt
) 具有我想要的值。
我检查了AVCodecContext
声明avcodec.h
,它(在结构声明上方的评论中)说:
请使用 AVOptions (av_opt* / av_set/get*()) 从用户应用程序访问这些字段。
我认为这可能是获取这些元素的正确方法,但我不知道这是什么AVOptions,我搜索了它但找不到它到底是什么以及如何使用它。