Commit d793b7c0 authored by Max Kellermann's avatar Max Kellermann

encoder/opus: new encoder plugin for the Opus codec

parent 9a715267
......@@ -684,6 +684,7 @@ libencoder_plugins_a_CPPFLAGS = $(AM_CPPFLAGS) \
$(LAME_CFLAGS) \
$(TWOLAME_CFLAGS) \
$(patsubst -I%/FLAC,-I%,$(FLAC_CFLAGS)) \
$(OPUS_CFLAGS) \
$(VORBISENC_CFLAGS)
ENCODER_LIBS = \
......@@ -691,6 +692,7 @@ ENCODER_LIBS = \
$(LAME_LIBS) \
$(TWOLAME_LIBS) \
$(FLAC_LIBS) \
$(OPUS_LIBS) \
$(VORBISENC_LIBS)
libencoder_plugins_a_SOURCES =
......@@ -708,6 +710,12 @@ libencoder_plugins_a_SOURCES += \
src/encoder/VorbisEncoderPlugin.hxx
endif
if HAVE_OPUS
libencoder_plugins_a_SOURCES += \
src/encoder/OpusEncoderPlugin.cxx \
src/encoder/OpusEncoderPlugin.hxx
endif
if ENABLE_LAME_ENCODER
libencoder_plugins_a_SOURCES += src/encoder/lame_encoder.c
endif
......
......@@ -3,6 +3,8 @@ ver 0.18 (2012/??/??)
- adplug: new decoder plugin using libadplug
- opus: new decoder plugin for the Opus codec
- vorbis: skip 16 bit quantisation, provide float samples
* encoder:
- opus: new encoder plugin for the Opus codec
* output:
- new option "tags" may be used to disable sending tags to output
* improved decoder/output error reporting
......
......@@ -1229,6 +1229,7 @@ fi
dnl --------------------------- encoder plugins test --------------------------
if test x$enable_vorbis_encoder != xno ||
test x$enable_opus != xno ||
test x$enable_lame_encoder != xno ||
test x$enable_twolame_encoder != xno ||
test x$enable_flac_encoder != xno ||
......@@ -1657,6 +1658,7 @@ if
results(flac_encoder, [FLAC])
results(lame_encoder, [LAME])
results(vorbis_encoder, [Ogg Vorbis])
results(opus, [Opus])
results(twolame_encoder, [TwoLAME])
results(wave_encoder, [WAVE])
fi
......
/*
* Copyright (C) 2003-2012 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef MPD_ENCODER_OPUS_H
#define MPD_ENCODER_OPUS_H
extern const struct encoder_plugin opus_encoder_plugin;
#endif
......@@ -21,6 +21,7 @@
#include "encoder_list.h"
#include "encoder_plugin.h"
#include "encoder/VorbisEncoderPlugin.hxx"
#include "encoder/OpusEncoderPlugin.hxx"
#include <string.h>
......@@ -35,6 +36,9 @@ const struct encoder_plugin *const encoder_plugins[] = {
#ifdef ENABLE_VORBIS_ENCODER
&vorbis_encoder_plugin,
#endif
#ifdef HAVE_OPUS
&opus_encoder_plugin,
#endif
#ifdef ENABLE_LAME_ENCODER
&lame_encoder_plugin,
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment