Mercurial > hg > audiostuff
diff spandsp-0.0.6pre17/src/spandsp/private/t30_dis_dtc_dcs_bits.h @ 4:26cd8f1ef0b1
import spandsp-0.0.6pre17
author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> |
---|---|
date | Fri, 25 Jun 2010 15:50:58 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spandsp-0.0.6pre17/src/spandsp/private/t30_dis_dtc_dcs_bits.h Fri Jun 25 15:50:58 2010 +0200 @@ -0,0 +1,387 @@ +/* + * SpanDSP - a series of DSP components for telephony + * + * t30_dis_dtc_dcs_bits.h - ITU T.30 fax control bits definitions + * + * Written by Steve Underwood <steveu@coppice.org> + * + * Copyright (C) 2009 Steve Underwood + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id: t30_dis_dtc_dcs_bits.h,v 1.1.4.1 2009/12/19 09:47:57 steveu Exp $ + */ + +/*! \file */ + +#if !defined(_SPANDSP_PRIVATE_T30_DIS_DTC_DCS_BITS_H_) +#define _SPANDSP_PRIVATE_T30_DIS_DTC_DCS_BITS_H_ + +/* Indicates that the terminal has the Simple mode capability defined in ITU-T Rec. T.37. + Internet address signals CIA, TSA or CSA can be sent and received. The recipient terminal + may process or ignore this signal. */ +#define T30_DIS_BIT_T37 1 +#define T30_DCS_BIT_T37 1 + +/* Indicates that the terminal has the capability to communicate using ITU-T Rec. T.38. + Internet address signals CIA, TSA or CSA can be sent and received. The recipient terminal + may process or ignore this signal. */ +#define T30_DIS_BIT_T38 3 +#define T30_DCS_BIT_T38 3 + +/* Bit 4 set to "1" indicates 3rd Generation Mobile Network Access to the GSTN Connection. + Bit 4 set to "0" conveys no information about the type of connection. */ +#define T30_DIS_BIT_3G_MOBILE 4 +#define T30_DCS_BIT_3G_MOBILE 4 + +/* When ISDN mode is used, in DIS/DTC bit 6 shall be set to "0". */ +#define T30_DIS_BIT_V8_CAPABILITY 6 + +/* When ISDN mode is used, in DIS/DTC bit 7 shall be set to "0". */ +#define T30_DIS_BIT_64_OCTET_ECM_FRAMES_PREFERRED 7 + +/* Bit 9 indicates that there is a facsimile document ready to be polled from the answering + terrminal. It is not an indication of a capability. */ +#define T30_DIS_BIT_READY_TO_TRANSMIT_FAX_DOCUMENT 9 + +/* In DIS/DTC bit 10 indicates that the answering terminal has receiving capabilities. + In DCS it is a command to the receiving terminal to set itself in the receive mode. */ +#define T30_DIS_BIT_READY_TO_RECEIVE_FAX_DOCUMENT 10 +#define T30_DCS_BIT_RECEIVE_FAX_DOCUMENT 10 + +/* Bits 11, 12, 13, 14 - modem type */ + +#define T30_DIS_BIT_200_200_CAPABLE 15 +#define T30_DCS_BIT_200_200 15 + +#define T30_DIS_BIT_2D_CAPABLE 16 +#define T30_DCS_BIT_2D_CODING 16 + +/* Standard facsimile terminals conforming to ITU-T Rec. T.4 must have the following capability: + Paper length = 297 mm. */ + +/* Bits 17, 18 - recording width */ + +/* Bits 19, 20 - paper length */ + +/* Bits 21, 22, 23 - min scan line time */ + +/* When ISDN mode is used, in DIS/DTC bits 21 to 23 shall be set to "1". */ + +#define T30_DIS_BIT_UNCOMPRESSED_CAPABLE 26 +#define T30_DCS_BIT_UNCOMPRESSED_MODE 26 + +/* When ISDN mode is used, in DIS/DTC bit 27 shall be set to "1". */ +#define T30_DIS_BIT_ECM_CAPABLE 27 +#define T30_DCS_BIT_ECM 27 + +/* The value of bit 28 in the DCS command is only valid when ECM is selected. */ +#define T30_DCS_BIT_64_OCTET_ECM_FRAMES 28 + +/* The value of bit 31 in the DCS command is only valid when ECM is selected. */ +#define T30_DIS_BIT_T6_CAPABLE 31 +#define T30_DCS_BIT_T6_MODE 31 + +#define T30_DIS_BIT_FNV_CAPABLE 33 +#define T30_DCS_BIT_FNV_CAPABLE 33 + +#define T30_DIS_BIT_MULTIPLE_SELECTIVE_POLLING_CAPABLE 34 + +#define T30_DIS_BIT_POLLED_SUBADDRESSING_CAPABLE 35 + +#define T30_DIS_BIT_T43_CAPABLE 36 +#define T30_DCS_BIT_T43_CODING 36 + +#define T30_DIS_BIT_PLANE_INTERLEAVE_CAPABLE 37 +#define T30_DCS_BIT_PLANE_INTERLEAVE 37 + +#define T30_DIS_BIT_G726_CAPABLE 38 +#define T30_DCS_BIT_G726 38 + +#define T30_DIS_BIT_200_400_CAPABLE 41 +#define T30_DCS_BIT_200_400 41 + +#define T30_DIS_BIT_300_300_CAPABLE 42 +#define T30_DCS_BIT_300_300 42 + +#define T30_DIS_BIT_400_400_CAPABLE 43 +#define T30_DCS_BIT_400_400 43 + +/* Bits 44 and 45 are used only in conjunction with bits 15 and 43. Bit 44 in DCS, when used, + shall correctly indicate the resolution of the transmitted document, which means that bit 44 in DCS may + not always match the indication of bits 44 and 45 in DIS/DTC. Cross selection will cause the distortion + and reduction of reproducible area. + If a receiver indicates in DIS that it prefers to receive metric-based information, but the transmitter has + only the equivalent inch-based information (or vice versa), then communication shall still take place. + Bits 44 and 45 do not require the provision of any additional features on the terminal to + indicate to the sending or receiving user whether the information was transmitted or received on a metric-metric, + inch-inch, metric-inch, inch-metric basis. */ + +#define T30_DIS_BIT_INCH_RESOLUTION_PREFERRED 44 +#define T30_DCS_BIT_INCH_RESOLUTION 44 + +#define T30_DIS_BIT_METRIC_RESOLUTION_PREFERRED 45 + +#define T30_DIS_BIT_MIN_SCAN_TIME_HALVES 46 + +#define T30_DIS_BIT_SELECTIVE_POLLING_CAPABLE 47 + +#define T30_DIS_BIT_SUBADDRESSING_CAPABLE 49 +#define T30_DCS_BIT_SUBADDRESS_TRANSMISSION 49 + +#define T30_DIS_BIT_PASSWORD 50 +#define T30_DCS_BIT_SENDER_ID_TRANSMISSION 50 + +/* Bit 51 indicates that there is a data file ready to be polled from the answering terminal. It is + not an indication of a capability. This bit is used in conjunction with bits 53, 54, 55 and 57. */ +#define T30_DIS_BIT_READY_TO_TRANSMIT_DATA_FILE 51 + +/* The binary file transfer protocol is described in ITU-T Rec. T.434. */ +#define T30_DIS_BIT_BFT_CAPABLE 53 +#define T30_DCS_BIT_BFT 53 + +#define T30_DIS_BIT_DTM_CAPABLE 54 +#define T30_DCS_BIT_DTM 54 + +#define T30_DIS_BIT_EDI_CAPABLE 55 +#define T30_DCS_BIT_EDI 55 + +#define T30_DIS_BIT_BTM_CAPABLE 57 +#define T30_DCS_BIT_BTM 57 + +/* Bit 59 indicates that there is a character-coded or mixed-mode document ready to be polled + from the answering terminal. It is not an indication of a capability. This bit is used in + conjunction with bits 60, 62 and 65. */ +#define T30_DIS_BIT_READY_TO_TRANSMIT_MIXED_MODE_DOCUMENT 59 + +#define T30_DIS_BIT_CHARACTER_MODE 60 +#define T30_DCS_BIT_CHARACTER_MODE 60 + +#define T30_DIS_BIT_MIXED_MODE 62 +#define T30_DCS_BIT_MIXED_MODE 62 + +#define T30_DIS_BIT_PROCESSABLE_MODE_26 65 + +#define T30_DIS_BIT_DIGITAL_NETWORK_CAPABLE 66 +#define T30_DCS_BIT_DIGITAL_NETWORK_CAPABLE 66 + +#define T30_DIS_BIT_DUPLEX_CAPABLE 67 +#define T30_DCS_BIT_DUPLEX_CAPABLE 67 + +#define T30_DIS_BIT_T81_CAPABLE 68 +#define T30_DCS_BIT_FULL_COLOUR_MODEX 68 + +#define T30_DIS_BIT_FULL_COLOUR_CAPABLE 69 +#define T30_DCS_BIT_FULL_COLOUR_MODE 69 + +/* In a DIS/DTC frame, setting bit 71 to "0" indicates that the called terminal can only accept + image data which has been digitized to 8 bits/pel/component for JPEG mode. This is also true for T.43 + mode if bit 36 is also set to "1". Setting bit 71 to "1" indicates that the called terminal can also accept + image data that are digitized to 12 bits/pel/component for JPEG mode. This is also true for T.43 mode if + bit 36 is also set to "1". In a DCS frame, setting bit 71 to "0" indicates that the calling terminal's image + data are digitized to 8 bits/pel/component for JPEG mode. This is also true for T.43 mode if bit 36 is also + set to "1". Setting bit 71 to "1" indicates that the calling terminal transmits image data which has been + digitized to 12 bits/pel/component for JPEG mode. This is also true for T.43 mode if bit 36 is also set + to "1". */ +#define T30_DIS_BIT_12BIT_CAPABLE 71 +#define T30_DCS_BIT_12BIT_COMPONENT 71 + +#define T30_DIS_BIT_NO_SUBSAMPLING 73 +#define T30_DCS_BIT_NO_SUBSAMPLING 73 + +#define T30_DIS_BIT_CUSTOM_ILLUMINANT 74 +#define T30_DCS_BIT_CUSTOM_ILLUMINANT 74 + +#define T30_DIS_BIT_CUSTOM_GAMUT_RANGE 75 +#define T30_DCS_BIT_CUSTOM_GAMUT_RANGE 75 + +#define T30_DIS_BIT_NORTH_AMERICAN_LETTER_CAPABLE 76 +#define T30_DCS_BIT_NORTH_AMERICAN_LETTER 76 + +#define T30_DIS_BIT_NORTH_AMERICAN_LEGAL_CAPABLE 77 +#define T30_DCS_BIT_NORTH_AMERICAN_LEGAL 77 + +#define T30_DIS_BIT_T85_CAPABLE 78 +#define T30_DCS_BIT_T85_MODE 78 + +#define T30_DIS_BIT_T85_L0_CAPABLE 79 +#define T30_DCS_BIT_T85_L0_MODE 79 + +/* In a DIS/DTC frame, setting bit 97 to "0" indicates that the called terminal does not have the + capability to accept 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm + resolutions for colour/gray-scale images or T.44 Mixed Raster Content (MRC) mask layer. + + Setting bit 97 to "1" indicates that the called terminal does have the capability to accept + 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions for + colour/gray-scale images and MRC mask layer. Bit 97 is valid only when bits 68 and 42 or 43 + (300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm) are set to "1". + + In a DCS frame, setting bit 97 to "0" indicates that the calling terminal does not use + 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions + for colour/gray-scale images and mask layer. + + Setting bit 97 to "1" indicates that the calling terminal uses 300 pels/25.4 mm x 300 lines/25.4 mm + or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions for colour/gray-scale images and MRC mask layer. + Bit 97 is valid only when bits 68 and 42 or 43 (300 pels/25.4 mm x 300 lines/25.4 mm and + 400 pels/25.4 mm x 400 lines/25.4 mm) are set to "1". + + In a DIS/DTC frame, combinations of bit 42, bit 43 and bit 97 indicate that the called terminal + has higher resolution capabilities as follows: + + Resolution capabilities (pels/25.4 mm) + DIS/DTC Monochrome Colour/gray-scale + 42 43 97 300 x 300 400 x 400 300 x 300 400 x 400 + 0 0 0 no no no no + 1 0 0 yes no no no + 0 1 0 no yes no no + 1 1 0 yes yes no no + 0 0 1 (invalid) + 1 0 1 yes no yes no + 0 1 1 no yes no yes + 1 1 1 yes yes yes yes + "yes" means that the called terminal has the corresponding capability. + "no" means that the called terminal does not have the corresponding capability. */ +#define T30_DIS_BIT_COLOUR_GREY_300_300_400_400_CAPABLE 97 +#define T30_DCS_BIT_COLOUR_GREY_300_300_400_400 97 + +/* In a DIS/DTC frame, setting bit 98 to "0" indicates that the called terminal does not have the + capability to accept 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale + images. Setting bit 98 to "1" indicates that the called terminal does have the capability to accept + 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale images. Bit 98 is valid + only when bit 68 is set to "1". In a DCS frame, setting bit 98 to "0" indicates that the calling terminal does + not use 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale images. Setting + bit 98 to "1" indicates that the calling terminal uses 100 pels/25.4 mm x 100 lines/25.4 mm spatial + resolution for colour or gray-scale images. */ +#define T30_DIS_BIT_COLOUR_GREY_100_100_CAPABLE 98 +#define T30_DCS_BIT_COLOUR_GREY_100_100 98 + +/* To provide an error recovery mechanism, when PWD/SEP/SUB/SID/PSA/IRA/ISP frames are sent with DCS or DTC, + bits 49, 102 and 50 in DCS or bits 47, 101, 50 and 35 in DTC shall be set to "1" with the following + meaning: + Bit DIS DTC DCS + 35 Polled SubAddress capability Polled SubAddress transmission Not allowed – set to "0" + 47 Selective polling capability Selective polling transmission Not allowed – set to "0" + 49 Subaddressing capability Not allowed (Set to "0") Subaddressing transmission + 50 Password Password transmission Sender Identification transmission + 101 Internet Selective Polling Address capability Internet Selective Polling Address transmission Not allowed – set to "0" + 102 Internet Routing Address capability Not allowed (Set to "0") Internet Routing Address transmission + + Terminals conforming to the 1993 version of T.30 may set the above bits to "0" even though PWD/SEP/SUB + frames are transmitted. */ +#define T30_DIS_BIT_INTERNET_SELECTIVE_POLLING_ADDRESS 101 + +#define T30_DIS_BIT_INTERNET_ROUTING_ADDRESS 102 +#define T30_DCS_BIT_INTERNET_ROUTING_ADDRESS_TRANSMISSION 102 + +#define T30_DIS_BIT_600_600_CAPABLE 105 +#define T30_DCS_BIT_600_600 105 + +#define T30_DIS_BIT_1200_1200_CAPABLE 106 +#define T30_DCS_BIT_1200_1200 106 + +#define T30_DIS_BIT_300_600_CAPABLE 107 +#define T30_DCS_BIT_300_600 107 + +#define T30_DIS_BIT_400_800_CAPABLE 108 +#define T30_DCS_BIT_400_800 108 + +#define T30_DIS_BIT_600_1200_CAPABLE 109 +#define T30_DCS_BIT_600_1200 109 + +#define T30_DIS_BIT_COLOUR_GREY_600_600_CAPABLE 110 +#define T30_DCS_BIT_COLOUR_GREY_600_600 110 + +#define T30_DIS_BIT_COLOUR_GREY_1200_1200_CAPABLE 111 +#define T30_DCS_BIT_COLOUR_GREY_1200_1200 111 + +#define T30_DIS_BIT_ALTERNATE_DOUBLE_SIDED_CAPABLE 113 +#define T30_DCS_BIT_ALTERNATE_DOUBLE_SIDED_CAPABLE 113 + +#define T30_DIS_BIT_CONTINUOUS_DOUBLE_SIDED_CAPABLE 114 +#define T30_DCS_BIT_CONTINUOUS_DOUBLE_SIDED_CAPABLE 114 + +#define T30_DIS_BIT_BLACK_AND_WHITE_MRC 115 + +#define T30_DIS_BIT_T45_CAPABLE 116 +#define T30_DCS_BIT_T45_MODE 116 + +/* This bit defines the available colour space, when bit 92, 93 or 94 is set to "1". + Available colour space for all combinations of bits 92, 93, 94 and 119 are shown in the following table. + It should be noted that terminals which conform to the 2003 and earlier versions of this Recommendation + will send LAB with "1" in bit 92, 93 or 94 even if bit 119 is set to "1". + + Available colour space for DIS/DTC bits 92, 93, 94 and 119 + + 92 93 94 119 Mode of T.44 Available colour space + 0 0 0 x Not available - + 1 0 0 0 Mode 1 LAB only + 1 0 0 1 Mode 1 YCC only + x 1 x 0 Mode 2 or higher LAB only + x x 1 0 Mode 2 or higher LAB only + x 1 x 1 Mode 2 or higher LAB and YCC + x x 1 1 Mode 2 or higher LAB and YCC + + Colour space for DCS bits 92, 93, 94 and 119 + + 92 93 94 119 Mode of T.44 Colour space + 0 0 0 x* Not available - + 1 0 0 0 Mode 1 LAB + 1 0 0 1 Mode 1 YCC + x 1 x 0 Mode 2 or higher LAB + x x 1 0 Mode 2 or higher LAB + x 1 x 1 Mode 2 or higher YCC or mixing of YCC and LAB + x x 1 1 Mode 2 or higher YCC or mixing of YCC and LAB */ +#define T30_DIS_BIT_T44_COLOUR_SPACE 119 +#define T30_DCS_BIT_T44_COLOUR_SPACE 119 + +/* Can only be set in the communication through the T.38 gateway, to cope with delay of network. + T.x timer (12+-1s) should be used after emitting RNR or TNR. However, after receiving + PPS signal in ECM mode, T.5 timer should be used. */ +#define T30_DIS_BIT_T38_FLOW_CONTROL_CAPABLE 121 +#define T30_DCS_BIT_T38_FLOW_CONTROL_CAPABLE 121 + +/* For resolutions greater than 200 lines/25.4 mm, 4.2.1.1/T.4 specifies the use of specific K + factors for each standardized vertical resolution. To ensure backward compatibility with earlier + versions of ITU-T Rec. T.4, bit 122 indicates when such K factors are being used. */ +#define T30_DIS_BIT_K_GREATER_THAN_4 122 + +/* This bit should be set to "1" if the fax device is an Internet-Aware Fax Device as defined in + ITU-T Rec. T.38 and if it is not affected by the data signal rate indicated by the DIS and DTC + signals when communicating with another Internet-Aware Fax Device operating in T.38 mode. This + bit shall not be used in GSTN mode. */ +#define T30_DIS_BIT_T38_FAX_CAPABLE 123 +/* This bit should be set to "1" if the fax device elects to operate in an Internet-Aware Fax mode + as defined in ITU-T Rec. T.38 in response to a device which has set the related DIS bit to "1". + When this bit is set to "1", the data signal rate of the modem (bits 11-14) should be set to "0". */ +#define T30_DCS_BIT_T38_FAX_MODE 123 + +/* When either bit of 31, 36, 38, 51, 53, 54, 55, 57, 59, 60, 62, 65, 68, 78, 79, 115, 116 and 127 is + set to "1", ECM must be used. If the value of bit field 92 to 94 is non-zero, then ECM must be used. + + Annex K describes the optional continuous-tone colour and gray scale images mode + (sYCC-JPEG mode) protocol. When bit 127 in DIS/DTC frame is set to "1", the called terminal has the + capability to accept sYCC-JPEG mode. This is defined with complete independent in the colour space + CIELAB. In addition, when bit 127 in DCS frame is set to "1", ECM must be used and bits 15, 17, 18, + 19, 20, 41, 42, 43, 45, 46, 68, 69, 71, 73, 74, 75, 76, 77, 97, 98, 105, 106, 107, 108, + 109, 110 and 111 in DCS frame are "Don't care", and should be set to "0". In the case of + transmission of multiple images, a post message signal PPS-MPS between pages, PPS-NULL between + partial pages and PPS-EOP following the last page should be sent from the calling terminal to the + called terminal. */ +#define T30_DIS_BIT_SYCC_T81_CAPABLE 127 +#define T30_DCS_BIT_SYCC_T81_MODE 127 + +#endif +/*- End of file ------------------------------------------------------------*/