[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