Browse Source

h261dec: Fix order of initialization

ff_MPV_common_init requires the frame dimensions which get parsed in
h261_decode_picture_header.
tags/n2.4
John Stebbins 11 years ago
parent
commit
552bc42df4
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      libavcodec/h261dec.c

+ 6
- 4
libavcodec/h261dec.c View File

@@ -581,12 +581,9 @@ static int h261_decode_frame(AVCodecContext *avctx, void *data,
retry:
init_get_bits(&s->gb, buf, buf_size * 8);

if (!s->context_initialized) {
if (!s->context_initialized)
// we need the IDCT permutaton for reading a custom matrix
ff_mpv_idct_init(s);
if (ff_MPV_common_init(s) < 0)
return -1;
}

ret = h261_decode_picture_header(h);

@@ -602,6 +599,11 @@ retry:
ff_MPV_common_end(s);
s->parse_context = pc;
}

if (!s->context_initialized)
if ((ret = ff_MPV_common_init(s)) < 0)
return ret;

if (!s->context_initialized) {
ret = ff_set_dimensions(avctx, s->width, s->height);
if (ret < 0)


Loading…
Cancel
Save