From c7e620df96630b4e254040087f37a553bc1988df Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 16 Mar 2014 09:49:34 +0100 Subject: af_lavrresample: remove avresample_set_channel_mapping() fallbacks This function is now always available. Also remove includes of reorder_ch.h from some AOs (these are just old relicts). --- audio/reorder_ch.c | 77 ------------------------------------------------------ 1 file changed, 77 deletions(-) delete mode 100644 audio/reorder_ch.c (limited to 'audio/reorder_ch.c') diff --git a/audio/reorder_ch.c b/audio/reorder_ch.c deleted file mode 100644 index e7bdaaccff..0000000000 --- a/audio/reorder_ch.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * common functions for reordering audio channels - * - * Copyright (C) 2007 Ulion - * - * This file is part of MPlayer. - * - * MPlayer 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. - * - * MPlayer 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 MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include - -#include "chmap.h" -#include "reorder_ch.h" - -#define MAX_SAMPLESIZE 8 - -static void reorder_channels_(uint8_t *restrict data, int *restrict ch_order, - size_t sample_size, size_t num_ch, - size_t num_frames) -{ - char buffer[MP_NUM_CHANNELS * MAX_SAMPLESIZE]; - for (size_t f = 0; f < num_frames; f++) { - for (uint8_t c = 0; c < num_ch; c++) { - memcpy(buffer + sample_size * c, data + sample_size * ch_order[c], - sample_size); - } - memcpy(data, buffer, sample_size * num_ch); - data += num_ch * sample_size; - } -} - -// Reorders for each channel: -// out[ch] = in[ch_order[ch]] (but in-place) -// num_ch is the number of channels -// sample_size is e.g. 2 for s16le -// full byte size of in/out = num_ch * sample_size * num_frames -// Do not use this function in new code; use libavresample instead. -void reorder_channels(void *restrict data, int *restrict ch_order, - size_t sample_size, size_t num_ch, size_t num_frames) -{ - // Check 1:1 mapping - bool need_reorder = false; - for (int n = 0; n < num_ch; n++) - need_reorder |= ch_order[n] != n; - if (!need_reorder) - return; - assert(sample_size <= MAX_SAMPLESIZE); - assert(num_ch <= MP_NUM_CHANNELS); - // See reorder_to_planar() why this is done this way - // s16 and float are the most common sample sizes, and 6 channels is the - // most common case where reordering is required. - if (sample_size == 2 && num_ch == 6) - reorder_channels_(data, ch_order, 2, 6, num_frames); - else if (sample_size == 2) - reorder_channels_(data, ch_order, 2, num_ch, num_frames); - else if (sample_size == 4 && num_ch == 6) - reorder_channels_(data, ch_order, 4, 6, num_frames); - else if (sample_size == 4) - reorder_channels_(data, ch_order, 4, num_ch, num_frames); - else - reorder_channels_(data, ch_order, sample_size, num_ch, num_frames); -} -- cgit v1.2.3