enum signal_type output_signal;
 
        enum dc_color_space output_color_space;
+       enum dc_dither_option dither_option;
 
        struct rect src; /* composition area */
        struct rect dst; /* stream addressable area */
        struct colorspace_transform gamut_remap_matrix;
        struct csc_transform csc_color_matrix;
 
-       /* TODO: dithering */
        /* TODO: custom INFO packets */
        /* TODO: ABM info (DMCU) */
        /* TODO: PSR info */
 
        COLOR_SPACE_ADOBERGB,
 };
 
+enum dc_dither_option {
+       DITHER_OPTION_DEFAULT,
+       DITHER_OPTION_DISABLE,
+       DITHER_OPTION_FM6,
+       DITHER_OPTION_FM8,
+       DITHER_OPTION_FM10,
+       DITHER_OPTION_SPATIAL6_FRAME_RANDOM,
+       DITHER_OPTION_SPATIAL8_FRAME_RANDOM,
+       DITHER_OPTION_SPATIAL10_FRAME_RANDOM,
+       DITHER_OPTION_SPATIAL6,
+       DITHER_OPTION_SPATIAL8,
+       DITHER_OPTION_SPATIAL10,
+       DITHER_OPTION_TRUN6,
+       DITHER_OPTION_TRUN8,
+       DITHER_OPTION_TRUN10,
+       DITHER_OPTION_TRUN10_SPATIAL8,
+       DITHER_OPTION_TRUN10_SPATIAL6,
+       DITHER_OPTION_TRUN10_FM8,
+       DITHER_OPTION_TRUN10_FM6,
+       DITHER_OPTION_TRUN10_SPATIAL8_FM6,
+       DITHER_OPTION_SPATIAL10_FM8,
+       DITHER_OPTION_SPATIAL10_FM6,
+       DITHER_OPTION_TRUN8_SPATIAL6,
+       DITHER_OPTION_TRUN8_FM6,
+       DITHER_OPTION_SPATIAL8_FM6,
+       DITHER_OPTION_MAX = DITHER_OPTION_SPATIAL8_FM6,
+       DITHER_OPTION_INVALID
+};
+
 enum dc_quantization_range {
        QUANTIZATION_RANGE_UNKNOWN,
        QUANTIZATION_RANGE_FULL,