FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
qsvdec.h
Go to the documentation of this file.
1
/*
2
* Intel MediaSDK QSV utility functions
3
*
4
* copyright (c) 2013 Luca Barbato
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef AVCODEC_QSVDEC_H
24
#define AVCODEC_QSVDEC_H
25
26
#include <stdint.h>
27
#include <sys/types.h>
28
29
#include <mfx/mfxvideo.h>
30
31
#include "
libavutil/frame.h
"
32
#include "
libavutil/pixfmt.h
"
33
34
#include "
avcodec.h
"
35
#include "
qsv_internal.h
"
36
37
typedef
struct
QSVContext
{
38
// the session used for decoding
39
mfxSession
session
;
40
41
// the session we allocated internally, in case the caller did not provide
42
// one
43
mfxSession
internal_session
;
44
45
/**
46
* a linked list of frames currently being used by QSV
47
*/
48
QSVFrame
*
work_frames
;
49
50
// options set by the caller
51
int
async_depth
;
52
int
iopattern
;
53
54
mfxExtBuffer **
ext_buffers
;
55
int
nb_ext_buffers
;
56
}
QSVContext
;
57
58
int
ff_qsv_map_pixfmt
(
enum
AVPixelFormat
format);
59
60
int
ff_qsv_decode_init
(
AVCodecContext
*
s
,
QSVContext
*q, mfxSession session);
61
62
int
ff_qsv_decode
(
AVCodecContext
*
s
,
QSVContext
*q,
63
AVFrame
*
frame
,
int
*got_frame,
64
AVPacket
*avpkt);
65
66
int
ff_qsv_decode_close
(
QSVContext
*q);
67
68
#endif
/* AVCODEC_QSVDEC_H */
QSVContext::iopattern
int iopattern
Definition:
qsvdec.h:52
s
const char * s
Definition:
avisynth_c.h:631
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:171
QSVContext::ext_buffers
mfxExtBuffer ** ext_buffers
Definition:
qsvdec.h:54
qsv_internal.h
QSVFrame
Definition:
qsv_internal.h:33
frame
static AVFrame * frame
Definition:
demuxing_decoding.c:53
QSVContext
Definition:
qsvdec.h:37
avcodec.h
Libavcodec external API header.
frame.h
reference-counted frame API
ff_qsv_map_pixfmt
int ff_qsv_map_pixfmt(enum AVPixelFormat format)
Definition:
qsvdec.c:40
QSVContext::internal_session
mfxSession internal_session
Definition:
qsvdec.h:43
AVCodecContext
main external API structure.
Definition:
avcodec.h:1241
ff_qsv_decode_init
int ff_qsv_decode_init(AVCodecContext *s, QSVContext *q, mfxSession session)
Definition:
qsvdec.c:71
ff_qsv_decode_close
int ff_qsv_decode_close(QSVContext *q)
Definition:
qsvdec.c:275
ff_qsv_decode
int ff_qsv_decode(AVCodecContext *s, QSVContext *q, AVFrame *frame, int *got_frame, AVPacket *avpkt)
Definition:
qsvdec.c:205
pixfmt.h
pixel format definitions
QSVContext::session
mfxSession session
Definition:
qsvdec.h:39
QSVContext::async_depth
int async_depth
Definition:
qsvdec.h:51
QSVContext::work_frames
QSVFrame * work_frames
a linked list of frames currently being used by QSV
Definition:
qsvdec.h:48
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:61
AVPacket
This structure stores compressed data.
Definition:
avcodec.h:1139
QSVContext::nb_ext_buffers
int nb_ext_buffers
Definition:
qsvdec.h:55
Generated on Wed Jun 10 2015 01:56:48 for FFmpeg by
1.8.6