179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent/* 279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * BSD LICENSE 379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * tinycompress utility functions 579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Copyright (c) 2011-2013, Intel Corporation 679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * All rights reserved. 779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Author: Vinod Koul <vinod.koul@intel.com> 979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 1079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Redistribution and use in source and binary forms, with or without 1179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * modification, are permitted provided that the following conditions are met: 1279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 1379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Redistributions of source code must retain the above copyright notice, 1479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * this list of conditions and the following disclaimer. 1579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Redistributions in binary form must reproduce the above copyright notice, 1679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * this list of conditions and the following disclaimer in the documentation 1779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * and/or other materials provided with the distribution. 1879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Neither the name of Intel Corporation nor the names of its contributors 1979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * may be used to endorse or promote products derived from this software 2079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * without specific prior written permission. 2179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 2279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 3079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 3179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 3279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * THE POSSIBILITY OF SUCH DAMAGE. 3379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 3479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * LGPL LICENSE 3579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 3679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * tinycompress utility functions 3779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * Copyright (c) 2011-2013, Intel Corporation 3879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 3979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * This program is free software; you can redistribute it and/or modify it 4079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * under the terms and conditions of the GNU Lesser General Public License, 4179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * version 2.1, as published by the Free Software Foundation. 4279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 4379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * This program is distributed in the hope it will be useful, but WITHOUT 4479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 4579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 4679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * License for more details. 4779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 4879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * You should have received a copy of the GNU Lesser General Public License 4979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * along with this program; if not, write to 5079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * the Free Software Foundation, Inc., 5179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 5279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent */ 5379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include <stdio.h> 5479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include <stdlib.h> 5579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include <stdbool.h> 5679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include <linux/types.h> 5779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include <sys/time.h> 5879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#define __force 5979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#define __bitwise 6079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#define __user 6179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent#include "tinycompress/tinycompress.h" 6279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent 6379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent 6479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurentunsigned int compress_get_alsa_rate(unsigned int rate) 6579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent{ 6679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent switch (rate) { 6779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 5512: 6879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_5512; 6979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 8000: 7079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_8000; 7179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 11025: 7279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_11025; 7379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 16000: 7479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_16000; 75adad134c906042742a801fb66eb4271a7130af83Vinod Koul case 22050: 7679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_22050; 7779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 32000: 7879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_32000; 7979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 44100: 8079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_44100; 8179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 48000: 8279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_48000; 8379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 64000: 8479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_64000; 8579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 88200: 8679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_88200; 8779c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 96000: 8879c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_96000; 8979c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 176400: 9079c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_176400; 9179c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent case 192000: 9279c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return SNDRV_PCM_RATE_192000; 9379c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent default: 9479c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent return 0; 9579c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent } 9679c370788bfeac8e2951cc35844fb96f15f28159Eric Laurent} 97