aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/imgconvert.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/imgconvert.c')
-rw-r--r--libavcodec/imgconvert.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 790ce80ac0..e40de6ebec 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -813,23 +813,12 @@ void ff_shrink88(uint8_t *dst, int dst_wrap,
int avpicture_alloc(AVPicture *picture,
enum PixelFormat pix_fmt, int width, int height)
{
- int size;
- void *ptr;
-
- size = avpicture_fill(picture, NULL, pix_fmt, width, height);
- if(size<0)
- goto fail;
- ptr = av_malloc(size);
- if (!ptr)
- goto fail;
- avpicture_fill(picture, ptr, pix_fmt, width, height);
- if(picture->data[1] && !picture->data[2])
- ff_set_systematic_pal2((uint32_t*)picture->data[1], pix_fmt);
-
- return 0;
- fail:
+ if (av_image_alloc(picture->data, picture->linesize, width, height, pix_fmt, 0) < 0) {
memset(picture, 0, sizeof(AVPicture));
return -1;
+ }
+
+ return 0;
}
void avpicture_free(AVPicture *picture)