“背景”这个词在结构中通常意味着什么?

时间:2010-11-10 12:48:56

标签: c data-structures ffmpeg scope

我正在尝试使用一些ffmpeg的库来构建应用程序,我注意到许多数据结构中包含“Context”一词。

你可以在这里看到一些http://www.ffmpeg.org/doxygen/trunk/classes.html

我不明白在这个背景中使用“上下文”一词。

关于它通常意味着什么的暗示?

3 个答案:

答案 0 :(得分:2)

查看您提供的文档似乎与特殊编解码器的上下文相关,以便每个SomethingContext封装

  • 特定编解码器所需的结构(标题等)
  • 使用该编解码器进行调整时的可用操作(可能因编解码器本身的复杂性而异)

类似“使用H264时......”

答案 1 :(得分:2)

在C中,struct通常是实例化对象的手段。

API将有一个new()类型函数,它将分配其中一个“上下文”结构并提供指向它的指针。

然后,该指针通常会传递给该API的任何公共函数。

e.g。

struct btree_state
   *btree_state;

btree_new( &btree_state );
btree_new_element( btree_state, pointer_to_user_data );

这样我们可以拥有给定对象的多个实例。我们通过传递给API函数的状态指针选择使用哪一个。

答案 2 :(得分:2)

对于FFMpeg,将“context”看作有点像对象实例(c ++,java“this”)。在FFmepg中打开格式会话,打开输入设备,编解码器和输出设备时创建上下文