1 /* 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 12 #if 0 13 14 #include <map> 15 #include <string> 16 #include <fstream> 17 extern "C" 18 { 19 #include "onyx.h" 20 } 21 22 23 using namespace std; 24 25 typedef map<string,int> Parms; 26 27 #define ALLPARMS(O,DOTHIS) \ 28 DOTHIS(O, interquantizer )\ 29 DOTHIS(O, auto_gold )\ 30 DOTHIS(O, auto_adjust_gold_quantizer )\ 31 DOTHIS(O, goldquantizer )\ 32 DOTHIS(O, goldfreq )\ 33 DOTHIS(O, auto_key )\ 34 DOTHIS(O, auto_adjust_key_quantizer )\ 35 DOTHIS(O, keyquantizer )\ 36 DOTHIS(O, keyfreq )\ 37 DOTHIS(O, pass )\ 38 DOTHIS(O, fixed_q )\ 39 DOTHIS(O, target_bandwidth )\ 40 DOTHIS(O, auto_worst_q )\ 41 DOTHIS(O, worst_quality )\ 42 DOTHIS(O, best_allowed_q )\ 43 DOTHIS(O, end_usage )\ 44 DOTHIS(O, starting_buffer_level )\ 45 DOTHIS(O, optimal_buffer_level )\ 46 DOTHIS(O, maximum_buffer_size )\ 47 DOTHIS(O, under_shoot_pct )\ 48 DOTHIS(O, allow_df )\ 49 DOTHIS(O, drop_frames_water_mark )\ 50 DOTHIS(O, max_allowed_datarate )\ 51 DOTHIS(O, two_pass_vbrbias )\ 52 DOTHIS(O, two_pass_vbrmin_section )\ 53 DOTHIS(O, two_pass_vbrmax_section )\ 54 DOTHIS(O, filter_type )\ 55 DOTHIS(O, compressor_speed )\ 56 DOTHIS(O, mbpitch_feature )\ 57 DOTHIS(O, allow_spatial_resampling )\ 58 DOTHIS(O, resample_down_water_mark )\ 59 DOTHIS(O, resample_up_water_mark )\ 60 DOTHIS(O, noise_sensitivity )\ 61 DOTHIS(O, horiz_scale )\ 62 DOTHIS(O, vert_scale ) 63 64 65 #define GET(O,V) O->V = x[#V]; 66 #define PUT(O,V) x[#V] = O->V; 67 68 69 extern "C" void get_parms(VP8_CONFIG *ocf,char *filename) 70 { 71 72 Parms x; 73 int value; 74 string variable; 75 string equal; 76 77 ifstream config_file(filename); 78 79 ALLPARMS(ocf, PUT); 80 81 // store all the parms in a map (really simple parsing) 82 while(!config_file.eof() && config_file.is_open()) 83 { 84 config_file >> variable; 85 config_file >> equal; 86 87 if(equal != "=") 88 continue; 89 90 config_file >> value; 91 92 x[variable] = value; 93 } 94 95 ALLPARMS(ocf, GET); 96 97 } 98 99 #define PRINT(O,V) debug_file<<#V <<" = " << O->V <<"\n"; 100 extern "C" void print_parms(VP8_CONFIG *ocf,char *filename) 101 { 102 ofstream debug_file(filename,ios_base::app); 103 ALLPARMS(ocf, PRINT); 104 debug_file << "=============================================="<<"\n"; 105 } 106 107 #endif 108