xine-lib 1.2.11
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
const ff_codec_t ff_audio_lookup[]
Definition: ff_audio_list.h:4
const ff_codec_t ff_video_lookup[]
Definition: ff_video_list.h:4
const size_t ff_video_lookup_entries
Definition: ffmpeg_decoder.c:51
const size_t ff_audio_lookup_entries
Definition: ffmpeg_decoder.c:52
void * init_video_plugin(xine_t *xine, const void *data)
Definition: ff_video_decoder.c:2953
void * init_audio_plugin(xine_t *xine, const void *data)
Definition: ff_audio_decoder.c:1360
void * init_avformat_demux_plugin(xine_t *xine, const void *data)
Definition: demux_avformat.c:889
void * init_avio_input_plugin(xine_t *xine, const void *data)
Definition: input_avio.c:350
pthread_mutex_t ffmpeg_lock
Definition: ffmpeg_decoder.c:58
void * init_avformat_input_plugin(xine_t *xine, const void *data)
Definition: demux_avformat.c:247
void init_once_routine(void)
Definition: ffmpeg_decoder.c:73
const char name[16]
Definition: memcpy.c:570
Definition: xine_internal.h:80