История изменений
Исправление fopen, (текущая версия) :
Да. Фигня.
CustomChannelMapLocation - это раскладка на уровне кодека, а «[Parsed_aresample_0 @ 0x1cd1910]» - уровень фильтра.
channel_layout.c:
static const struct {
const char *name;
int nb_channels;
uint64_t layout;
} channel_layout_map[] = {
...
{ "5.1(side)", 6, AV_CH_LAYOUT_5POINT1 },
...
channel_layout.h:
#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
#define AV_CH_FRONT_LEFT 0x00000001
#define AV_CH_FRONT_RIGHT 0x00000002
#define AV_CH_FRONT_CENTER 0x00000004
#define AV_CH_LOW_FREQUENCY 0x00000008
#define AV_CH_SIDE_LEFT 0x00000200
#define AV_CH_SIDE_RIGHT 0x00000400
Т. о. левый канал:
0.414214 * FRONT_LEFT + 0.292893 * FRONT_CENTER + 0.292893 * SIDE_LEFT
PS. А LFE и точно в /dev/null ушел.
Исходная версия fopen, :
Да. Фигня.
CustomChannelMapLocation - это раскладка на уровне кодека, а «[Parsed_aresample_0 @ 0x1cd1910]» - уровень фильтра.
channel_layout.c:
static const struct {
const char *name;
int nb_channels;
uint64_t layout;
} channel_layout_map[] = {
...
{ "5.1(side)", 6, AV_CH_LAYOUT_5POINT1 },
...
channel_layout.h:
#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
#define AV_CH_FRONT_LEFT 0x00000001
#define AV_CH_FRONT_RIGHT 0x00000002
#define AV_CH_FRONT_CENTER 0x00000004
#define AV_CH_LOW_FREQUENCY 0x00000008
#define AV_CH_SIDE_LEFT 0x00000200
#define AV_CH_SIDE_RIGHT 0x00000400
Т. о. левый канал:
0.414214 * FRONT_LEFT + 0.292893 * FRONT_CENTER + 0.292893 * SIDE_LEFT