66
77#include <math.h>
88
9- #define FF_DISPLAY_NUM_FORMAT_ARGS 21
9+ #define FF_DISPLAY_NUM_FORMAT_ARGS 24
1010
1111static int sortByNameAsc (FFDisplayResult * a , FFDisplayResult * b )
1212{
@@ -164,6 +164,17 @@ void ffPrintDisplay(FFDisplayOptions* options)
164164 else
165165 refreshRate [0 ] = 0 ;
166166
167+ char preferredRefreshRate [16 ];
168+ if (result -> preferredRefreshRate > 0 )
169+ {
170+ if (options -> preciseRefreshRate )
171+ snprintf (preferredRefreshRate , ARRAY_SIZE (preferredRefreshRate ), "%g" , ((int ) (result -> preferredRefreshRate * 1000 + 0.5 )) / 1000.0 );
172+ else
173+ snprintf (preferredRefreshRate , ARRAY_SIZE (preferredRefreshRate ), "%i" , (uint32_t ) (result -> preferredRefreshRate + 0.5 ));
174+ }
175+ else
176+ preferredRefreshRate [0 ] = 0 ;
177+
167178 char buf [32 ];
168179 if (result -> serial )
169180 {
@@ -197,6 +208,9 @@ void ffPrintDisplay(FFDisplayOptions* options)
197208 FF_FORMAT_ARG (result -> platformApi , "platform-api" ),
198209 FF_FORMAT_ARG (hdrCompatible , "hdr-compatible" ),
199210 FF_FORMAT_ARG (scaleFactor , "scale-factor" ),
211+ FF_FORMAT_ARG (result -> preferredWidth , "preferred-width" ),
212+ FF_FORMAT_ARG (result -> preferredHeight , "preferred-height" ),
213+ FF_FORMAT_ARG (preferredRefreshRate , "preferred-refresh-rate" ),
200214 }));
201215 }
202216 }
@@ -424,9 +438,9 @@ void ffGenerateDisplayJsonResult(FF_MAYBE_UNUSED FFDisplayOptions* options, yyjs
424438void ffPrintDisplayHelpFormat (void )
425439{
426440 FF_PRINT_MODULE_FORMAT_HELP_CHECKED (FF_DISPLAY_MODULE_NAME , "{1}x{2} @ {3}Hz (as {4}x{5}) [{7}]" , FF_DISPLAY_NUM_FORMAT_ARGS , ((const char * []) {
427- "Screen width (in pixels) - width" ,
428- "Screen height (in pixels) - height" ,
429- "Screen refresh rate (in Hz) - refresh-rate" ,
441+ "Screen configured width (in pixels) - width" ,
442+ "Screen configured height (in pixels) - height" ,
443+ "Screen configured refresh rate (in Hz) - refresh-rate" ,
430444 "Screen scaled width (in pixels) - scaled-width" ,
431445 "Screen scaled height (in pixels) - scaled-height" ,
432446 "Screen name - name" ,
@@ -445,6 +459,9 @@ void ffPrintDisplayHelpFormat(void)
445459 "The platform API used when detecting the display - platform-api" ,
446460 "True if the display is HDR compatible - hdr-compatible" ,
447461 "HiDPI scale factor - scale-factor" ,
462+ "Screen preferred width (in pixels) - preferred-width" ,
463+ "Screen preferred height (in pixels) - preferred-height" ,
464+ "Screen preferred refresh rate (in Hz) - preferred-refresh-rate" ,
448465 }));
449466}
450467
0 commit comments