diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index db1d9b915fb246df1fa3c2885d50cde4dfb157ee..4493407b76f4b6a320ea03cc9448e33f5be8a58b 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -132,6 +132,7 @@ static const int Motion_Est_QTab[] = { ME_ZERO, ME_PHODS, ME_LOG, allows the last part of a frame to be decoded earlier */ #define CODEC_FLAG_NORMALIZE_AQP 0x00020000 /* normalize adaptive quantization */ #define CODEC_FLAG_INTERLACED_DCT 0x00040000 /* use interlaced dct */ +#define CODEC_FLAG_LOW_DELAY 0x00080000 /* force low delay / will fail on b frames */ /* codec capabilities */ diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 676df6e314837cffa101391bb7c1f662fd9280fd..490a5d7638be09a39196f893c18597a75f23b63d 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -351,6 +351,9 @@ retry: } ret = ff_mpeg4_decode_picture_header(s, &s->gb); + if(s->flags& CODEC_FLAG_LOW_DELAY) + s->low_delay=1; + s->has_b_frames= !s->low_delay; } else if (s->h263_intel) { ret = intel_h263_decode_picture_header(s);