好的,我对大学课程的C知之甚少,所以我希望你能理解我的问题。我使用 FFmpeg 库 for android 所以我只需要了解他们的 C 代码中的一些东西。
所以,我有这个结构:
typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8
/**
* pointer to the picture/channel planes.
*/
uint8_t *data[AV_NUM_DATA_POINTERS];
.......(some more types)
}
仅此而已,但是当我查看其他文件中的函数时-我看到了下一行,并且感到困惑,
函数外:
static AVFrame *picture_hq;
在函数内部:
picture_hq->data[0][y * picture_hq->linesize[0] + x] = native_video_frame_data[0];
不要关注未知的参数,我只是不明白上面的结构中的一维数组data[]如何变成二维数组data[0][bla bla bla..]?
它与 uint8_t 类型有关吗?