mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-28 09:41:01 +00:00
lagarith: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
5b10c5e7e4
commit
c4274d118b
@ -518,6 +518,7 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
uint32_t offs[4];
|
uint32_t offs[4];
|
||||||
uint8_t *srcs[4], *dst;
|
uint8_t *srcs[4], *dst;
|
||||||
int i, j, planes = 3;
|
int i, j, planes = 3;
|
||||||
|
int ret;
|
||||||
|
|
||||||
AVFrame *picture = data;
|
AVFrame *picture = data;
|
||||||
|
|
||||||
@ -544,9 +545,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
planes = 4;
|
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");
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
|
||||||
return -1;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
dst = p->data[0];
|
dst = p->data[0];
|
||||||
@ -573,9 +574,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
if (frametype == FRAME_ARITH_RGB24 || frametype == FRAME_U_RGB24)
|
if (frametype == FRAME_ARITH_RGB24 || frametype == FRAME_U_RGB24)
|
||||||
avctx->pix_fmt = AV_PIX_FMT_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");
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
|
||||||
return -1;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
offs[0] = offset_bv;
|
offs[0] = offset_bv;
|
||||||
@ -632,9 +633,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
case FRAME_ARITH_YUY2:
|
case FRAME_ARITH_YUY2:
|
||||||
avctx->pix_fmt = AV_PIX_FMT_YUV422P;
|
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");
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
|
||||||
return -1;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offset_ry >= buf_size ||
|
if (offset_ry >= buf_size ||
|
||||||
@ -658,9 +659,9 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
case FRAME_ARITH_YV12:
|
case FRAME_ARITH_YV12:
|
||||||
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
|
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");
|
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) {
|
if (buf_size <= offset_ry || buf_size <= offset_gu || buf_size <= offset_bv) {
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
@ -687,7 +688,7 @@ static int lag_decode_frame(AVCodecContext *avctx,
|
|||||||
default:
|
default:
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Unsupported Lagarith frame type: %#x\n", frametype);
|
"Unsupported Lagarith frame type: %#x\n", frametype);
|
||||||
return -1;
|
return AVERROR_PATCHWELCOME;
|
||||||
}
|
}
|
||||||
|
|
||||||
*picture = *p;
|
*picture = *p;
|
||||||
|
Loading…
Reference in New Issue
Block a user