FFmpeg
libavcodec
amfdec.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVCODEC_AMFDEC_H
20
#define AVCODEC_AMFDEC_H
21
22
#include <AMF/core/Version.h>
23
#include <AMF/core/Buffer.h>
24
#include <AMF/core/Factory.h>
25
#include <AMF/core/Context.h>
26
#include <AMF/core/Surface.h>
27
#include <AMF/components/Component.h>
28
#include <AMF/components/VideoDecoderUVD.h>
29
30
#include "
avcodec.h
"
31
#include "
libavformat/avformat.h
"
32
#include "
libavutil/fifo.h
"
33
#include "
libavutil/frame.h
"
34
#include "
libavutil/opt.h
"
35
#include "
libavutil/hwcontext_amf.h
"
36
/**
37
* AMF decoder context
38
*/
39
typedef
struct
AMFDecoderContext
{
40
AVClass
*
avclass
;
41
AVBufferRef
*
device_ctx_ref
;
42
43
//decoder
44
AMFComponent *
decoder
;
///< AMF decoder object
45
AMF_SURFACE_FORMAT
format
;
///< AMF surface format
46
47
// common decoder options
48
int
decoder_mode
;
49
int
timestamp_mode
;
50
int
surface_pool_size
;
51
int
dpb_size
;
52
int
lowlatency
;
53
int
smart_access_video
;
54
int
skip_transfer_sav
;
55
int
drain
;
56
int
resolution_changed
;
57
int
copy_output
;
58
AVPacket
*
in_pkt
;
59
enum
AMF_SURFACE_FORMAT
output_format
;
60
61
}
AMFDecoderContext
;
62
63
#endif // AVCODEC_AMFDEC_H
AMFDecoderContext::timestamp_mode
int timestamp_mode
Definition:
amfdec.h:49
opt.h
AMFDecoderContext::device_ctx_ref
AVBufferRef * device_ctx_ref
Definition:
amfdec.h:41
AMFDecoderContext::surface_pool_size
int surface_pool_size
Definition:
amfdec.h:50
AMFDecoderContext::smart_access_video
int smart_access_video
Definition:
amfdec.h:53
AMFDecoderContext::decoder
AMFComponent * decoder
AMF decoder object.
Definition:
amfdec.h:44
fifo.h
AMFDecoderContext::lowlatency
int lowlatency
Definition:
amfdec.h:52
AMFDecoderContext::avclass
AVClass * avclass
Definition:
amfdec.h:40
hwcontext_amf.h
AMFDecoderContext
AMF decoder context.
Definition:
amfdec.h:39
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:75
AMFDecoderContext::drain
int drain
Definition:
amfdec.h:55
AMFDecoderContext::resolution_changed
int resolution_changed
Definition:
amfdec.h:56
AMFDecoderContext::in_pkt
AVPacket * in_pkt
Definition:
amfdec.h:58
AMFDecoderContext::dpb_size
int dpb_size
Definition:
amfdec.h:51
frame.h
AMFDecoderContext::copy_output
int copy_output
Definition:
amfdec.h:57
avcodec.h
avformat.h
AMFDecoderContext::decoder_mode
int decoder_mode
Definition:
amfdec.h:48
AVBufferRef
A reference to a data buffer.
Definition:
buffer.h:82
AVPacket
This structure stores compressed data.
Definition:
packet.h:516
AMFDecoderContext::format
AMF_SURFACE_FORMAT format
AMF surface format.
Definition:
amfdec.h:45
AMFDecoderContext::output_format
enum AMF_SURFACE_FORMAT output_format
Definition:
amfdec.h:59
AMFDecoderContext::skip_transfer_sav
int skip_transfer_sav
Definition:
amfdec.h:54
Generated on Sun Feb 9 2025 19:21:34 for FFmpeg by
1.8.17