Merge commit '7644f5a80787c9b608b82873604805d7e38a6a18'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 1 Nov 2013 12:07:15 +0000 (13:07 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 1 Nov 2013 12:07:15 +0000 (13:07 +0100)
* commit '7644f5a80787c9b608b82873604805d7e38a6a18':
  lavc: replace avcodec_set_dimensions with ff_set_dimensions

Conflicts:
libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/avcodec.h
libavcodec/internal.h
libavcodec/utils.c
libavcodec/version.h

Simple merge
@@@ -200,29 -162,14 +200,35 @@@ int ff_get_buffer(AVCodecContext *avctx
   */
  int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame);
  
 -const uint8_t *avpriv_find_start_code(const uint8_t *restrict p,
 +int ff_thread_can_start_frame(AVCodecContext *avctx);
 +
 +int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
 +
 +/**
 + * Call avcodec_open2 recursively by decrementing counter, unlocking mutex,
 + * calling the function and then restoring again. Assumes the mutex is
 + * already locked
 + */
 +int ff_codec_open2_recursive(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
 +
 +/**
 + * Call avcodec_close recursively, counterpart to avcodec_open2_recursive.
 + */
 +int ff_codec_close_recursive(AVCodecContext *avctx);
 +
 +/**
 + * Finalize buf into extradata and set its size appropriately.
 + */
 +int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf);
 +
 +const uint8_t *avpriv_find_start_code(const uint8_t *p,
                                        const uint8_t *end,
 -                                      uint32_t *restrict state);
 +                                      uint32_t *state);
  
+ /**
+  * Check that the provided frame dimensions are valid and set them on the codec
+  * context.
+  */
+ int ff_set_dimensions(AVCodecContext *s, int width, int height);
  #endif /* AVCODEC_INTERNAL_H */
@@@ -230,12 -152,23 +230,26 @@@ unsigned avcodec_get_edge_width(void
      return EDGE_WIDTH;
  }
  
+ #if FF_API_SET_DIMENSIONS
  void avcodec_set_dimensions(AVCodecContext *s, int width, int height)
  {
 -    s->width  = s->coded_width  = width;
 -    s->height = s->coded_height = height;
+     ff_set_dimensions(s, width, height);
+ }
+ #endif
+ int ff_set_dimensions(AVCodecContext *s, int width, int height)
+ {
+     int ret = av_image_check_size(width, height, 0, s);
+     if (ret < 0)
+         width = height = 0;
++
 +    s->coded_width  = width;
 +    s->coded_height = height;
 +    s->width        = FF_CEIL_RSHIFT(width,  s->lowres);
 +    s->height       = FF_CEIL_RSHIFT(height, s->lowres);
+     return ret;
  }
  
  #if HAVE_NEON || ARCH_PPC || HAVE_MMX
Simple merge