diff mpeg12.c @ 872:8af5c366e3d9 libavcodec

hurry_up=5 support
author michaelni
date Mon, 18 Nov 2002 09:28:21 +0000
parents eacc2dd8fd9d
children 9d50cf6d6361
line wrap: on
line diff
--- a/mpeg12.c	Fri Nov 15 11:05:14 2002 +0000
+++ b/mpeg12.c	Mon Nov 18 09:28:21 2002 +0000
@@ -1402,6 +1402,10 @@
     ref = get_bits(&s->gb, 10); /* temporal ref */
     s->pict_type = get_bits(&s->gb, 3);
     dprintf("pict_type=%d number=%d\n", s->pict_type, s->picture_number);
+
+    avctx->pict_type= s->pict_type;
+    avctx->key_frame= s->pict_type == I_TYPE;
+
     skip_bits(&s->gb, 16);
     if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) {
         s->full_pel[0] = get_bits1(&s->gb);
@@ -1911,7 +1915,7 @@
                     break;
                 default:
                     if (start_code >= SLICE_MIN_START_CODE &&
-                        start_code <= SLICE_MAX_START_CODE) {
+                        start_code <= SLICE_MAX_START_CODE && s2->hurry_up<5) {
                         ret = mpeg_decode_slice(avctx, picture,
                                                 start_code, s->buffer, input_size);
                         if (ret == DECODE_SLICE_EOP) {