[FFmpeg-cvslog] 8bps: return meaningful error codes.

Anton Khirnov git at videolan.org
Sun Jan 6 23:55:14 CET 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Nov 14 08:59:03 2012 +0100| [313da47aa1f28aba3a81b0f4c9c23fd29df1070a] | committer: Anton Khirnov

8bps: return meaningful error codes.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=313da47aa1f28aba3a81b0f4c9c23fd29df1070a
---

 libavcodec/8bps.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/libavcodec/8bps.c b/libavcodec/8bps.c
index 8f0692c..ceed13f 100644
--- a/libavcodec/8bps.c
+++ b/libavcodec/8bps.c
@@ -69,15 +69,16 @@ static int decode_frame(AVCodecContext *avctx, void *data,
     unsigned int px_inc;
     unsigned int planes     = c->planes;
     unsigned char *planemap = c->planemap;
+    int ret;
 
     if (c->pic.data[0])
         avctx->release_buffer(avctx, &c->pic);
 
     c->pic.reference    = 0;
     c->pic.buffer_hints = FF_BUFFER_HINTS_VALID;
-    if (ff_get_buffer(avctx, &c->pic) < 0){
+    if ((ret = ff_get_buffer(avctx, &c->pic)) < 0) {
         av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
-        return -1;
+        return ret;
     }
 
     /* Set data pointer after line lengths */
@@ -101,14 +102,14 @@ static int decode_frame(AVCodecContext *avctx, void *data,
             /* Decode a row of this plane */
             while (dlen > 0) {
                 if (dp + 1 >= buf + buf_size)
-                    return -1;
+                    return AVERROR_INVALIDDATA;
                 if ((count = *dp++) <= 127) {
                     count++;
                     dlen -= count + 1;
                     if (pixptr + count * px_inc > pixptr_end)
                         break;
                     if (dp + count > buf + buf_size)
-                        return -1;
+                        return AVERROR_INVALIDDATA;
                     while (count--) {
                         *pixptr = *dp++;
                         pixptr += px_inc;
@@ -185,7 +186,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     default:
         av_log(avctx, AV_LOG_ERROR, "Error: Unsupported color depth: %u.\n",
                avctx->bits_per_coded_sample);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     return 0;



More information about the ffmpeg-cvslog mailing list