在解码标志中包含 AV_PKT_FLAG_KEY 的数据包后,我期待得到 I 帧,但我得到了 P 帧:
致电后:
avcodec_decode_video2(codecCtx, frame, &frameFinished, &packet); // mpeg2 video
我打印出以下内容作为健全性检查:
printf("packet flags: %d picture type: %c\n", packet.flags,
av_get_picture_type_char(frame->pict_type));
返回输出:
packet flags: 1 picture type: P
当我期待:
packet flags: 1 picture type: I
其中“1”== AV_PKT_FLAG_KEY。'I' 指的是 AV_PICTURE_TYPE_I,
这种行为正确吗?(我正在解码 MPEG2 视频)。