Commit 00b00ad583 for ffmpeg

commit 00b00ad583f329925abe6178688b5b8b2b56c12e
Author: James Almer <jamrial@gmail.com>
Date:   Sat Oct 10 12:01:20 2026 -0300

    fftools/ffprobe: print stream groups with a type using AVStreamGroupLayeredVideo

    Signed-off-by: James Almer <jamrial@gmail.com>

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index e2dbbbe180..664a4802ef 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2450,15 +2450,31 @@ static void print_iamf_mix_presentation_params(AVTextFormatContext *tfc, const A
     avtext_print_section_footer(tfc); // SECTION_ID_STREAM_GROUP_COMPONENT
 }

+static void print_layered_video_params(AVTextFormatContext *tfc, const AVStreamGroup *stg,
+                                       const AVStreamGroupLayeredVideo *layered_video)
+{
+    avtext_print_section_header(tfc, stg, SECTION_ID_STREAM_GROUP_COMPONENT);
+    print_int("el_index", layered_video->el_index);
+    print_int("width", layered_video->width);
+    print_int("height", layered_video->height);
+    avtext_print_section_footer(tfc); // SECTION_ID_STREAM_GROUP_COMPONENT
+}
+
 static void print_stream_group_params(AVTextFormatContext *tfc, AVStreamGroup *stg)
 {
     avtext_print_section_header(tfc, NULL, SECTION_ID_STREAM_GROUP_COMPONENTS);
-    if (stg->type == AV_STREAM_GROUP_PARAMS_TILE_GRID)
-        print_tile_grid_params(tfc, stg, stg->params.tile_grid);
-    else if (stg->type == AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT)
-        print_iamf_audio_element_params(tfc, stg, stg->params.iamf_audio_element);
-    else if (stg->type == AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION)
-        print_iamf_mix_presentation_params(tfc, stg, stg->params.iamf_mix_presentation);
+    switch (stg->type) {
+    case AV_STREAM_GROUP_PARAMS_TILE_GRID:
+        print_tile_grid_params(tfc, stg, stg->params.tile_grid); break;
+    case AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT:
+        print_iamf_audio_element_params(tfc, stg, stg->params.iamf_audio_element); break;
+    case AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION:
+        print_iamf_mix_presentation_params(tfc, stg, stg->params.iamf_mix_presentation); break;
+    case AV_STREAM_GROUP_PARAMS_LCEVC:
+    case AV_STREAM_GROUP_PARAMS_DOLBY_VISION:
+    case AV_STREAM_GROUP_PARAMS_GAIN_MAP:
+        print_layered_video_params(tfc, stg, stg->params.layered_video); break;
+    }
     avtext_print_section_footer(tfc); // SECTION_ID_STREAM_GROUP_COMPONENTS
 }

@@ -2526,6 +2542,12 @@ static int show_stream_group(AVTextFormatContext *tfc, InputFile *ifile, AVStrea
             height = tile_grid->height;
             break;
         }
+        case AV_STREAM_GROUP_PARAMS_GAIN_MAP: {
+            const AVStreamGroupLayeredVideo *layered_video = stg->params.layered_video;
+            width = layered_video->width;
+            height = layered_video->height;
+            break;
+        }
         default:
             break;
         }