xine-lib: xine-lib-1.2.12/src/combined/ffmpeg/ffmpeg_decoder.h Source File

xine-lib 1.2.12

ffmpeg_decoder.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2001-2020 the xine project
3 *
4 * This file is part of xine, a free video player.
5 *
6 * xine is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * xine is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19 */
20
21#ifndef HAVE_XINE_DECODER_H
22#define HAVE_XINE_DECODER_H
23
24#include <sys/types.h>
25
26#include <xine.h>
27
28#if defined LIBAVCODEC_VERSION_INT
29
30typedef struct ff_codec_s {
31 uint32_t type;
32# if LIBAVCODEC_VERSION_INT >= ((54<<16)|(25<<8))
33 enum AVCodecID id;
34# else
35 enum CodecID id;
36# endif
37 const char *name;
38} ff_codec_t;
39
40extern const ff_codec_t ff_audio_lookup[];
41extern const ff_codec_t ff_video_lookup[];
42extern const size_t ff_video_lookup_entries;
43extern const size_t ff_audio_lookup_entries;
44
45#endif
46
47void *init_audio_plugin (xine_t *xine, const void *data);
48void *init_video_plugin (xine_t *xine, const void *data);
49void *init_avio_input_plugin (xine_t *xine, const void *data);
50void *init_avformat_input_plugin (xine_t *xine, const void *data);
51void *init_avformat_demux_plugin (xine_t *xine, const void *data);
52
53/* communication between avio/avformat input and avformat demux plugins */
54#define INPUT_OPTIONAL_DATA_pb 0x1000
55#define INPUT_OPTIONAL_DATA_fmt_ctx 0x1001
56
57/* plugin ids */
58#define INPUT_AVIO_ID "avio"
59#define DEMUX_AVFORMAT_ID "avformat"
60
61void init_once_routine(void);
62
63extern pthread_mutex_t ffmpeg_lock;
64
65#endif
ff_audio_lookup
const ff_codec_t ff_audio_lookup[]
Definition: ff_audio_list.h:4
ff_video_lookup
const ff_codec_t ff_video_lookup[]
Definition: ff_video_list.h:4
ff_video_lookup_entries
const size_t ff_video_lookup_entries
Definition: ffmpeg_decoder.c:51
ff_audio_lookup_entries
const size_t ff_audio_lookup_entries
Definition: ffmpeg_decoder.c:52
init_video_plugin
void * init_video_plugin(xine_t *xine, const void *data)
Definition: ff_video_decoder.c:3111
init_audio_plugin
void * init_audio_plugin(xine_t *xine, const void *data)
Definition: ff_audio_decoder.c:1368
init_avformat_demux_plugin
void * init_avformat_demux_plugin(xine_t *xine, const void *data)
Definition: demux_avformat.c:912
init_avio_input_plugin
void * init_avio_input_plugin(xine_t *xine, const void *data)
Definition: input_avio.c:350
ffmpeg_lock
pthread_mutex_t ffmpeg_lock
Definition: ffmpeg_decoder.c:58
init_avformat_input_plugin
void * init_avformat_input_plugin(xine_t *xine, const void *data)
Definition: demux_avformat.c:248
init_once_routine
void init_once_routine(void)
Definition: ffmpeg_decoder.c:73
xine_s
Definition: xine_internal.h:80
name
const char * name
Definition: xine.c:1569
type
_xine_arg_type_t type
Definition: xine.c:1568
xine.h