fdkaacenc: Add support for v2.0.0 and its configurations

These are MPEG-standard configurations so should be checked first,
before the PCE clones added by v0.1.4.
This commit is contained in:
Jan Alexander Steffens (heftig) 2018-12-04 18:06:26 +01:00 committed by Sebastian Dröge
parent bc3c5ea7b1
commit 4ec3f2f193
3 changed files with 47 additions and 5 deletions

View file

@ -1422,12 +1422,14 @@ AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
dnl *** fdkaac ***
translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
PKG_CHECK_MODULES(FDK_AAC, fdk-aac >= 0.1.4, [
HAVE_FDK_AAC="yes",
HAVE_FDK_AAC_0_1_4="yes"
PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", HAVE_FDK_AAC="no")
PKG_CHECK_EXISTS(fdk-aac >= 2.0.0, [
AC_DEFINE(HAVE_FDK_AAC_2_0_0, 1, [Define if we have fdk-aac >= 2.0.0])
])
PKG_CHECK_EXISTS(fdk-aac >= 0.1.4, [
AC_DEFINE(HAVE_FDK_AAC_0_1_4, 1, [Define if we have fdk-aac >= 0.1.4])
],[
PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", HAVE_FDK_AAC="no")
])
])

View file

@ -108,6 +108,41 @@ static const struct
GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
GST_AUDIO_CHANNEL_POSITION_LFE1}}
#ifdef HAVE_FDK_AAC_2_0_0
, {
/* MPEG 11: 6.1 Surround */
7, MODE_6_1, {
GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
/* FIXME: SURROUND instead of REAR is more to spec */
GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
GST_AUDIO_CHANNEL_POSITION_REAR_CENTER,
GST_AUDIO_CHANNEL_POSITION_LFE1}}, {
/* MPEG 12: 7.1 Surround */
8, MODE_7_1_BACK, {
GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
/* FIXME: SURROUND instead of SIDE is more to spec */
GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
GST_AUDIO_CHANNEL_POSITION_LFE1}}, {
/* MPEG 14: 5.1.2 Surround */
8, MODE_7_1_TOP_FRONT, {
GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
/* FIXME: SURROUND instead of REAR is more to spec */
GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
GST_AUDIO_CHANNEL_POSITION_LFE1,
GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT,
GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT}}
#endif
#ifdef HAVE_FDK_AAC_0_1_4
, {
/* Non-standard PCE clone of mode 12 */

View file

@ -8,6 +8,11 @@ if fdkaac_dep.found()
fdkaac_defines += ['-DHAVE_FDK_AAC_0_1_4']
endif
# API v2
if fdkaac_dep.version().version_compare('>=2.0.0')
fdkaac_defines += ['-DHAVE_FDK_AAC_2_0_0']
endif
gstfdkaac = library('gstfdkaac',
['plugin.c', 'gstfdkaacenc.c', 'gstfdkaacdec.c'],
c_args : gst_plugins_bad_args + fdkaac_defines,