[FFmpeg-cvslog] dirac: use meaningful return values

Jordi Ortiz git at videolan.org
Tue Aug 21 16:52:32 CEST 2012


ffmpeg | branch: master | Jordi Ortiz <nenjordi at gmail.com> | Tue Aug 21 15:09:40 2012 +0200| [72e8d86b19c605f2173b20e56cbc42e032572e08] | committer: Luca Barbato

dirac: use meaningful return values

Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

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

 libavcodec/dirac.c |   25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c
index 07329e3..3b5d177 100644
--- a/libavcodec/dirac.c
+++ b/libavcodec/dirac.c
@@ -123,20 +123,20 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
     if (source->chroma_format > 2) {
         av_log(avctx, AV_LOG_ERROR, "Unknown chroma format %d\n",
                source->chroma_format);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     if (get_bits1(gb))
         source->interlaced = svq3_get_ue_golomb(gb);
     if (source->interlaced > 1)
-        return -1;
+        return AVERROR_INVALIDDATA;
 
     // frame rate
     if (get_bits1(gb)) {
         source->frame_rate_index = svq3_get_ue_golomb(gb);
 
         if (source->frame_rate_index > 10)
-            return -1;
+            return AVERROR_INVALIDDATA;
 
         if (!source->frame_rate_index) {
             frame_rate.num = svq3_get_ue_golomb(gb);
@@ -157,7 +157,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
         source->aspect_ratio_index = svq3_get_ue_golomb(gb);
 
         if (source->aspect_ratio_index > 6)
-            return -1;
+            return AVERROR_INVALIDDATA;
 
         if (!source->aspect_ratio_index) {
             avctx->sample_aspect_ratio.num = svq3_get_ue_golomb(gb);
@@ -180,7 +180,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
         source->pixel_range_index = svq3_get_ue_golomb(gb);
 
         if (source->pixel_range_index > 4)
-            return -1;
+            return AVERROR_INVALIDDATA;
 
         // This assumes either fullrange or MPEG levels only
         if (!source->pixel_range_index) {
@@ -208,7 +208,7 @@ static int parse_source_parameters(AVCodecContext *avctx, GetBitContext *gb,
         idx = source->color_spec_index = svq3_get_ue_golomb(gb);
 
         if (source->color_spec_index > 4)
-            return -1;
+            return AVERROR_INVALIDDATA;
 
         avctx->color_primaries = dirac_color_presets[idx].color_primaries;
         avctx->colorspace      = dirac_color_presets[idx].colorspace;
@@ -247,6 +247,7 @@ int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
 {
     unsigned version_major;
     unsigned video_format, picture_coding_mode;
+    int ret;
 
     version_major  = svq3_get_ue_golomb(gb);
     svq3_get_ue_golomb(gb); /* version_minor */
@@ -260,17 +261,17 @@ int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
         av_log(avctx, AV_LOG_WARNING, "Stream may have unhandled features\n");
 
     if (video_format > 20)
-        return -1;
+        return AVERROR_INVALIDDATA;
 
     // Fill in defaults for the source parameters.
     *source = dirac_source_parameters_defaults[video_format];
 
     // Override the defaults.
-    if (parse_source_parameters(avctx, gb, source))
-        return -1;
+    if (ret = parse_source_parameters(avctx, gb, source))
+        return ret;
 
-    if (av_image_check_size(source->width, source->height, 0, avctx))
-        return -1;
+    if (ret = av_image_check_size(source->width, source->height, 0, avctx))
+        return ret;
 
     avcodec_set_dimensions(avctx, source->width, source->height);
 
@@ -279,7 +280,7 @@ int avpriv_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
     if (picture_coding_mode != 0) {
         av_log(avctx, AV_LOG_ERROR, "Unsupported picture coding mode %d",
                picture_coding_mode);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
     return 0;
 }



More information about the ffmpeg-cvslog mailing list