avutil/opt: Print out numeric values of option constants
It's often not obvious how option constants relate to numerical values.
Defaults are sometimes printed as numbers and from/to are always printed as numbers.
Printing the numeric values of options constants avoids this confusion.
It also allows to see which constants are equivalent.
Before this patch:
  -segment_list_type <int>        E........ set the segment list type (from -1 to 4) (default -1)
     flat                         E........ flat format
     csv                          E........ csv format
     ext                          E........ extended format
     ffconcat                     E........ ffconcat format
     m3u8                         E........ M3U8 format
     hls                          E........ Apple HTTP Live Streaming compatible
Afterwards:
  -segment_list_type <int>        E........ set the segment list type (from -1 to 4) (default -1)
     flat            0            E........ flat format
     csv             1            E........ csv format
     ext             3            E........ extended format
     ffconcat        4            E........ ffconcat format
     m3u8            2            E........ M3U8 format
     hls             2            E........ Apple HTTP Live Streaming compatible
Signed-off-by: softworkz <softworkz@hotmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
			
			
This commit is contained in:
		
							parent
							
								
									667df60b14
								
							
						
					
					
						commit
						9e0a071ede
					
				@ -1119,7 +1119,7 @@ static char *get_opt_flags_string(void *obj, const char *unit, int64_t value)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void opt_list(void *obj, void *av_log_obj, const char *unit,
 | 
			
		||||
                     int req_flags, int rej_flags)
 | 
			
		||||
                     int req_flags, int rej_flags, enum AVOptionType parent_type)
 | 
			
		||||
{
 | 
			
		||||
    const AVOption *opt = NULL;
 | 
			
		||||
    AVOptionRanges *r;
 | 
			
		||||
@ -1199,6 +1199,11 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
 | 
			
		||||
                av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "<boolean>");
 | 
			
		||||
                break;
 | 
			
		||||
            case AV_OPT_TYPE_CONST:
 | 
			
		||||
                if (parent_type == AV_OPT_TYPE_INT)
 | 
			
		||||
                    av_log(av_log_obj, AV_LOG_INFO, "%-12d ", opt->default_val.i64);
 | 
			
		||||
                else
 | 
			
		||||
                    av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "");
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "");
 | 
			
		||||
                break;
 | 
			
		||||
@ -1303,7 +1308,7 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
 | 
			
		||||
 | 
			
		||||
        av_log(av_log_obj, AV_LOG_INFO, "\n");
 | 
			
		||||
        if (opt->unit && opt->type != AV_OPT_TYPE_CONST)
 | 
			
		||||
            opt_list(obj, av_log_obj, opt->unit, req_flags, rej_flags);
 | 
			
		||||
            opt_list(obj, av_log_obj, opt->unit, req_flags, rej_flags, opt->type);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1314,7 +1319,7 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
 | 
			
		||||
 | 
			
		||||
    av_log(av_log_obj, AV_LOG_INFO, "%s AVOptions:\n", (*(AVClass **)obj)->class_name);
 | 
			
		||||
 | 
			
		||||
    opt_list(obj, av_log_obj, NULL, req_flags, rej_flags);
 | 
			
		||||
    opt_list(obj, av_log_obj, NULL, req_flags, rej_flags, -1);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user