Mercurial > mplayer.hg
view libfaad2/pulse.c @ 17643:cea08919336b
dwStart support for mplayer.
* demux_avi sets stream_delay according to dwStart
* mplayer adjusts audio_delay according to stream_delay
3 related patches are pending, and I will apply them over the next few
days if all goes well.
As I mentioned on -dev-eng, the funny indentation is in preparation for
one of those pending patches.
See:
Date: Fri, 17 Feb 2006 00:53:28 -0800
To: mplayer-dev-eng@mplayerhq.hu
Subject: [PATCH] bframes, dwStart: individual patches
author | corey |
---|---|
date | Sat, 18 Feb 2006 09:26:39 +0000 |
parents | b4378a6f87a6 |
children | 59b6fa5b4201 |
line wrap: on
line source
/* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com ** ** This program 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. ** ** This program 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 this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** ** Commercial non-GPL licensing of this software is possible. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. ** ** $Id: pulse.c,v 1.15 2004/02/26 09:29:27 menno Exp $ **/ #include "common.h" #include "structs.h" #include "syntax.h" #include "pulse.h" uint8_t pulse_decode(ic_stream *ics, int16_t *spec_data, uint16_t framelen) { uint8_t i; uint16_t k; pulse_info *pul = &(ics->pul); k = ics->swb_offset[pul->pulse_start_sfb]; for (i = 0; i <= pul->number_pulse; i++) { k += pul->pulse_offset[i]; if (k >= framelen) return 15; /* should not be possible */ if (spec_data[k] > 0) spec_data[k] += pul->pulse_amp[i]; else spec_data[k] -= pul->pulse_amp[i]; } return 0; }