summaryrefslogtreecommitdiff
path: root/libavcodec/jpeglsdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-18 10:22:20 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-05-18 10:22:39 +0200
commit7d84bb2bcca85c37dc2252f0dc5d585ee9c0011f (patch)
treef184682d44a153af480fa3dacf1edf4a3c15785a /libavcodec/jpeglsdec.c
parentb53d6a47c51a54bb830de14fc742a9284f612745 (diff)
parent4a4107b48944397c914aa39ee16a82fe44db8c4c (diff)
Merge commit '4a4107b48944397c914aa39ee16a82fe44db8c4c'
* commit '4a4107b48944397c914aa39ee16a82fe44db8c4c': jpegls: factorize return paths Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/jpeglsdec.c')
-rw-r--r--libavcodec/jpeglsdec.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c
index 40301d421c..c133cfb207 100644
--- a/libavcodec/jpeglsdec.c
+++ b/libavcodec/jpeglsdec.c
@@ -277,7 +277,7 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near,
int i, t = 0;
uint8_t *zero, *last, *cur;
JLSState *state;
- int off = 0, stride = 1, width, shift;
+ int off = 0, stride = 1, width, shift, ret = 0;
zero = av_mallocz(s->picture.linesize[0]);
last = zero;
@@ -353,9 +353,8 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near,
}
} else if (ilv == 2) { /* sample interleaving */
avpriv_report_missing_feature(s->avctx, "Sample interleaved images");
- av_free(state);
- av_free(zero);
- return AVERROR_PATCHWELCOME;
+ ret = AVERROR_PATCHWELCOME;
+ goto end;
}
if (shift) { /* we need to do point transform or normalize samples */
@@ -381,10 +380,12 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near,
}
}
}
+
+end:
av_free(state);
av_free(zero);
- return 0;
+ return ret;
}
AVCodec ff_jpegls_decoder = {