summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vd_ffmpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs/vd_ffmpeg.c')
-rw-r--r--libmpcodecs/vd_ffmpeg.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 56e4171c55..1908089570 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -630,6 +630,17 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
mpi->qscale=&quant_store[0][0];
mpi->qstride=MBC+1;
#endif
+
+ {
+ static int last_non_b_type= 0;
+
+ if(avctx->pict_type == B_TYPE)
+ mpi->pict_type= B_TYPE;
+ else{
+ mpi->pict_type= last_non_b_type;
+ last_non_b_type= avctx->pict_type;
+ }
+ }
return mpi;
}