Merge commit '5c0a09839c707f10e5dba59460e219e989c1da93'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 30 Oct 2013 08:33:46 +0000 (09:33 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 30 Oct 2013 08:33:46 +0000 (09:33 +0100)
* commit '5c0a09839c707f10e5dba59460e219e989c1da93':
  libopenjpegdec: return meaningful error codes

Conflicts:
libavcodec/libopenjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/libopenjpegdec.c

@@@ -267,10 -279,12 +267,10 @@@ static int libopenjpeg_decode_frame(AVC
  
      if (!dec) {
          av_log(avctx, AV_LOG_ERROR, "Error initializing decoder.\n");
-         return -1;
+         return AVERROR_UNKNOWN;
      }
      opj_set_event_mgr((opj_common_ptr)dec, NULL, NULL);
 -
      ctx->dec_params.cp_limit_decoding = LIMIT_TO_MAIN_HEADER;
 -    ctx->dec_params.cp_reduce         = ctx->lowres;
      ctx->dec_params.cp_layer          = ctx->lowqual;
      // Tie decoder with decoding parameters
      opj_setup_decoder(dec, &ctx->dec_params);
      width  = image->x1 - image->x0;
      height = image->y1 - image->y0;
  
-     if (av_image_check_size(width, height, 0, avctx) < 0) {
 -    if (ctx->lowres) {
 -        width  = (width  + (1 << ctx->lowres) - 1) >> ctx->lowres;
 -        height = (height + (1 << ctx->lowres) - 1) >> ctx->lowres;
 -    }
 -
+     if ((ret = av_image_check_size(width, height, 0, avctx)) < 0) {
          av_log(avctx, AV_LOG_ERROR,
                 "%dx%d dimension invalid.\n", width, height);
          goto done;
          if (image->comps[i].prec > avctx->bits_per_raw_sample)
              avctx->bits_per_raw_sample = image->comps[i].prec;
  
-     if (ff_thread_get_buffer(avctx, &frame, 0) < 0)
 -    if ((ret = ff_thread_get_buffer(avctx, &frame, 0)) < 0) {
 -        av_log(avctx, AV_LOG_ERROR, "ff_thread_get_buffer() failed\n");
++    if ((ret = ff_thread_get_buffer(avctx, &frame, 0)) < 0)
          goto done;
 -    }
  
      ctx->dec_params.cp_limit_decoding = NO_LIMITATION;
 +    ctx->dec_params.cp_reduce = avctx->lowres;
      // Tie decoder with decoding parameters.
      opj_setup_decoder(dec, &ctx->dec_params);
      stream = opj_cio_open((opj_common_ptr)dec, buf, buf_size);