summaryrefslogtreecommitdiff
path: root/libavcodec/lagarith.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2013-01-22 19:48:23 +0000
committerPaul B Mahol <onemda@gmail.com>2013-01-22 19:48:23 +0000
commitc4274d118b1abfeba248c5f4ef3360f265a6d55f (patch)
treece8a6cd4eaafa03c9fc8df8d44b59b7374734c18 /libavcodec/lagarith.c
parent5b10c5e7e4d79750974026f39940164d10b891cb (diff)
lagarith: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavcodec/lagarith.c')
-rw-r--r--libavcodec/lagarith.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c
index d5470a58ab..eb8a77e84c 100644
--- a/libavcodec/lagarith.c
+++ b/libavcodec/lagarith.c
@@ -518,6 +518,7 @@ static int lag_decode_frame(AVCodecContext *avctx,
uint32_t offs[4];
uint8_t *srcs[4], *dst;
int i, j, planes = 3;
+ int ret;
AVFrame *picture = data;
@@ -544,9 +545,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
planes = 4;
}
- if (ff_thread_get_buffer(avctx, p) < 0) {
+ if ((ret = ff_thread_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
- return -1;
+ return ret;
}
dst = p->data[0];
@@ -573,9 +574,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
if (frametype == FRAME_ARITH_RGB24 || frametype == FRAME_U_RGB24)
avctx->pix_fmt = AV_PIX_FMT_RGB24;
- if (ff_thread_get_buffer(avctx, p) < 0) {
+ if ((ret = ff_thread_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
- return -1;
+ return ret;
}
offs[0] = offset_bv;
@@ -632,9 +633,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
case FRAME_ARITH_YUY2:
avctx->pix_fmt = AV_PIX_FMT_YUV422P;
- if (ff_thread_get_buffer(avctx, p) < 0) {
+ if ((ret = ff_thread_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
- return -1;
+ return ret;
}
if (offset_ry >= buf_size ||
@@ -658,9 +659,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
case FRAME_ARITH_YV12:
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
- if (ff_thread_get_buffer(avctx, p) < 0) {
+ if ((ret = ff_thread_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
- return -1;
+ return ret;
}
if (buf_size <= offset_ry || buf_size <= offset_gu || buf_size <= offset_bv) {
return AVERROR_INVALIDDATA;
@@ -687,7 +688,7 @@ static int lag_decode_frame(AVCodecContext *avctx,
default:
av_log(avctx, AV_LOG_ERROR,
"Unsupported Lagarith frame type: %#x\n", frametype);
- return -1;
+ return AVERROR_PATCHWELCOME;
}
*picture = *p;