aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-07-06 21:24:04 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-07-06 21:24:04 +0000
commite0560448249e3b5cd9961fb1e376de0731ac0e5e (patch)
tree42f6e6a09d363061fd870f56a923149c08d39531 /libavcodec
parent27fc5352d01f48d4b3aa059486cc126823a8d393 (diff)
downloadffmpeg-e0560448249e3b5cd9961fb1e376de0731ac0e5e.tar.gz
CODEC_FLAG_LOW_DELAY fix
Originally committed as revision 2016 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h263.c2
-rw-r--r--libavcodec/mpeg12.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 5b3119ac9c..8ca67cce6d 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -4648,7 +4648,7 @@ static int decode_vop_header(MpegEncContext *s, GetBitContext *gb){
int time_incr, time_increment;
s->pict_type = get_bits(gb, 2) + I_TYPE; /* pict type: I = 0 , P = 1 */
- if(s->pict_type==B_TYPE && s->low_delay && s->vol_control_parameters==0){
+ if(s->pict_type==B_TYPE && s->low_delay && s->vol_control_parameters==0 && !(s->flags & CODEC_FLAG_LOW_DELAY)){
printf("low_delay flag set, but shouldnt, clearing it\n");
s->low_delay=0;
}
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index b78ae38511..e818bbcd12 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1653,7 +1653,10 @@ static void mpeg_decode_sequence_extension(MpegEncContext *s)
s->bit_rate = ((s->bit_rate / 400) | (bit_rate_ext << 12)) * 400;
skip_bits1(&s->gb); /* marker */
vbv_buf_ext = get_bits(&s->gb, 8);
+
s->low_delay = get_bits1(&s->gb);
+ if(s->flags & CODEC_FLAG_LOW_DELAY) s->low_delay=1;
+
frame_rate_ext_n = get_bits(&s->gb, 2);
frame_rate_ext_d = get_bits(&s->gb, 5);
av_reduce(