Merge commit 'e3d4784eb31b3ea4a97f2d4c698a75fab9bf3d86'
authorHendrik Leppkes <h.leppkes@gmail.com>
Thu, 17 Sep 2015 09:31:40 +0000 (11:31 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Thu, 17 Sep 2015 09:31:40 +0000 (11:31 +0200)
* commit 'e3d4784eb31b3ea4a97f2d4c698a75fab9bf3d86':
  d3d11va: WindowsPhone requires a mutex around ID3D11VideoContext

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
doc/APIchanges
libavcodec/Makefile
libavcodec/d3d11va.h
libavcodec/dxva2.c
libavcodec/version.h

diff --cc doc/APIchanges
@@@ -15,19 -13,11 +15,23 @@@ libavutil:     2015-08-2
  
  API changes, most recent first:
  
 -2015-xx-xx - xxxxxxx - lavc 57.2.0 - d3d11va.h
++2015-09-17 - xxxxxxx - lavc 57.3.100 / lavc 57.2.0 - d3d11va.h
+   Add av_d3d11va_alloc_context(). This function must from now on be used for
+   allocating AVD3D11VAContext.
 -2015-xx-xx - lavu 55.0.0
 +2015-09-15 - lavf 57.2.100 - avformat.h
 +  probesize and max_analyze_duration switched to 64bit, both
 +  are only accessible through AVOptions
 +
 +2015-09-15 - lavf 57.1.100 - avformat.h
 +  bit_rate was changed to 64bit, make sure you update any
 +  printf() or other type sensitive code
 +
 +2015-09-15 - lavc 57.2.100 - avcodec.h
 +  bit_rate/rc_max_rate/rc_min_rate were changed to 64bit, make sure you update
 +  any printf() or other type sensitive code
 +
 +2015-xx-xx - lavu 55.0.100 / lavu 55.0.0
    xxxxxxx - Change type of AVPixFmtDescriptor.flags from uint8_t to uint64_t.
    xxxxxxx - Change type of AVComponentDescriptor fields from uint16_t to int
              and drop bit packing.
@@@ -697,11 -581,10 +697,11 @@@ OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER
  OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER)       += adpcmenc.o adpcm_data.o
  
  # hardware accelerators
- OBJS-$(CONFIG_D3D11VA)                    += dxva2.o
+ OBJS-$(CONFIG_D3D11VA)                    += d3d11va.o dxva2.o
  OBJS-$(CONFIG_DXVA2)                      += dxva2.o
  OBJS-$(CONFIG_VAAPI)                      += vaapi.o
 -OBJS-$(CONFIG_VDA)                        += vda.o
 +OBJS-$(CONFIG_VDA)                        += vda.o videotoolbox.o
 +OBJS-$(CONFIG_VIDEOTOOLBOX)               += videotoolbox.o
  OBJS-$(CONFIG_VDPAU)                      += vdpau.o
  
  OBJS-$(CONFIG_H263_VAAPI_HWACCEL)         += vaapi_mpeg4.o
  
  /**
   * This structure is used to provides the necessary configurations and data
 - * to the Direct3D11 Libav HWAccel implementation.
 + * to the Direct3D11 FFmpeg HWAccel implementation.
   *
   * The application must make it available as AVCodecContext.hwaccel_context.
+  *
+  * Use av_d3d11va_alloc_context() exclusively to allocate an AVD3D11VAContext.
   */
- struct AVD3D11VAContext {
typedef struct AVD3D11VAContext {
      /**
       * D3D11 decoder object
       */
      uint64_t workaround;
  
      /**
 -     * Private to the Libav AVHWAccel implementation
 +     * Private to the FFmpeg AVHWAccel implementation
       */
      unsigned report_id;
- };
+     /**
+       * Mutex to access video_context
+       */
+     HANDLE  context_mutex;
+ } AVD3D11VAContext;
+ /**
+  * Allocate an AVD3D11VAContext.
+  *
+  * @return Newly-allocated AVD3D11VAContext or NULL on failure.
+  */
+ AVD3D11VAContext *av_d3d11va_alloc_context(void);
  
  /**
   * @}
Simple merge
@@@ -28,9 -28,9 +28,9 @@@
  
  #include "libavutil/version.h"
  
 -#define LIBAVCODEC_VERSION_MAJOR 57
 -#define LIBAVCODEC_VERSION_MINOR  2
 -#define LIBAVCODEC_VERSION_MICRO  0
 +#define LIBAVCODEC_VERSION_MAJOR  57
- #define LIBAVCODEC_VERSION_MINOR   2
++#define LIBAVCODEC_VERSION_MINOR   3
 +#define LIBAVCODEC_VERSION_MICRO 100
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \