亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? t4.h

?? 傳真通信V27 V29 V17 T38解調與解碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* * SpanDSP - a series of DSP components for telephony * * t4.h - definitions for T.4 fax processing * * Written by Steve Underwood <steveu@coppice.org> * * Copyright (C) 2003 Steve Underwood * * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: t4.h,v 1.34 2007/08/02 13:55:48 steveu Exp $ *//*! \file */#if !defined(_SPANDSP_T4_H_)#define _SPANDSP_T4_H_/*! \page t4_page T.4 image compression and decompression\section t4_page_sec_1 What does it do?The T.4 image compression and decompression routines implement the 1D and 2Dencoding methods defined in ITU specification T.4. They also implement the pure2D encoding method defined in T.6. These are image compression algorithms usedfor FAX transmission.\section t4_page_sec_1 How does it work?*/enum{    T4_COMPRESSION_ITU_T4_1D = 1,    T4_COMPRESSION_ITU_T4_2D = 2,    T4_COMPRESSION_ITU_T6 = 3};enum{    T4_X_RESOLUTION_R4 = 4019,    T4_X_RESOLUTION_R8 = 8037,    T4_X_RESOLUTION_R16 = 16074};enum{    T4_Y_RESOLUTION_STANDARD = 3850,    T4_Y_RESOLUTION_FINE = 7700,    T4_Y_RESOLUTION_SUPERFINE = 15400};/*!    T.4 FAX compression/decompression descriptor. This defines the working state    for a single instance of a T.4 FAX compression or decompression channel.*/typedef struct{    /* "Background" information about the FAX, which can be stored in a TIFF file. */    /*! \brief The vendor of the machine which produced the TIFF file. */     const char      *vendor;    /*! \brief The model of machine which produced the TIFF file. */     const char      *model;    /*! \brief The local ident string. */     const char      *local_ident;    /*! \brief The remote end's ident string. */     const char      *far_ident;    /*! \brief The FAX sub-address. */     const char      *sub_address;    /*! \brief The text which will be used in FAX page header. No text results               in no header line. */    const char      *header_info;    /*! \brief The type of compression used between the FAX machines. */    int             line_encoding;    /*! \brief The minimum number of bits per scan row. This is a timing thing               for hardware FAX machines. */    int             min_scan_line_bits;        int             output_compression;    int             output_t4_options;    time_t          page_start_time;    int             bytes_per_row;    int             image_size;    int             image_buffer_size;    uint8_t         *image_buffer;    TIFF            *tiff_file;    const char      *file;    int             start_page;    int             stop_page;    int             pages_transferred;    int             pages_in_file;    /*! Column-to-column (X) resolution in pixels per metre. */    int             x_resolution;    /*! Row-to-row (Y) resolution in pixels per metre. */    int             y_resolution;    /*! Width of the current page, in pixels. */    int             image_width;    /*! Current pixel row number. */    int             row;    /*! Total pixel rows in the current page. */    int             image_length;    /*! The current number of consecutive bad rows. */    int             curr_bad_row_run;    /*! The longest run of consecutive bad rows seen in the current page. */    int             longest_bad_row_run;    /*! The total number of bad rows in the current page. */    int             bad_rows;    /* Decode state */    uint32_t        bits_to_date;    int             bits;    /*! \brief This variable is set if we are treating the current row as a 2D encoded               one. */    int             row_is_2d;    int             its_black;    int             row_len;    /*! \brief This variable is used to record the fact we have seen at least one EOL               since we started decoding. We will not try to interpret the received               data as an image until we have seen the first EOL. */    int             first_eol_seen;    /*! \brief This variable is used to count the consecutive EOLS we have seen. If it               reaches six, this is the end of the image. */    int             consecutive_eols;    /*! \brief B&W runs for reference line */    uint32_t        *ref_runs;    /*! \brief B&W runs for current line */    uint32_t        *cur_runs;    uint32_t        *pa;    uint32_t        *pb;    int             a0;    int             b1;    /*! \brief The length of the current run of black or white. */    int             run_length;    int             black_white;    uint32_t        data;    int             bit;    /*! \brief A point into the image buffer indicating where the last row begins */    int             last_row_starts_at;    /*! \brief A point into the image buffer indicating where the current row begins */    int             row_starts_at;        /* Encode state */    /*! Pointer to the buffer for the current pixel row. */    uint8_t         *row_buf;        int             bit_pos;    int             bit_ptr;    /*! \brief The reference pixel row for 2D encoding. */    uint8_t         *ref_row_buf;    /*! \brief The maximum contiguous rows that will be 2D encoded. */    int             max_rows_to_next_1d_row;    /*! \brief Number of rows left that can be 2D encoded, before a 1D encoded row               must be used. */    int             rows_to_next_1d_row;    /*! \brief The minimum number of encoded bits per row. */    int             min_row_bits;    /*! \brief The current number of bits in the current encoded row. */    int             row_bits;    /*! \brief Error and flow logging control */    logging_state_t logging;} t4_state_t;/*!    T.4 FAX compression/decompression statistics.*/typedef struct{    /*! \brief The number of pages transferred so far. */    int pages_transferred;    /*! \brief The number of pages in the file (<0 if unknown). */    int pages_in_file;    /*! \brief The number of horizontal pixels in the most recent page. */    int width;    /*! \brief The number of vertical pixels in the most recent page. */    int length;    /*! \brief The number of bad pixel rows in the most recent page. */    int bad_rows;    /*! \brief The largest number of bad pixel rows in a block in the most recent page. */    int longest_bad_row_run;    /*! \brief The horizontal resolution of the page in pixels per metre */    int x_resolution;    /*! \brief The vertical resolution of the page in pixels per metre */    int y_resolution;    /*! \brief The type of compression used between the FAX machines */    int encoding;    /*! \brief The size of the image, in bytes */    int image_size;} t4_stats_t;    #if defined(__cplusplus)extern "C" {#endif/*! \brief Allocate a T.4 transmit handling context, and           initialise it.    \param file The name of the file to be received.    \param output_encoding The output encoding.    \return The T.4 context, or NULL. */t4_state_t *t4_rx_create(const char *file, int output_encoding);/*! \brief Prepare for reception of a document.    \param s The T.4 context.    \param file The name of the file to be received.    \param output_encoding The output encoding.    \return 0 for success, otherwise -1. */int t4_rx_init(t4_state_t *s, const char *file, int output_encoding);/*! \brief Prepare to receive the next page of the current document.    \param s The T.4 context.    \return zero for success, -1 for failure. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产一区二区三区蜜臀| 久久久午夜精品理论片中文字幕| 欧美日韩国产首页| 欧美成人性战久久| 日韩伦理av电影| 老司机精品视频导航| 色哟哟精品一区| 国产欧美日韩亚州综合 | 99视频在线精品| 欧美大片在线观看一区二区| 亚洲一区二区三区影院| 99精品久久只有精品| 日本一区二区视频在线| 不卡欧美aaaaa| 蜜臀av一区二区在线观看| 色综合视频在线观看| 亚洲电影欧美电影有声小说| 91日韩一区二区三区| 中文字幕巨乱亚洲| 国产精品18久久久久久久久| 欧美专区在线观看一区| 亚洲免费在线观看| 99久久国产免费看| 日韩精品三区四区| 欧美精品1区2区| 午夜精品aaa| 欧美日韩在线播放三区四区| 一区二区三区四区在线播放| 色婷婷久久99综合精品jk白丝| 三级影片在线观看欧美日韩一区二区| 欧美mv日韩mv亚洲| 色综合久久天天| 蜜桃av一区二区在线观看| 综合色中文字幕| 日韩欧美精品在线视频| 91美女片黄在线| 九九国产精品视频| 久久久久九九视频| 91麻豆精品国产自产在线 | 欧美亚洲另类激情小说| 亚洲国产精品嫩草影院| 欧美三级电影网站| 福利一区二区在线观看| 亚洲婷婷国产精品电影人久久| 91超碰这里只有精品国产| 成人一区二区在线观看| 一区二区三区精品视频| 国产亚洲美州欧州综合国| 成人免费观看av| 久热成人在线视频| 亚洲图片欧美色图| 亚洲欧美日韩一区二区三区在线观看| 欧美大尺度电影在线| 91福利在线观看| 日本91福利区| 欧美国产欧美综合| 日韩欧美国产一区二区三区| 欧美性色综合网| 色老头久久综合| av成人免费在线| 国产成人h网站| 国产一区二区三区精品视频| 亚洲美女一区二区三区| 国产精品久久久久影视| 在线不卡a资源高清| 欧美性大战久久久| 在线观看日韩精品| 91色在线porny| av一区二区三区在线| 成人毛片在线观看| 东方欧美亚洲色图在线| 国产1区2区3区精品美女| 国产乱人伦精品一区二区在线观看| 日韩va亚洲va欧美va久久| 久久精品亚洲精品国产欧美| 欧美电视剧在线看免费| 精品久久五月天| 欧美成人女星排行榜| 日韩一级片网站| 欧美中文字幕久久| 在线观看国产日韩| 欧美无砖砖区免费| 欧美日韩国产首页在线观看| 777奇米四色成人影色区| 欧美一级国产精品| 日韩欧美一区电影| 2023国产精品自拍| 91.xcao| 7777精品伊人久久久大香线蕉完整版| 欧美精品xxxxbbbb| 日韩久久精品一区| 久久影音资源网| 国产精品美女久久久久久久| 日韩一级成人av| 26uuu久久天堂性欧美| 国产欧美视频在线观看| 亚洲色图在线看| 亚洲va欧美va人人爽| 美女爽到高潮91| 成人午夜伦理影院| 欧洲av在线精品| 欧美一级艳片视频免费观看| 国产亚洲综合av| 亚洲免费大片在线观看| 蜜臀久久99精品久久久久宅男| 激情综合色综合久久| 午夜精品一区二区三区免费视频| 日韩高清不卡一区二区三区| 国产精品一品二品| 91久久精品午夜一区二区| 日韩一区和二区| 中文字幕欧美日韩一区| 亚洲v日本v欧美v久久精品| 激情五月婷婷综合网| 色偷偷久久人人79超碰人人澡| 欧美久久婷婷综合色| 日本一区二区视频在线观看| 亚洲国产一二三| 国产福利一区二区三区| 欧美日韩国产综合一区二区三区| 久久人人爽爽爽人久久久| 亚洲情趣在线观看| 精品一区二区三区av| 在线一区二区三区做爰视频网站| 欧美大片国产精品| 亚洲精品国产第一综合99久久| 亚洲综合图片区| 国产精品羞羞答答xxdd| 欧美久久高跟鞋激| 中日韩av电影| 六月婷婷色综合| 在线精品视频免费播放| 久久人人97超碰com| 视频一区中文字幕| 色香蕉久久蜜桃| 日本一区二区三区四区| 免费一区二区视频| 欧美在线免费观看视频| 欧美国产国产综合| www.欧美日韩| 精品精品欲导航| 精品欧美乱码久久久久久1区2区| 亚洲精品精品亚洲| voyeur盗摄精品| www激情久久| 麻豆精品在线看| 欧美美女直播网站| 亚洲一线二线三线视频| 成人国产精品视频| 久久久www成人免费无遮挡大片| 日韩不卡一区二区| 欧美性猛片xxxx免费看久爱| 亚洲欧美日韩人成在线播放| 国产·精品毛片| 337p日本欧洲亚洲大胆精品| 麻豆精品一区二区综合av| 欧美日韩电影一区| 亚洲一区二区在线观看视频 | 波多野结衣欧美| 欧美激情一区二区三区不卡| 国产在线麻豆精品观看| 精品国产一区二区三区忘忧草 | 男人的j进女人的j一区| 欧美人伦禁忌dvd放荡欲情| 亚洲成人av在线电影| 欧美揉bbbbb揉bbbbb| 五月天丁香久久| 欧美日韩国产123区| 日韩国产精品久久久久久亚洲| 在线91免费看| 精品中文字幕一区二区| 日韩精品一区二区三区视频播放 | 欧洲精品一区二区| 亚洲一级电影视频| 欧美色综合久久| 日韩avvvv在线播放| 日韩欧美国产三级| 国产精品资源在线观看| 国产亚洲精品中文字幕| 成人a免费在线看| 亚洲精选一二三| 欧美日本一区二区| 精品一区二区三区在线播放视频| 亚洲精品一区二区精华| 国产成人在线免费观看| 中文字幕一区二区日韩精品绯色| 美国十次了思思久久精品导航| 欧美一区二区在线不卡| 麻豆精品一区二区av白丝在线| 久久精品人人做人人综合| 成人免费av网站| 亚洲国产乱码最新视频 | 亚洲人成人一区二区在线观看 | 亚洲观看高清完整版在线观看| 宅男噜噜噜66一区二区66| 国产在线精品一区二区不卡了 | 亚洲一区二区五区| 日韩精品一区二区三区在线| 成人免费视频一区| 亚洲成精国产精品女|