[FFmpeg-cvslog] bethsoftvid: set packet key frame flag for audio and I-frame video packets.
Justin Ruggles
git at videolan.org
Fri Feb 17 00:45:04 CET 2012
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Wed Jan 18 18:48:32 2012 -0500| [05e4ae833ce9be39880c98a0cfb27edce4722bab] | committer: Justin Ruggles
bethsoftvid: set packet key frame flag for audio and I-frame video packets.
Fixes avconv video stream copy of bethsoft video, which was skipping all
video frames unless the copyinkf option was used.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=05e4ae833ce9be39880c98a0cfb27edce4722bab
---
libavformat/bethsoftvid.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/libavformat/bethsoftvid.c b/libavformat/bethsoftvid.c
index e755f83..b01f73a 100644
--- a/libavformat/bethsoftvid.c
+++ b/libavformat/bethsoftvid.c
@@ -172,6 +172,8 @@ static int read_frame(BVID_DemuxContext *vid, AVIOContext *pb, AVPacket *pkt,
pkt->pos = position;
pkt->stream_index = 0; // use the video decoder, which was initialized as the first stream
pkt->pts = vid->video_pts;
+ if (block_type == VIDEO_I_FRAME)
+ pkt->flags |= AV_PKT_FLAG_KEY;
/* if there is a new palette available, add it to packet side data */
if (vid->palette) {
@@ -230,6 +232,7 @@ static int vid_read_packet(AVFormatContext *s,
return AVERROR(EIO);
}
pkt->stream_index = 1;
+ pkt->flags |= AV_PKT_FLAG_KEY;
return 0;
case VIDEO_P_FRAME:
More information about the ffmpeg-cvslog
mailing list