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
qsvenc.h
Go to the documentation of this file.
1
/*
2
* Intel MediaSDK QSV encoder utility functions
3
*
4
* copyright (c) 2013 Yukinori Yamazoe
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_QSVENC_H
24
#define AVCODEC_QSVENC_H
25
26
#include <stdint.h>
27
#include <sys/types.h>
28
29
#include <mfx/mfxvideo.h>
30
31
#include "
libavutil/avutil.h
"
32
33
#include "
avcodec.h
"
34
#include "
qsv_internal.h
"
35
36
typedef
struct
QSVEncContext
{
37
AVCodecContext
*
avctx
;
38
39
QSVFrame
*
work_frames
;
40
41
mfxSession
session
;
42
mfxSession
internal_session
;
43
44
int
packet_size
;
45
46
mfxVideoParam
param
;
47
mfxFrameAllocRequest
req
;
48
49
mfxExtCodingOption
extco
;
50
mfxExtBuffer *
extparam
[1];
51
52
// options set by the caller
53
int
async_depth
;
54
int
idr_interval
;
55
int
profile
;
56
int
preset
;
57
int
avbr_accuracy
;
58
int
avbr_convergence
;
59
}
QSVEncContext
;
60
61
int
ff_qsv_enc_init
(
AVCodecContext
*avctx,
QSVEncContext
*q);
62
63
int
ff_qsv_encode
(
AVCodecContext
*avctx,
QSVEncContext
*q,
64
AVPacket
*
pkt
,
const
AVFrame
*
frame
,
int
*got_packet);
65
66
int
ff_qsv_enc_close
(
AVCodecContext
*avctx,
QSVEncContext
*q);
67
68
#endif
/* AVCODEC_QSVENC_H */
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:171
QSVEncContext::req
mfxFrameAllocRequest req
Definition:
qsvenc.h:47
QSVEncContext::avbr_accuracy
int avbr_accuracy
Definition:
qsvenc.h:57
QSVEncContext::work_frames
QSVFrame * work_frames
Definition:
qsvenc.h:39
avutil.h
external API header
QSVEncContext::packet_size
int packet_size
Definition:
qsvenc.h:44
pkt
static AVPacket pkt
Definition:
demuxing_decoding.c:54
QSVEncContext::internal_session
mfxSession internal_session
Definition:
qsvenc.h:42
qsv_internal.h
QSVEncContext::param
mfxVideoParam param
Definition:
qsvenc.h:46
QSVEncContext::extco
mfxExtCodingOption extco
Definition:
qsvenc.h:49
QSVFrame
Definition:
qsv_internal.h:33
frame
static AVFrame * frame
Definition:
demuxing_decoding.c:53
ff_qsv_encode
int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q, AVPacket *pkt, const AVFrame *frame, int *got_packet)
Definition:
qsvenc.c:362
avcodec.h
Libavcodec external API header.
ff_qsv_enc_close
int ff_qsv_enc_close(AVCodecContext *avctx, QSVEncContext *q)
Definition:
qsvenc.c:423
QSVEncContext::avctx
AVCodecContext * avctx
Definition:
qsvenc.h:37
QSVEncContext::idr_interval
int idr_interval
Definition:
qsvenc.h:54
QSVEncContext::preset
int preset
Definition:
qsvenc.h:56
ff_qsv_enc_init
int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q)
Definition:
qsvenc.c:185
QSVEncContext::async_depth
int async_depth
Definition:
qsvenc.h:53
AVCodecContext
main external API structure.
Definition:
avcodec.h:1241
QSVEncContext::profile
int profile
Definition:
qsvenc.h:55
QSVEncContext
Definition:
qsvenc.h:36
QSVEncContext::avbr_convergence
int avbr_convergence
Definition:
qsvenc.h:58
QSVEncContext::extparam
mfxExtBuffer * extparam[1]
Definition:
qsvenc.h:50
AVPacket
This structure stores compressed data.
Definition:
avcodec.h:1139
QSVEncContext::session
mfxSession session
Definition:
qsvenc.h:41
Generated on Wed Jun 10 2015 01:56:48 for FFmpeg by
1.8.6