/**
* MediaFrame is an Open Source streaming media platform in Java
* which provides a fast, easy to implement and extremely small applet
* that enables to view your audio/video content without having
* to rely on external player applications or bulky plug-ins.
*
* Copyright (C) 2004/5 MediaFrame (http://www.mediaframe.org).
*
* 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.
*
*/
/************************** MPEG-2 NBC Audio Decoder **************************
*
* "This software module was originally developed by
* AT&T, Dolby Laboratories, Fraunhofer Gesellschaft IIS in the course of
* development of the MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7,
* 14496-1,2 and 3. This software module is an implementation of a part of one or more
* MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4
* Audio standard. ISO/IEC gives users of the MPEG-2 NBC/MPEG-4 Audio
* standards free license to this software module or modifications thereof for use in
* hardware or software products claiming conformance to the MPEG-2 NBC/MPEG-4
* Audio standards. Those intending to use this software module in hardware or
* software products are advised that this use may infringe existing patents.
* The original developer of this software module and his/her company, the subsequent
* editors and their companies, and ISO/IEC have no liability for use of this software
* module or modifications thereof in an implementation. Copyright is not released for
* non MPEG-2 NBC/MPEG-4 Audio conforming products.The original developer
* retains full right to use the code for his/her own purpose, assign or donate the
* code to a third party and to inhibit third party from using the code for non
* MPEG-2 NBC/MPEG-4 Audio conforming products. This copyright notice must
* be included in all copies or derivative works."
* Copyright(c)1996.
*
******************************************************************************/
package mediaframe.mpeg4.audio.AAC;
/**
* Info
*/
final class Info {
/** true if long block */
boolean islong;
/** sub-blocks (SB) per block */
int nsbk;
/** coef's per block */
int bins_per_bk;
/** sfb per block */
int sfb_per_bk;
/** coef's per SB */
int[] bins_per_sbk = new int[Constants.MAX_SBK];
/** sfb per SB */
int[] sfb_per_sbk = new int[Constants.MAX_SBK];
int[] sectbits = new int[Constants.MAX_SBK];
/** top coef per sfb per SB */
short[][] sbk_sfb_top = new short[Constants.MAX_SBK][];
/** sfb width for short blocks */
short[] sfb_width_128 = null;
/** cum version of above */
short[] bk_sfb_top = new short[200];
int num_groups;
short[] group_len = new short[8];
short[] group_offs = new short[8];
void copyFields(Info info) {
this.islong = info.islong;
this.nsbk = info.nsbk;
this.bins_per_bk = info.bins_per_bk;
this.sfb_per_bk = info.sfb_per_bk;
this.sectbits = info.sectbits;
this.bins_per_bk = info.bins_per_bk;
this.sfb_per_sbk = info.sfb_per_sbk;
this.sbk_sfb_top = info.sbk_sfb_top;
this.bk_sfb_top = info.bk_sfb_top;
this.sfb_width_128 = info.sfb_width_128;
this.group_len = info.group_len;
this.group_offs = info.group_offs;
/*
* for(i =0; i < Constants.MAX_SBK; i++) { this.sectbits[i] =
* info.sectbits[i]; this.bins_per_sbk[i] = info.bins_per_sbk[i];
* this.sfb_per_sbk[i] = info.sfb_per_sbk[i]; if(info.sbk_sfb_top[i] !=
* null) { this.sbk_sfb_top[i] = new short[info.sbk_sfb_top[i].length];
* for(j = 0; j < info.sbk_sfb_top[i].length; j++) {
* this.sbk_sfb_top[i][j] = info.sbk_sfb_top[i][j]; } } } for(i =0; i <
* 200; i++) { this.bk_sfb_top[i] = info.bk_sfb_top[i]; }
* if(info.sfb_width_128 != null) { this.sfb_width_128 = new
* short[info.sfb_width_128.length]; for(j = 0; j <
* info.sfb_width_128.length; j++) { this.sfb_width_128[j] =
* info.sfb_width_128[j]; } } for(i =0; i < 8; i++) { this.group_len[i]
* = info.group_len[i]; this.group_offs[i] = info.group_offs[i]; }
*/
this.num_groups = info.num_groups;
}
}