]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/libx264.c
qsvenc: support getting the session from an AVHWFramesContext
[ffmpeg] / libavcodec / libx264.c
index 7798ef36481ebc84cfd81f0795c6488f7f2bf239..fddf1b38282be9b962637b463a83b0866ebd9197 100644 (file)
@@ -209,11 +209,23 @@ static void reconfig_encoder(AVCodecContext *ctx, const AVFrame *frame)
         case AV_STEREO3D_FRAMESEQUENCE:
             fpa_type = 5;
             break;
+#if X264_BUILD >= 145
+        case AV_STEREO3D_2D:
+            fpa_type = 6;
+            break;
+#endif
         default:
             fpa_type = -1;
             break;
         }
 
+        /* Inverted mode is not supported by x264 */
+        if (stereo->flags & AV_STEREO3D_FLAG_INVERT) {
+            av_log(ctx, AV_LOG_WARNING,
+                   "Ignoring unsupported inverted stereo value %d\n", fpa_type);
+            fpa_type = -1;
+        }
+
         if (fpa_type != x4->params.i_frame_packing) {
             x4->params.i_frame_packing = fpa_type;
             x264_encoder_reconfig(x4->enc, &x4->params);
@@ -457,11 +469,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
         x4->params.analyse.i_me_range   = avctx->me_range;
 #if FF_API_PRIVATE_OPT
     FF_DISABLE_DEPRECATION_WARNINGS
-    if (!x4->noise_reduction >= 0)
+    if (avctx->noise_reduction >= 0)
         x4->noise_reduction = avctx->noise_reduction;
     FF_ENABLE_DEPRECATION_WARNINGS
 #endif
-    if (!x4->noise_reduction >= 0)
+    if (x4->noise_reduction >= 0)
         x4->params.analyse.i_noise_reduction = x4->noise_reduction;
     if (avctx->me_subpel_quality >= 0)
         x4->params.analyse.i_subpel_refine   = avctx->me_subpel_quality;