mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
avcodec/ffv1: Initialize vlc_state on allocation
This ensures that they are always set to valid values Fixes Ticket4939 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
cf52ae003b
commit
a878dfa4f5
@ -66,7 +66,7 @@ av_cold int ff_ffv1_common_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
av_cold int ff_ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
|
av_cold int ff_ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
|
||||||
{
|
{
|
||||||
int j;
|
int j, i;
|
||||||
|
|
||||||
fs->plane_count = f->plane_count;
|
fs->plane_count = f->plane_count;
|
||||||
fs->transparency = f->transparency;
|
fs->transparency = f->transparency;
|
||||||
@ -80,10 +80,15 @@ av_cold int ff_ffv1_init_slice_state(FFV1Context *f, FFV1Context *fs)
|
|||||||
if (!p->state)
|
if (!p->state)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
} else {
|
} else {
|
||||||
if (!p->vlc_state)
|
if (!p->vlc_state) {
|
||||||
p->vlc_state = av_malloc_array(p->context_count, sizeof(VlcState));
|
p->vlc_state = av_mallocz_array(p->context_count, sizeof(VlcState));
|
||||||
if (!p->vlc_state)
|
if (!p->vlc_state)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
for (i = 0; i < p->context_count; i++) {
|
||||||
|
p->vlc_state[i].error_sum = 4;
|
||||||
|
p->vlc_state[i].count = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user