Merge commit '3152058bf1dca318898550efacf0286f4836cae6'
authorJames Almer <jamrial@gmail.com>
Sun, 19 Nov 2017 21:26:45 +0000 (18:26 -0300)
committerJames Almer <jamrial@gmail.com>
Sun, 19 Nov 2017 21:26:45 +0000 (18:26 -0300)
* commit '3152058bf1dca318898550efacf0286f4836cae6':
  libavcodec: Don't use dllexport, only dllimport when building DLLs

Merged-by: James Almer <jamrial@gmail.com>
1  2 
configure
libavcodec/internal.h
libavutil/internal.h

diff --cc configure
+++ b/configure
@@@ -4957,11 -3883,11 +4957,11 @@@ case $target_os i
      mingw32*|mingw64*)
          target_os=mingw32
          if enabled shared; then
-             # Cannot build both shared and static libs when using dllexport.
+             # Cannot build both shared and static libs when using dllimport.
              disable static
          fi
 -        check_ldflags -Wl,--nxcompat
 -        check_ldflags -Wl,--dynamicbase
 +        enabled shared && ! enabled small && check_cmd $windres --version && enable gnu_windres
 +        enabled x86_32 && check_ldflags -Wl,--large-address-aware
          shlibdir_default="$bindir_default"
          SLIBPREF=""
          SLIBSUF=".dll"
@@@ -391,35 -285,8 +391,31 @@@ int ff_decode_frame_props(AVCodecContex
   */
  AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx);
  
- #if defined(_WIN32) && CONFIG_SHARED
- #ifdef BUILDING_avcodec
- #    define av_export_avcodec __declspec(dllexport)
- #else
 +int ff_side_data_set_encoder_stats(AVPacket *pkt, int quality, int64_t *error, int error_count, int pict_type);
 +
 +/**
 + * Check AVFrame for A53 side data and allocate and fill SEI message with A53 info
 + *
 + * @param frame      Raw frame to get A53 side data from
 + * @param prefix_len Number of bytes to allocate before SEI message
 + * @param data       Pointer to a variable to store allocated memory
 + *                   Upon return the variable will hold NULL on error or if frame has no A53 info.
 + *                   Otherwise it will point to prefix_len uninitialized bytes followed by
 + *                   *sei_size SEI message
 + * @param sei_size   Pointer to a variable to store generated SEI message length
 + * @return           Zero on success, negative error code on failure
 + */
 +int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
 +                     void **data, size_t *sei_size);
 +
 +/**
 + * Get an estimated video bitrate based on frame size, frame rate and coded
 + * bits per pixel.
 + */
 +int64_t ff_guess_coded_bitrate(AVCodecContext *avctx);
 +
+ #if defined(_WIN32) && CONFIG_SHARED && !defined(BUILDING_avcodec)
  #    define av_export_avcodec __declspec(dllimport)
- #endif
  #else
  #    define av_export_avcodec
  #endif
  #endif
  #endif
  
- #if defined(_WIN32) && CONFIG_SHARED
- #ifdef BUILDING_avutil
- #    define av_export_avutil __declspec(dllexport)
- #else
++#if defined(_WIN32) && CONFIG_SHARED && !defined(BUILDING_avutil)
 +#    define av_export_avutil __declspec(dllimport)
- #endif
 +#else
 +#    define av_export_avutil
 +#endif
 +
  #if HAVE_PRAGMA_DEPRECATED
 -#    if defined(__ICL)
 +#    if defined(__ICL) || defined (__INTEL_COMPILER)
  #        define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:1478))
  #        define FF_ENABLE_DEPRECATION_WARNINGS  __pragma(warning(pop))
  #    elif defined(_MSC_VER)