]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/qsvdec.h
avcodec/aac*: Make initializing ff_aac_pow*sf_tab thread-safe
[ffmpeg] / libavcodec / qsvdec.h
index 111536caba33515b24034a97e8b74233f5c6f434..f3b7344cbaa2e2e52bfb56c85a18ddc3bb4f6070 100644 (file)
@@ -33,7 +33,7 @@
 #include "libavutil/pixfmt.h"
 
 #include "avcodec.h"
-#include "hwaccel.h"
+#include "hwconfig.h"
 #include "qsv_internal.h"
 
 typedef struct QSVContext {
@@ -42,7 +42,7 @@ typedef struct QSVContext {
 
     // the session we allocated internally, in case the caller did not provide
     // one
-    mfxSession internal_session;
+    QSVSession internal_qs;
 
     QSVFramesContext frames_ctx;
 
@@ -56,16 +56,17 @@ typedef struct QSVContext {
     int buffered_count;
     int reinit_flag;
 
-    // the internal parser and codec context for parsing the data
-    AVCodecParserContext *parser;
-    AVCodecContext *avctx_internal;
     enum AVPixelFormat orig_pix_fmt;
     uint32_t fourcc;
     mfxFrameInfo frame_info;
+    AVBufferPool *pool;
+
+    int initialized;
 
     // options set by the caller
     int async_depth;
     int iopattern;
+    int gpu_copy;
 
     char *load_plugins;
 
@@ -73,7 +74,7 @@ typedef struct QSVContext {
     int         nb_ext_buffers;
 } QSVContext;
 
-extern const AVCodecHWConfigInternal *ff_qsv_hw_configs[];
+extern const AVCodecHWConfigInternal *const ff_qsv_hw_configs[];
 
 int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
                         AVFrame *frame, int *got_frame, AVPacket *pkt);