summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2004-11-23 23:58:54 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-11-23 23:58:54 +0000
commit80516d720ae2a9e8d01a83deb475f85c4c29e6df (patch)
tree6ba1f179c301e02b79b684fa14be27e1ea09c152 /libavcodec/mpegvideo.c
parent7e0fda0a4ebe9859d01d1cab9ab5dba8c54e3e8e (diff)
Fixes a segfault when flushing delayed B-frames on the 2nd pass. patch by (Loren Merritt <lorenm.u@washington@edu>)
Originally committed as revision 3707 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index ed1e6b7c71..3b097e1dff 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2015,6 +2015,12 @@ static void select_input_picture(MpegEncContext *s){
for(i=0; i<s->max_b_frames+1; i++){
int pict_num= s->input_picture[0]->display_picture_number + i;
int pict_type= s->rc_context.entry[pict_num].new_pict_type;
+
+ if(!s->input_picture[i]){
+ if(i>0)
+ s->rc_context.entry[pict_num-1].new_pict_type = P_TYPE;
+ break;
+ }
s->input_picture[i]->pict_type= pict_type;
if(i + 1 >= s->rc_context.num_entries) break;