00001 /* 00002 * Generate a header file for hardcoded QDM2 tables 00003 * 00004 * Copyright (c) 2010 Reimar Döffinger <Reimar.Doeffinger@gmx.de> 00005 * 00006 * This file is part of FFmpeg. 00007 * 00008 * FFmpeg is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * FFmpeg is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with FFmpeg; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00023 #include <stdlib.h> 00024 #define CONFIG_HARDCODED_TABLES 0 00025 #include "qdm2_tablegen.h" 00026 #include "tableprint.h" 00027 00028 int main(void) 00029 { 00030 softclip_table_init(); 00031 rnd_table_init(); 00032 init_noise_samples(); 00033 00034 write_fileheader(); 00035 00036 printf("static const uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1] = {\n"); 00037 write_uint16_array(softclip_table, HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1); 00038 printf("};\n"); 00039 00040 printf("static const float noise_table[4096] = {\n"); 00041 write_float_array(noise_table, 4096); 00042 printf("};\n"); 00043 00044 printf("static const uint8_t random_dequant_index[256][5] = {\n"); 00045 write_uint8_2d_array(random_dequant_index, 256, 5); 00046 printf("};\n"); 00047 00048 printf("static const uint8_t random_dequant_type24[128][3] = {\n"); 00049 write_uint8_2d_array(random_dequant_type24, 128, 3); 00050 printf("};\n"); 00051 00052 printf("static const float noise_samples[128] = {\n"); 00053 write_float_array(noise_samples, 128); 00054 printf("};\n"); 00055 00056 return 0; 00057 }