00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef AVCODEC_DXVA_INTERNAL_H
00024 #define AVCODEC_DXVA_INTERNAL_H
00025 
00026 #define _WIN32_WINNT 0x0600
00027 #define COBJMACROS
00028 
00029 #include "config.h"
00030 
00031 #include "dxva2.h"
00032 #if HAVE_DXVA_H
00033 #include <dxva.h>
00034 #endif
00035 
00036 #include "avcodec.h"
00037 #include "mpegvideo.h"
00038 
00039 void *ff_dxva2_get_surface(const Picture *picture);
00040 
00041 unsigned ff_dxva2_get_surface_index(const struct dxva_context *,
00042                                     const Picture *picture);
00043 
00044 int ff_dxva2_commit_buffer(AVCodecContext *, struct dxva_context *,
00045                            DXVA2_DecodeBufferDesc *,
00046                            unsigned type, const void *data, unsigned size,
00047                            unsigned mb_count);
00048 
00049 
00050 int ff_dxva2_common_end_frame(AVCodecContext *, MpegEncContext *,
00051                               const void *pp, unsigned pp_size,
00052                               const void *qm, unsigned qm_size,
00053                               int (*commit_bs_si)(AVCodecContext *,
00054                                                   DXVA2_DecodeBufferDesc *bs,
00055                                                   DXVA2_DecodeBufferDesc *slice));
00056 
00057 #endif