FFmpeg
4.0
libavutil
hwcontext_mediacodec.c
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
#include "config.h"
20
21
#include "
buffer.h
"
22
#include "
common.h
"
23
#include "
hwcontext.h
"
24
#include "
hwcontext_internal.h
"
25
#include "
hwcontext_mediacodec.h
"
26
27
static
int
mc_device_create
(
AVHWDeviceContext
*
ctx
,
const
char
*device,
28
AVDictionary
*
opts
,
int
flags
)
29
{
30
if
(device && device[0]) {
31
av_log
(ctx,
AV_LOG_ERROR
,
"Device selection unsupported.\n"
);
32
return
AVERROR_UNKNOWN
;
33
}
34
35
return
0;
36
}
37
38
const
HWContextType
ff_hwcontext_type_mediacodec
= {
39
.
type
=
AV_HWDEVICE_TYPE_MEDIACODEC
,
40
.name =
"mediacodec"
,
41
42
.device_hwctx_size =
sizeof
(
AVMediaCodecDeviceContext
),
43
44
.device_create =
mc_device_create
,
45
46
.
pix_fmts
= (
const
enum
AVPixelFormat
[]){
47
AV_PIX_FMT_MEDIACODEC
,
48
AV_PIX_FMT_NONE
49
},
50
};
hwcontext_internal.h
AVHWDeviceContext
This struct aggregates all the (hardware/vendor-specific) "high-level" state, i.e.
Definition:
hwcontext.h:60
AV_PIX_FMT_NONE
Definition:
pixfmt.h:61
HWContextType::type
enum AVHWDeviceType type
Definition:
hwcontext_internal.h:30
hwcontext_mediacodec.h
flags
static int flags
Definition:
log.c:55
av_log
#define av_log(a,...)
Definition:
tableprint_vlc.h:28
AVDictionary
Definition:
dict.c:30
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition:
log.h:176
AVMediaCodecDeviceContext
MediaCodec details.
Definition:
hwcontext_mediacodec.h:27
opts
AVDictionary * opts
Definition:
movenc.c:50
ctx
AVFormatContext * ctx
Definition:
movenc.c:48
mc_device_create
static int mc_device_create(AVHWDeviceContext *ctx, const char *device, AVDictionary *opts, int flags)
Definition:
hwcontext_mediacodec.c:27
AV_HWDEVICE_TYPE_MEDIACODEC
Definition:
hwcontext.h:38
hwcontext.h
buffer.h
refcounted data buffer API
pix_fmts
static enum AVPixelFormat pix_fmts[]
Definition:
libkvazaar.c:266
AV_PIX_FMT_MEDIACODEC
hardware decoding through MediaCodec
Definition:
pixfmt.h:289
common.h
common internal and external API header
ff_hwcontext_type_mediacodec
const HWContextType ff_hwcontext_type_mediacodec
Definition:
hwcontext_mediacodec.c:38
AVERROR_UNKNOWN
#define AVERROR_UNKNOWN
Unknown error, typically from an external library.
Definition:
error.h:71
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:60
HWContextType
Definition:
hwcontext_internal.h:29
Generated on Tue May 22 2018 07:07:00 for FFmpeg by
1.8.13