]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
More preparation for colour FAX
authorSteve Underwood <steveu@x100e.coppice.org>
Thu, 4 Apr 2013 14:53:41 +0000 (22:53 +0800)
committerSteve Underwood <steveu@x100e.coppice.org>
Thu, 4 Apr 2013 14:53:41 +0000 (22:53 +0800)
libs/spandsp/src/spandsp/private/t30.h
libs/spandsp/src/spandsp/t30_api.h
libs/spandsp/src/t30_api.c
libs/spandsp/tests/fax_tests.c
libs/spandsp/tests/tsb85_tests.c
src/mod/applications/mod_spandsp/mod_spandsp_fax.c

index 933995d46b3c65880aa829e2c67ab9359dd29234..5965a697e67e438cf4f820913e0b5e49dc9644ec 100644 (file)
@@ -54,7 +54,7 @@ struct t30_state_s
     int supported_compressions;
     /*! \brief A bit mask of the currently supported bi-level image resolutions. */
     int supported_bilevel_resolutions;
-    /*! \brief A bit mask of the currently supported colour image resolutions. */
+    /*! \brief A bit mask of the currently supported gray-scale and colour image resolutions. */
     int supported_colour_resolutions;
     /*! \brief A bit mask of the currently supported image sizes. */
     int supported_image_sizes;
index 137e8718038009819d7c40a40037c27379d775db..f4f8040beb82d995dce96d4191c53bf3474f6868 100644 (file)
@@ -467,12 +467,19 @@ SPAN_DECLARE(int) t30_set_supported_modems(t30_state_t *s, int supported_modems)
     \return 0 if OK, else -1. */
 SPAN_DECLARE(int) t30_set_supported_compressions(t30_state_t *s, int supported_compressions);
 
-/*! Specify which resolutions are supported by a T.30 context.
-    \brief Specify supported resolutions.
+/*! Specify which bi-level resolutions are supported by a T.30 context.
+    \brief Specify supported bi-level resolutions.
     \param s The T.30 context.
     \param supported_resolutions Bit field list of the supported resolutions.
     \return 0 if OK, else -1. */
-SPAN_DECLARE(int) t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions);
+SPAN_DECLARE(int) t30_set_supported_bilevel_resolutions(t30_state_t *s, int supported_resolutions);
+
+/*! Specify which colour resolutions are supported by a T.30 context.
+    \brief Specify supported colour resolutions.
+    \param s The T.30 context.
+    \param supported_resolutions Bit field list of the supported resolutions.
+    \return 0 if OK, else -1. */
+SPAN_DECLARE(int) t30_set_supported_colour_resolutions(t30_state_t *s, int supported_resolutions);
 
 /*! Specify which images sizes are supported by a T.30 context.
     \brief Specify supported image sizes.
index cc55efea497b29d2c11b8aab9cb69aebc63df459..e5326d926e622f829f8ac18045f93b8f8eeacea0 100644 (file)
@@ -710,7 +710,7 @@ SPAN_DECLARE(int) t30_set_supported_compressions(t30_state_t *s, int supported_c
 }
 /*- End of function --------------------------------------------------------*/
 
-SPAN_DECLARE(int) t30_set_supported_resolutions(t30_state_t *s, int supported_resolutions)
+SPAN_DECLARE(int) t30_set_supported_bilevel_resolutions(t30_state_t *s, int supported_resolutions)
 {
     s->supported_bilevel_resolutions = supported_resolutions;
     t30_build_dis_or_dtc(s);
@@ -718,6 +718,14 @@ SPAN_DECLARE(int) t30_set_supported_resolutions(t30_state_t *s, int supported_re
 }
 /*- End of function --------------------------------------------------------*/
 
+SPAN_DECLARE(int) t30_set_supported_colour_resolutions(t30_state_t *s, int supported_resolutions)
+{
+    s->supported_colour_resolutions = supported_resolutions;
+    t30_build_dis_or_dtc(s);
+    return 0;
+}
+/*- End of function --------------------------------------------------------*/
+
 SPAN_DECLARE(int) t30_set_supported_image_sizes(t30_state_t *s, int supported_image_sizes)
 {
     s->supported_image_sizes = supported_image_sizes;
index 622d2fb4deb10e06ff997d618fab119823b8d7fe..adbe41a847d335caaaf8bae025b7d8a997c47c31 100644 (file)
@@ -845,21 +845,22 @@ int main(int argc, char *argv[])
                                     | T30_SUPPORT_215MM_WIDTH
                                     | T30_SUPPORT_255MM_WIDTH
                                     | T30_SUPPORT_303MM_WIDTH);
-        t30_set_supported_resolutions(t30_state[i],
-                                      T30_SUPPORT_RESOLUTION_R8_STANDARD
-                                    | T30_SUPPORT_RESOLUTION_R8_FINE
-                                    | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
-                                    | T30_SUPPORT_RESOLUTION_R16_SUPERFINE
-                                    | T30_SUPPORT_RESOLUTION_200_100
-                                    | T30_SUPPORT_RESOLUTION_200_200
-                                    | T30_SUPPORT_RESOLUTION_200_400
-                                    | T30_SUPPORT_RESOLUTION_300_300
-                                    | T30_SUPPORT_RESOLUTION_300_600
-                                    | T30_SUPPORT_RESOLUTION_400_400
-                                    | T30_SUPPORT_RESOLUTION_400_800
-                                    | T30_SUPPORT_RESOLUTION_600_600
-                                    | T30_SUPPORT_RESOLUTION_600_1200
-                                    | T30_SUPPORT_RESOLUTION_1200_1200);
+        t30_set_supported_bilevel_resolutions(t30_state[i],
+                                              T30_SUPPORT_RESOLUTION_R8_STANDARD
+                                            | T30_SUPPORT_RESOLUTION_R8_FINE
+                                            | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
+                                            | T30_SUPPORT_RESOLUTION_R16_SUPERFINE
+                                            | T30_SUPPORT_RESOLUTION_200_100
+                                            | T30_SUPPORT_RESOLUTION_200_200
+                                            | T30_SUPPORT_RESOLUTION_200_400
+                                            | T30_SUPPORT_RESOLUTION_300_300
+                                            | T30_SUPPORT_RESOLUTION_300_600
+                                            | T30_SUPPORT_RESOLUTION_400_400
+                                            | T30_SUPPORT_RESOLUTION_400_800
+                                            | T30_SUPPORT_RESOLUTION_600_600
+                                            | T30_SUPPORT_RESOLUTION_600_1200
+                                            | T30_SUPPORT_RESOLUTION_1200_1200);
+        t30_set_supported_colour_resolutions(t30_state[i], 0);
         //t30_set_rx_encoding(t30_state[i], T4_COMPRESSION_T85);
         t30_set_ecm_capability(t30_state[i], use_ecm);
         if (use_ecm)
index 14d37f4604bd4c6af52e0a36d129c71a1d51e424..28c3734fc59ec2fecd2e5fda3fd8ec57891e0da5 100644 (file)
@@ -392,21 +392,22 @@ static void fax_prepare(void)
                                 | T30_SUPPORT_215MM_WIDTH
                                 | T30_SUPPORT_255MM_WIDTH
                                 | T30_SUPPORT_303MM_WIDTH);
-    t30_set_supported_resolutions(t30,
-                                  T30_SUPPORT_RESOLUTION_R8_STANDARD
-                                | T30_SUPPORT_RESOLUTION_R8_FINE
-                                | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
-                                | T30_SUPPORT_RESOLUTION_R16_SUPERFINE
-                                | T30_SUPPORT_RESOLUTION_200_100
-                                | T30_SUPPORT_RESOLUTION_200_200
-                                | T30_SUPPORT_RESOLUTION_200_400
-                                | T30_SUPPORT_RESOLUTION_300_300
-                                | T30_SUPPORT_RESOLUTION_300_600
-                                | T30_SUPPORT_RESOLUTION_400_400
-                                | T30_SUPPORT_RESOLUTION_400_800
-                                | T30_SUPPORT_RESOLUTION_600_600
-                                | T30_SUPPORT_RESOLUTION_600_1200
-                                | T30_SUPPORT_RESOLUTION_1200_1200);
+    t30_set_supported_bilevel_resolutions(t30,
+                                          T30_SUPPORT_RESOLUTION_R8_STANDARD
+                                        | T30_SUPPORT_RESOLUTION_R8_FINE
+                                        | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
+                                        | T30_SUPPORT_RESOLUTION_R16_SUPERFINE
+                                        | T30_SUPPORT_RESOLUTION_200_100
+                                        | T30_SUPPORT_RESOLUTION_200_200
+                                        | T30_SUPPORT_RESOLUTION_200_400
+                                        | T30_SUPPORT_RESOLUTION_300_300
+                                        | T30_SUPPORT_RESOLUTION_300_600
+                                        | T30_SUPPORT_RESOLUTION_400_400
+                                        | T30_SUPPORT_RESOLUTION_400_800
+                                        | T30_SUPPORT_RESOLUTION_600_600
+                                        | T30_SUPPORT_RESOLUTION_600_1200
+                                        | T30_SUPPORT_RESOLUTION_1200_1200);
+    t30_set_supported_colour_resolutions(t30, 0);
     t30_set_supported_modems(t30, T30_SUPPORT_V27TER | T30_SUPPORT_V29 | T30_SUPPORT_V17);
     t30_set_supported_compressions(t30, T30_SUPPORT_COMPRESSION_T4_1D | T30_SUPPORT_COMPRESSION_T4_2D | T30_SUPPORT_COMPRESSION_T6);
     t30_set_phase_b_handler(t30, phase_b_handler, (void *) (intptr_t) 'A');
index a5766021c532fb21ab8148c73dc67ac83b61bbed..af932da2cd8a717c1330b1dce56681311a331e86 100644 (file)
@@ -875,9 +875,12 @@ static switch_status_t spanfax_init(pvt_t *pvt, transport_mode_t trans_mode)
        t30_set_supported_image_sizes(t30,
                                                                  T30_SUPPORT_US_LETTER_LENGTH | T30_SUPPORT_US_LEGAL_LENGTH | T30_SUPPORT_UNLIMITED_LENGTH
                                                                | T30_SUPPORT_215MM_WIDTH | T30_SUPPORT_255MM_WIDTH | T30_SUPPORT_303MM_WIDTH);
-       t30_set_supported_resolutions(t30,
-                                                                 T30_SUPPORT_RESOLUTION_R8_STANDARD | T30_SUPPORT_RESOLUTION_R8_FINE | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
-                                                               | T30_SUPPORT_RESOLUTION_R16_SUPERFINE);
+       t30_set_supported_bilevel_resolutions(t30,
+                                                                                 T30_SUPPORT_RESOLUTION_R8_STANDARD
+                                                                               | T30_SUPPORT_RESOLUTION_R8_FINE
+                                                                               | T30_SUPPORT_RESOLUTION_R8_SUPERFINE
+                                                                               | T30_SUPPORT_RESOLUTION_R16_SUPERFINE);
+       t30_set_supported_colour_resolutions(t30, 0);
 
        if (pvt->disable_v17) {
                t30_set_supported_modems(t30, T30_SUPPORT_V29 | T30_SUPPORT_V27TER);