dxva2: Directly use AVFrames
[libav.git] / libavcodec / dxva2.c
index 6d4550c..9ee22c8 100644 (file)
 #include "mpegvideo.h"
 #include "dxva2_internal.h"
 
-void *ff_dxva2_get_surface(const Picture *picture)
+void *ff_dxva2_get_surface(const AVFrame *frame)
 {
-    return picture->f.data[3];
+    return frame->data[3];
 }
 
 unsigned ff_dxva2_get_surface_index(const struct dxva_context *ctx,
-                                    const Picture *picture)
+                                    const AVFrame *frame)
 {
-    void *surface = ff_dxva2_get_surface(picture);
+    void *surface = ff_dxva2_get_surface(frame);
     unsigned i;
 
     for (i = 0; i < ctx->surface_count; i++)
@@ -91,7 +91,7 @@ int ff_dxva2_commit_buffer(AVCodecContext *avctx,
     return result;
 }
 
-int ff_dxva2_common_end_frame(AVCodecContext *avctx, Picture *pic,
+int ff_dxva2_common_end_frame(AVCodecContext *avctx, AVFrame *frame,
                               const void *pp, unsigned pp_size,
                               const void *qm, unsigned qm_size,
                               int (*commit_bs_si)(AVCodecContext *,
@@ -107,7 +107,7 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, Picture *pic,
 
     do {
         hr = IDirectXVideoDecoder_BeginFrame(ctx->decoder,
-                                             ff_dxva2_get_surface(pic),
+                                             ff_dxva2_get_surface(frame),
                                              NULL);
         if (hr == E_PENDING)
             av_usleep(2000);