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