#include "libavutil/pixfmt.h"
#include "avcodec.h"
-#include "hwaccel.h"
+#include "hwconfig.h"
#include "qsv_internal.h"
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;
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;
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);