小编Mic*_*nes的帖子

关键帧不是关键帧?AV_PKT_FLAG_KEY不解码为AV_PICTURE_TYPE_I

在标志中解码包含AV_PKT_FLAG_KEY的数据包之后,我期待获得I帧,但我获得了P帧:

致电后:

avcodec_decode_video2(codecCtx, frame, &frameFinished, &packet); // mpeg2 video
Run Code Online (Sandbox Code Playgroud)

我打印出以下内容作为完整性检查:

    printf("packet flags: %d picture type: %c\n", packet.flags,
            av_get_picture_type_char(frame->pict_type));
Run Code Online (Sandbox Code Playgroud)

返回输出:

    packet flags: 1 picture type: P
Run Code Online (Sandbox Code Playgroud)

当我期待:

    packet flags: 1 picture type: I  
Run Code Online (Sandbox Code Playgroud)

'1'== AV_PKT_FLAG_KEY.和'我'指的是AV_PICTURE_TYPE_I,

这种行为是否正确?(我正在解码MPEG2视频).

ffmpeg libavcodec libav libavformat

5
推荐指数
1
解决办法
6771
查看次数

标签 统计

ffmpeg ×1

libav ×1

libavcodec ×1

libavformat ×1