【发布时间】:2012-12-12 05:35:16
【问题描述】:
解码标志中包含 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 视频)。
【问题讨论】:
标签: ffmpeg libavcodec libav libavformat