diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-11-17 15:34:17 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-01-06 13:31:40 +0100 |
commit | 6689474b91049411b5b7986616d1c66b701ae11f (patch) | |
tree | 120ea5c74dd0a2c22a6cddd9db99e5cf265dffed /libavcodec/v210x.c | |
parent | 39039f24051e4efcf00a5b13a772085f1e34d6f4 (diff) | |
download | ffmpeg-6689474b91049411b5b7986616d1c66b701ae11f.tar.gz |
v210x: return meaningful error codes.
Diffstat (limited to 'libavcodec/v210x.c')
-rw-r--r-- | libavcodec/v210x.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/v210x.c b/libavcodec/v210x.c index 0b1b721617..3f3ffe4f3e 100644 --- a/libavcodec/v210x.c +++ b/libavcodec/v210x.c @@ -28,7 +28,7 @@ static av_cold int decode_init(AVCodecContext *avctx) { if(avctx->width & 1){ av_log(avctx, AV_LOG_ERROR, "v210x needs even width\n"); - return -1; + return AVERROR(EINVAL); } avctx->pix_fmt = AV_PIX_FMT_YUV422P16; avctx->bits_per_raw_sample= 10; @@ -46,13 +46,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVFrame *pic= avctx->coded_frame; const uint32_t *src= (const uint32_t *)avpkt->data; uint16_t *ydst, *udst, *vdst, *yend; + int ret; if(pic->data[0]) avctx->release_buffer(avctx, pic); if(avpkt->size < avctx->width * avctx->height * 8 / 3){ av_log(avctx, AV_LOG_ERROR, "Packet too small\n"); - return -1; + return AVERROR_INVALIDDATA; } if(avpkt->size > avctx->width * avctx->height * 8 / 3){ @@ -60,8 +61,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, } pic->reference= 0; - if(ff_get_buffer(avctx, pic) < 0) - return -1; + if ((ret = ff_get_buffer(avctx, pic)) < 0) + return ret; ydst= (uint16_t *)pic->data[0]; udst= (uint16_t *)pic->data[1]; |