- /* optional but all or nothing */
- g_string_append_printf (codec_string, ".%02u.%02u.%02u.%02u.%02u",
- chroma_format, gst_video_color_primaries_to_iso (cinfo.primaries),
- gst_video_transfer_function_to_iso (cinfo.transfer),
- gst_video_color_matrix_to_iso (cinfo.matrix), video_full_range);
+ /* optional but all or nothing. Include them if any parameter differs from the default value */
+ color_primaries = gst_video_color_primaries_to_iso (cinfo.primaries);
+ color_transfer = gst_video_transfer_function_to_iso (cinfo.transfer);
+ color_matrix = gst_video_color_matrix_to_iso (cinfo.matrix);
+ if (chroma_format != 1 || color_primaries != 1 || color_transfer != 1
+ || color_matrix != 1 || video_full_range) {
+ g_string_append_printf (codec_string, ".%02u.%02u.%02u.%02u.%02u",
+ chroma_format, color_primaries, color_transfer, color_matrix,
+ video_full_range);
+ }