Commit 126abaaa authored by Anton Khirnov's avatar Anton Khirnov

rl2: return meaningful error codes.

parent 7c8fceef
...@@ -140,7 +140,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx) ...@@ -140,7 +140,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx)
/** parse extra data */ /** parse extra data */
if(!avctx->extradata || avctx->extradata_size < EXTRADATA1_SIZE){ if(!avctx->extradata || avctx->extradata_size < EXTRADATA1_SIZE){
av_log(avctx, AV_LOG_ERROR, "invalid extradata size\n"); av_log(avctx, AV_LOG_ERROR, "invalid extradata size\n");
return -1; return AVERROR(EINVAL);
} }
/** get frame_offset */ /** get frame_offset */
...@@ -149,7 +149,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx) ...@@ -149,7 +149,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx)
if(s->video_base >= avctx->width * avctx->height){ if(s->video_base >= avctx->width * avctx->height){
av_log(avctx, AV_LOG_ERROR, "invalid video_base\n"); av_log(avctx, AV_LOG_ERROR, "invalid video_base\n");
return -1; return AVERROR_INVALIDDATA;
} }
/** initialize palette */ /** initialize palette */
...@@ -162,7 +162,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx) ...@@ -162,7 +162,7 @@ static av_cold int rl2_decode_init(AVCodecContext *avctx)
if(back_size > 0){ if(back_size > 0){
unsigned char* back_frame = av_mallocz(avctx->width*avctx->height); unsigned char* back_frame = av_mallocz(avctx->width*avctx->height);
if(!back_frame) if(!back_frame)
return -1; return AVERROR(ENOMEM);
rl2_rle_decode(s,avctx->extradata + EXTRADATA1_SIZE,back_size, rl2_rle_decode(s,avctx->extradata + EXTRADATA1_SIZE,back_size,
back_frame,avctx->width,0); back_frame,avctx->width,0);
s->back_frame = back_frame; s->back_frame = back_frame;
...@@ -176,7 +176,7 @@ static int rl2_decode_frame(AVCodecContext *avctx, ...@@ -176,7 +176,7 @@ static int rl2_decode_frame(AVCodecContext *avctx,
AVPacket *avpkt) AVPacket *avpkt)
{ {
const uint8_t *buf = avpkt->data; const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size; int ret, buf_size = avpkt->size;
Rl2Context *s = avctx->priv_data; Rl2Context *s = avctx->priv_data;
if(s->frame.data[0]) if(s->frame.data[0])
...@@ -184,9 +184,9 @@ static int rl2_decode_frame(AVCodecContext *avctx, ...@@ -184,9 +184,9 @@ static int rl2_decode_frame(AVCodecContext *avctx,
/** get buffer */ /** get buffer */
s->frame.reference= 0; s->frame.reference= 0;
if(ff_get_buffer(avctx, &s->frame)) { if ((ret = ff_get_buffer(avctx, &s->frame)) < 0) {
av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1; return ret;
} }
/** run length decode */ /** run length decode */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment