17c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/*
27c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project
37c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi *
47c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License");
57c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * you may not use this file except in compliance with the License.
67c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * You may obtain a copy of the License at
77c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi *
87c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi *      http://www.apache.org/licenses/LICENSE-2.0
97c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi *
107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software
117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS,
127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * See the License for the specific language governing permissions and
147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * limitations under the License.
157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */
167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/**
177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ******************************************************************************
187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file    M4ChannelCoverter.c
197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @brief
207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @note
217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi ******************************************************************************
227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */
237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargivoid MonoTo2I_16( const short *src,
257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi                        short *dst,
267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi                        short n)
277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{
287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    short ii;
297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    src += n-1;
307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    dst += (n*2)-1;
317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    for (ii = n; ii != 0; ii--){
337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi        *dst-- = *src;
347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi        *dst-- = *src--;
357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    }
367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    return;
387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi}
397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargivoid From2iToMono_16( const short *src,
417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi                            short *dst,
427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi                            short n)
437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{
447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    short ii;
457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    long Temp;
460a389ab70db304fb840e33f33781ecc0503eae3chongteng    for (ii = n; ii != 0; ii--){
477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi        Temp = (long)*(src++);
487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi        Temp += (long)*(src++);
497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi        *(dst++) = (short)(Temp >>1);
507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    }
517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi    return;
537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi}
547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi
55