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
libavdevice
decklink_enc_c.c
Go to the documentation of this file.
1
/*
2
* Blackmagic DeckLink output
3
* Copyright (c) 2013-2014 Ramiro Polla
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#include "
libavformat/avformat.h
"
23
#include "
libavutil/opt.h
"
24
25
#include "
decklink_enc.h
"
26
27
#define OFFSET(x) offsetof(struct decklink_cctx, x)
28
#define ENC AV_OPT_FLAG_ENCODING_PARAM
29
static
const
AVOption
options
[] = {
30
{
"list_devices"
,
"list available devices"
,
OFFSET
(list_devices),
AV_OPT_TYPE_INT
, { .i64 = 0 }, 0, 1,
ENC
},
31
{
"list_formats"
,
"list supported formats"
,
OFFSET
(
list_formats
),
AV_OPT_TYPE_INT
, { .i64 = 0 }, 0, 1,
ENC
},
32
{
"preroll"
,
"video preroll in seconds"
,
OFFSET
(preroll ),
AV_OPT_TYPE_DOUBLE
, { .dbl = 0.5 }, 0, 5,
ENC
},
33
{ NULL },
34
};
35
36
static
const
AVClass
decklink_muxer_class
= {
37
.
class_name
=
"Blackmagic DeckLink muxer"
,
38
.item_name =
av_default_item_name
,
39
.option =
options
,
40
.version =
LIBAVUTIL_VERSION_INT
,
41
.category =
AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT
,
42
};
43
44
AVOutputFormat
ff_decklink_muxer
= {
45
.
name
=
"decklink"
,
46
.long_name =
NULL_IF_CONFIG_SMALL
(
"Blackmagic DeckLink output"
),
47
.audio_codec =
AV_CODEC_ID_PCM_S16LE
,
48
.video_codec =
AV_CODEC_ID_RAWVIDEO
,
49
.subtitle_codec =
AV_CODEC_ID_NONE
,
50
.flags =
AVFMT_NOFILE
|
AVFMT_RAWPICTURE
,
51
.priv_class = &
decklink_muxer_class
,
52
.priv_data_size =
sizeof
(
struct
decklink_cctx
),
53
.write_header =
ff_decklink_write_header
,
54
.write_packet =
ff_decklink_write_packet
,
55
.write_trailer =
ff_decklink_write_trailer
,
56
};
Generated on Sun Jul 20 2014 23:05:59 for FFmpeg by
1.8.2