diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index db1d9b915f..4493407b76 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 676df6e314..490a5d7638 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);