我使用FFMpeg的api将图像编码为H.264流,代码就像这个编码代码.当我调用该函数时,avcodec_encode_video2我得到了一个AVPacket的数据,然后我将它保存到文件中.我使用几个图像来获取几个文件进行测试.根据起始码00 00 00 01或00 00 01,我发现第一和第二文件的数据都包含几个H.264 NAL UINT.但是从第三个文件开始,我找不到startcode.喜欢跟随图像.

我感到困惑.根据FFMpeg的代码,我认为一个AVPacket的数据应该包含至少一个NAL Uint,但结果是意外的.这是否意味着一个NAL Uint可能被划分为两个AVPackets的数据?AVPacket和H.264 NAL Uint之间的关系是什么?
这可以工作:
const int size = 2;
int array[size] = {0};
Run Code Online (Sandbox Code Playgroud)这有编译错误:
int a = 2;
const int size = a;
int array[size] = {0};
Run Code Online (Sandbox Code Playgroud)为什么?