访问 AVCodecContext 的元素
Access elements of AVCodecContext
我想在我的程序中访问我的AVCodecContext *av_ctx
的一些成员。当我在 32 位版本中编译它时很好,但是当我将其更改为 64 位时,这些元素就像它们被移动了一样。
例如,我想获取av_ctx->coded_width
和av_ctx->coded_height
(有时它们与av_ctx->width
和av_ctx->height
不同(并将它们存储在一些变量中。现在,当我在 32 位版本中调试此程序时,还可以,但在 64 位版本中,此值是错误的,当我检查我的结构时,我可以看到接下来的两个元素(av_ctx->gop_size
和 av_ctx->pix_fmt
(具有我想要的值。
我检查了AVCodecContext
avcodec.h
声明,它(在结构声明上方的评论中(说:
请使用 AVOptions (av_opt*/av_set/get*((( 从用户应用程序访问这些字段。
我认为这可能是获取这些元素的正确方法,但我不知道这个 AVOptions 是什么,我搜索了它,但找不到它到底是什么以及如何使用它。
int64_t cheight = 0;
av_opt_set_int(av_ctx,"coded_height", 400, 0);
av_opt_get_int(av_ctx,"coded_height", 0, &cheight);
也许你可以试试这个。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素