mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
h263dec: Fix order of initialization
ff_MPV_common_init requires the frame dimensions which get parsed in *_decode_picture_header.
This commit is contained in:
parent
998c9f15d1
commit
b869eea7ea
@ -416,21 +416,9 @@ int ff_h263_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (!s->context_initialized) {
|
if (!s->context_initialized)
|
||||||
// we need the idct permutaton for reading a custom matrix
|
// we need the idct permutaton for reading a custom matrix
|
||||||
ff_mpv_idct_init(s);
|
ff_mpv_idct_init(s);
|
||||||
if ((ret = ff_MPV_common_init(s)) < 0)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We need to set current_picture_ptr before reading the header,
|
|
||||||
* otherwise we cannot store anyting in there */
|
|
||||||
if (s->current_picture_ptr == NULL || s->current_picture_ptr->f->data[0]) {
|
|
||||||
int i = ff_find_unused_picture(s, 0);
|
|
||||||
if (i < 0)
|
|
||||||
return i;
|
|
||||||
s->current_picture_ptr = &s->picture[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* let's go :-) */
|
/* let's go :-) */
|
||||||
if (CONFIG_WMV2_DECODER && s->msmpeg4_version == 5) {
|
if (CONFIG_WMV2_DECODER && s->msmpeg4_version == 5) {
|
||||||
@ -465,6 +453,17 @@ int ff_h263_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!s->context_initialized)
|
||||||
|
if ((ret = ff_MPV_common_init(s)) < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (s->current_picture_ptr == NULL || s->current_picture_ptr->f->data[0]) {
|
||||||
|
int i = ff_find_unused_picture(s, 0);
|
||||||
|
if (i < 0)
|
||||||
|
return i;
|
||||||
|
s->current_picture_ptr = &s->picture[i];
|
||||||
|
}
|
||||||
|
|
||||||
avctx->has_b_frames = !s->low_delay;
|
avctx->has_b_frames = !s->low_delay;
|
||||||
|
|
||||||
#define SET_QPEL_FUNC(postfix1, postfix2) \
|
#define SET_QPEL_FUNC(postfix1, postfix2) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user