diff options
author | Sven Gothel <[email protected]> | 2012-04-16 20:57:56 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-04-16 20:57:56 +0200 |
commit | 697f47eed72b52acd4728a95edd176b4bb6f7c31 (patch) | |
tree | 167ea6fe3df5cd9040191843a38c79cd7adbd60f /make/stub_includes/libav/libavcodec/dxva2.h | |
parent | 10935e1ec0d8ed677bc3fddfaa8cd73898a3bcbf (diff) |
Adding libav (ffmpeg) header file, allowing upcoming dynamic linked GLMediaPlayer impl. to be compiled (LGPL terms)
Libav header:
libavutil 51.22.1
libavformat 53.21.0
libavcodec 53.35.0
.. just to ease our compile time setup.
Diffstat (limited to 'make/stub_includes/libav/libavcodec/dxva2.h')
-rw-r--r-- | make/stub_includes/libav/libavcodec/dxva2.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/make/stub_includes/libav/libavcodec/dxva2.h b/make/stub_includes/libav/libavcodec/dxva2.h new file mode 100644 index 000000000..374ae039a --- /dev/null +++ b/make/stub_includes/libav/libavcodec/dxva2.h @@ -0,0 +1,71 @@ +/* + * DXVA2 HW acceleration + * + * copyright (c) 2009 Laurent Aimar + * + * This file is part of Libav. + * + * Libav is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Libav is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_DXVA_H +#define AVCODEC_DXVA_H + +#include <stdint.h> + +#include <d3d9.h> +#include <dxva2api.h> + +#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards + +/** + * This structure is used to provides the necessary configurations and data + * to the DXVA2 Libav HWAccel implementation. + * + * The application must make it available as AVCodecContext.hwaccel_context. + */ +struct dxva_context { + /** + * DXVA2 decoder object + */ + IDirectXVideoDecoder *decoder; + + /** + * DXVA2 configuration used to create the decoder + */ + const DXVA2_ConfigPictureDecode *cfg; + + /** + * The number of surface in the surface array + */ + unsigned surface_count; + + /** + * The array of Direct3D surfaces used to create the decoder + */ + LPDIRECT3DSURFACE9 *surface; + + /** + * A bit field configuring the workarounds needed for using the decoder + */ + uint64_t workaround; + + /** + * Private to the Libav AVHWAccel implementation + */ + unsigned report_id; +}; + +#endif /* AVCODEC_DXVA_H */ |