changeset 160:1bf8c111691d libavcodec

- Bug fixed on H.263 decoder initialization.
author pulento
date Sat, 17 Nov 2001 15:43:04 +0000
parents 660233346f4f
children 7ce36cf13055
files h263dec.c
diffstat 1 files changed, 10 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/h263dec.c	Fri Nov 16 19:13:03 2001 +0000
+++ b/h263dec.c	Sat Nov 17 15:43:04 2001 +0000
@@ -113,13 +113,18 @@
         ret = intel_h263_decode_picture_header(s);
     } else {
         ret = h263_decode_picture_header(s);
-        /* After H263 header decode we have the height, width,     */
-        /* and other parameters. So then we could init the picture */
-        if (s->width != avctx->width || s->height != avctx->height) {
+        /* After H263 header decode we have the height, width,       */
+        /* and other parameters. So then we could init the picture   */
+        /* FIXME: By the way H263 decoder is evolving it should have */
+        /* an H263EncContext                                         */
+        if (!s->context_initialized) {
             avctx->width = s->width;
             avctx->height = s->height;
-            /* FIXME: By the way H263 decoder is evolving it should have */
-            /* an H263EncContext                                         */
+            if (MPV_common_init(s) < 0)
+                return -1;
+        } else if (s->width != avctx->width || s->height != avctx->height) {
+            /* H.263 could change picture size any time */
+            MPV_common_end(s);
             if (MPV_common_init(s) < 0)
                 return -1;
         }