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