【发布时间】:2017-08-29 01:31:43
【问题描述】:
假设我在内存中有一个 NV12 帧作为字节数组。我知道:
- 它的宽度和高度
- 它的步幅(包括填充在内的线的总宽度),根据 NV12 规范,对于 Y 和 UV 分量是相同的
- 我知道 Y 从哪里开始,U 从 Y +(步幅 * 高度)开始,V 从 U + 1 开始(与 U 交错)。
这就是我目前所拥有的:
SwsContext* context = sws_getContext(frameWidth, frameHeight, AV_PIX_FMT_NV12, frameWidth, frameHeight, AV_PIX_FMT_RGB32, 0, nullptr, nullptr, nullptr);
sws_scale(context,
所以我不知道sws_scale的参数应该是什么:
- srcSlice:指向字节数组的指针?它显然应该是一个 指向指针的指针,但我所拥有的只是一维 字节数组。
- srcStride :显然需要一组步幅,但我对整个文件只有一个步幅。我应该只传递一个数组吗 一个元素?
- srcSliceY:我猜是第一个字节的偏移量?那么应该是 0。
- srcSliceH : 我猜的帧高度
- dst :再一次指向一个指针,但我的目标输出实际上只是另一个字节数组...
- dstStride : Width * 4 我猜?
任何帮助表示赞赏。
【问题讨论】: