More preparation for colour FAX

This commit is contained in:
Steve Underwood 2013-04-04 22:53:41 +08:00
parent 0b4340c36e
commit a5ce5de53d
6 changed files with 58 additions and 38 deletions

View 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;

View 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.

View 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;

View 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)

View 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');

View 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);