Merge commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4'
authorMark Thompson <sw@jkqxz.net>
Sun, 12 Mar 2017 15:21:41 +0000 (15:21 +0000)
committerMark Thompson <sw@jkqxz.net>
Sun, 12 Mar 2017 15:21:41 +0000 (15:21 +0000)
* commit '8e07c22e508b349d145b9f142aa3ee8b3ce1d3a4':
  qsvenc: print warnings from encode/init

Merged-by: Mark Thompson <sw@jkqxz.net>
1  2 
libavcodec/qsv.c
libavcodec/qsv_internal.h
libavcodec/qsvenc.c

Simple merge
@@@ -65,8 -62,10 +65,11 @@@ int ff_qsv_map_error(mfxStatus mfx_err
  int ff_qsv_print_error(void *log_ctx, mfxStatus err,
                         const char *error_string);
  
+ int ff_qsv_print_warning(void *log_ctx, mfxStatus err,
+                          const char *warning_string);
  int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id);
 +int ff_qsv_profile_to_mfx(enum AVCodecID codec_id, int profile);
  
  int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc);
  
@@@ -986,11 -972,14 +989,14 @@@ static int encode_frame(AVCodecContext 
      }
  
      do {
 -        ret = MFXVideoENCODE_EncodeFrameAsync(q->session, NULL, surf, bs, sync);
 +        ret = MFXVideoENCODE_EncodeFrameAsync(q->session, enc_ctrl, surf, bs, sync);
          if (ret == MFX_WRN_DEVICE_BUSY)
 -            av_usleep(1);
 +            av_usleep(500);
      } while (ret == MFX_WRN_DEVICE_BUSY || ret == MFX_WRN_IN_EXECUTION);
  
+     if (ret > 0)
+         ff_qsv_print_warning(avctx, ret, "Warning during encoding");
      if (ret < 0) {
          av_packet_unref(&new_pkt);
          av_freep(&bs);