summaryrefslogtreecommitdiff
path: root/libavcodec/v210x.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-11-17 15:34:17 +0100
committerAnton Khirnov <anton@khirnov.net>2013-01-06 13:31:40 +0100
commit6689474b91049411b5b7986616d1c66b701ae11f (patch)
tree120ea5c74dd0a2c22a6cddd9db99e5cf265dffed /libavcodec/v210x.c
parent39039f24051e4efcf00a5b13a772085f1e34d6f4 (diff)
downloadffmpeg-6689474b91049411b5b7986616d1c66b701ae11f.tar.gz
v210x: return meaningful error codes.
Diffstat (limited to 'libavcodec/v210x.c')
-rw-r--r--libavcodec/v210x.c9
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];