JunkBox_Lib  1.10.2
jpeg_tool.h File Reference

JPEG TOOL HEADER. More...

#include "xtools.h"
#include "gdata.h"
#include <jpeglib.h>
Include dependency graph for jpeg_tool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  JPEGImage
 
struct  my_mem_destination_mgr
 

Typedefs

typedef my_mem_destination_mgrmy_mem_dest_ptr
 

Functions

JPEGImage read_jpeg_file (const char *fname)
 
int write_jpeg_file (const char *fname, JPEGImage *jp, int qulty)
 
int write_jpeg_mem (unsigned char **buf, unsigned long *len, JPEGImage *jp, int qulty)
 
WSGraph JPEGImage2WSGraph (JPEGImage jp)
 
BSGraph JPEGImage2BSGraph (JPEGImage jp)
 
JPEGImage WSGraph2JPEGImage (WSGraph vp)
 
JPEGImage BSGraph2JPEGImage (BSGraph vp)
 
JPEGImage make_JPEGImage (int xs, int ys, int col)
 
void free_JPEGImage (JPEGImage *jp)
 
 METHODDEF (void) mem_init_destination(j_compress_ptr cinfo)
 
 METHODDEF (boolean) mem_empty_output_buffer(j_compress_ptr cinfo)
 
 GLOBAL (void) jpeg_mem_dest(j_compress_ptr cinfo
 

Variables

unsigned char ** buf
 
unsigned char unsigned long * len
 

Detailed Description

Version
0.9
Date
2009 3/8
Author
Fumi.Iseki (C)
Attention
this software is based in part on the work of the Independent JPEG Group. http://www.ijg.org/
need libjpeg-turbo-devel

Definition in file jpeg_tool.h.

Typedef Documentation

◆ my_mem_dest_ptr

Definition at line 71 of file jpeg_tool.h.

Function Documentation

◆ BSGraph2JPEGImage()

JPEGImage BSGraph2JPEGImage ( BSGraph  vp)

JPEGImage BSGraph2JPEGImage(BSGraph vp)

Definition at line 325 of file jpeg_tool.c.

326 {
327  JPEGImage jp;
328  int i, j, k, yp, zp;
329 
330  memset(&jp, 0, sizeof(JPEGImage));
331  if (vp.gp==NULL) {
333  return jp;
334  }
335 
336  jp = make_JPEGImage(vp.xs, vp.ys, vp.zs);
337  if (jp.gp==NULL || jp.img==NULL) return jp;
338 
339  for (k=0; k<vp.zs; k++) {
340  zp = k*vp.xs*vp.ys;
341  for (j=0; j<vp.ys; j++) {
342  yp = zp + j*vp.xs;
343  for (i=0; i<vp.xs; i++) {
344  jp.img[j][i*vp.zs + k] = vp.gp[yp + i];
345  }
346  }
347  }
348 
349  return jp;
350 }
#define JBXL_GRAPH_NODATA_ERROR
データが無い
Definition: jbxl_state.h:171
JPEGImage make_JPEGImage(int xs, int ys, int col)
Definition: jpeg_tool.c:356
int zs
zサイズ. 4Byte. 2Dの場合は 1.
Definition: gdata.h:30
int xs
xサイズ. 4Byte.
Definition: gdata.h:28
uByte * gp
グラフィックデータへのポインタ. xs*ys*zs*1Byte.
Definition: gdata.h:32
int ys
yサイズ. 4Byte.
Definition: gdata.h:29
JSAMPLE * gp
Definition: jpeg_tool.h:53
int state
Definition: jpeg_tool.h:52
JSAMPARRAY img
Definition: jpeg_tool.h:54

References BSGraph::gp, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_NODATA_ERROR, make_JPEGImage(), JPEGImage::state, BSGraph::xs, BSGraph::ys, and BSGraph::zs.

Here is the call graph for this function:

◆ free_JPEGImage()

void free_JPEGImage ( JPEGImage jp)

void free_JPEGImage(JPEGImage* jp)

Definition at line 396 of file jpeg_tool.c.

397 {
398  if (jp==NULL) return;
399 
400  freeNull(jp->gp);
401  freeNull(jp->img);
402 
403  jp->xs = jp->ys = jp->col = 0;
404  return;
405 }
int xs
Definition: jpeg_tool.h:49
int ys
Definition: jpeg_tool.h:50
int col
Definition: jpeg_tool.h:51
#define freeNull(p)
Definition: tools.h:201

References JPEGImage::col, freeNull, JPEGImage::gp, JPEGImage::img, JPEGImage::xs, and JPEGImage::ys.

◆ GLOBAL()

GLOBAL ( void  )

◆ JPEGImage2BSGraph()

BSGraph JPEGImage2BSGraph ( JPEGImage  jp)

BSGraph JPEGImage2BSGraph(JPEGImage jp)

JPEGデータをチャンネル分解して,BSGraphに格納する.

Definition at line 262 of file jpeg_tool.c.

263 {
264  BSGraph vp;
265  int i, j, k, yp, zp;
266 
267  memset(&vp, 0, sizeof(BSGraph));
268  if (jp.gp==NULL || jp.img==NULL) {
270  return vp;
271  }
272 
273  vp = make_BSGraph(jp.xs, jp.ys, jp.col);
274  if (vp.gp==NULL) return vp;
275 
276  for (k=0; k<jp.col; k++) {
277  zp = k*jp.xs*jp.ys;
278  for (j=0; j<jp.ys; j++) {
279  yp = zp + j*jp.xs;
280  for (i=0; i<jp.xs; i++) {
281  vp.gp[yp + i] = (uByte)(jp.img[j][i*jp.col + k]); // チャンネルに分解
282  }
283  }
284  }
285 
286  vp.state = JBXL_NORMAL;
287  return vp;
288 }
unsigned char uByte
1Byte
Definition: common.h:332
BSGraph make_BSGraph(int xs, int ys, int zs)
Definition: gdata.c:66
#define JBXL_NORMAL
正常
Definition: jbxl_state.h:32
Definition: gdata.h:27
int state
状態
Definition: gdata.h:31

References JPEGImage::col, BSGraph::gp, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_NODATA_ERROR, JBXL_NORMAL, make_BSGraph(), BSGraph::state, JPEGImage::xs, and JPEGImage::ys.

Here is the call graph for this function:

◆ JPEGImage2WSGraph()

WSGraph JPEGImage2WSGraph ( JPEGImage  jp)

WSGraph JPEGImage2WSGraph(JPEGImage jp)

JPEGデータをチャンネル分解して,WSGraphに格納する.

Definition at line 228 of file jpeg_tool.c.

229 {
230  WSGraph vp;
231  int i, j, k, yp, zp;
232 
233  memset(&vp, 0, sizeof(WSGraph));
234  if (jp.gp==NULL || jp.img==NULL) {
236  return vp;
237  }
238 
239  vp = make_WSGraph(jp.xs, jp.ys, jp.col);
240  if (vp.gp==NULL) return vp;
241 
242  for (k=0; k<jp.col; k++) {
243  zp = k*jp.xs*jp.ys;
244  for (j=0; j<jp.ys; j++) {
245  yp = zp + j*jp.xs;
246  for (i=0; i<jp.xs; i++) {
247  vp.gp[yp + i] = (sWord)(jp.img[j][i*jp.col + k]); // チャンネルに分解
248  }
249  }
250  }
251 
252  vp.state = JBXL_NORMAL;
253  return vp;
254 }
short sWord
2Byte
Definition: common.h:335
WSGraph make_WSGraph(int xs, int ys, int zs)
Definition: gdata.c:108
Definition: gdata.h:42
int state
状態
Definition: gdata.h:46
sWord * gp
グラフィックデータへのポインタ. xs*ys*zs*2Byte.
Definition: gdata.h:47

References JPEGImage::col, WSGraph::gp, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_NODATA_ERROR, JBXL_NORMAL, make_WSGraph(), WSGraph::state, JPEGImage::xs, and JPEGImage::ys.

Here is the call graph for this function:

◆ make_JPEGImage()

JPEGImage make_JPEGImage ( int  xs,
int  ys,
int  col 
)

JPEGImage make_JPEGImage(int xs, int ys, int col)

Definition at line 356 of file jpeg_tool.c.

357 {
358  int j;
359  JPEGImage jp;
360 
361  memset(&jp, 0, sizeof(JPEGImage));
362  if (xs==0 || ys==0) {
364  return jp;
365  }
366  if (col<1) col = 3;
367 
368  jp.img = (JSAMPARRAY)malloc(sizeof(JSAMPROW)*ys);
369  if (jp.img==NULL) {
371  return jp;
372  }
373 
374  jp.gp = (JSAMPLE*)malloc(sizeof(JSAMPLE)*col*xs*ys);
375  if (jp.gp==NULL) {
376  freeNull(jp.img);
378  return jp;
379  }
380 
381  for (j=0; j<ys; j++) {
382  jp.img[j] = (JSAMPROW)&jp.gp[j*col*xs];
383  }
384 
385  jp.xs = xs;
386  jp.ys = ys;
387  jp.col = col;
388 
389  return jp;
390 }
#define JBXL_GRAPH_IVDARG_ERROR
無効な引数
Definition: jbxl_state.h:178
#define JBXL_GRAPH_MEMORY_ERROR
メモリエラー
Definition: jbxl_state.h:170

References JPEGImage::col, freeNull, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_IVDARG_ERROR, JBXL_GRAPH_MEMORY_ERROR, JPEGImage::state, JPEGImage::xs, and JPEGImage::ys.

Referenced by BSGraph2JPEGImage(), read_jpeg_file(), and WSGraph2JPEGImage().

Here is the caller graph for this function:

◆ METHODDEF() [1/2]

METHODDEF ( boolean  )

Definition at line 421 of file jpeg_tool.c.

422 {
423  size_t nextsize;
424  JOCTET * nextbuffer;
425  my_mem_dest_ptr dest = (my_mem_dest_ptr)cinfo->dest;
426 
427  nextsize = dest->bufsize * 2;
428  nextbuffer = (JOCTET*)malloc(nextsize);
429 
430  if (nextbuffer == NULL) return FALSE;
431 
432  memcpy(nextbuffer, dest->buffer, dest->bufsize);
433 
434  if (dest->newbuffer != NULL) free(dest->newbuffer);
435 
436  dest->newbuffer = nextbuffer;
437  dest->pub.next_output_byte = nextbuffer + dest->bufsize;
438  dest->pub.free_in_buffer = dest->bufsize;
439  dest->buffer = nextbuffer;
440  dest->bufsize = nextsize;
441 
442  return TRUE;
443 }
#define TRUE
Definition: common.h:226
#define FALSE
Definition: common.h:223
my_mem_destination_mgr * my_mem_dest_ptr
Definition: jpeg_tool.h:71
struct jpeg_destination_mgr pub
Definition: jpeg_tool.h:62
unsigned char * newbuffer
Definition: jpeg_tool.h:66

References my_mem_destination_mgr::buffer, my_mem_destination_mgr::bufsize, FALSE, my_mem_destination_mgr::newbuffer, my_mem_destination_mgr::pub, and TRUE.

◆ METHODDEF() [2/2]

METHODDEF ( void  )

Definition at line 415 of file jpeg_tool.c.

416 {
417  UNUSED(cinfo);
418 }
#define UNUSED(x)
Definition: common.h:264

References UNUSED.

◆ read_jpeg_file()

JPEGImage read_jpeg_file ( const char *  fname)

JPEGImage read_jpeg_file(const char* fname)

JPEGファイルを読み込んで,JPEGImage構造体へデータを格納する.

Parameters
fname読み込むファイル名
Returns
JPEGImage データ.gp==NULL の場合,state に情報が入る.
Return values
JBXL_GRAPH_OPFILE_ERRORstate: ファイルオープンエラー
JBXL_GRAPH_HEADER_ERRORstate: 不正ファイル(JPEGファイルでない?)
JBXL_GRAPH_MEMORY_ERRORstate: メモリエラー

Definition at line 31 of file jpeg_tool.c.

32 {
33  JPEGImage jp;
34  int xs, ys, col;
35  FILE* fp;
36 
37  struct jpeg_decompress_struct jdat;
38  struct jpeg_error_mgr jerr;
39 
40  memset(&jp, 0, sizeof(JPEGImage));
41 
42  jdat.err = jpeg_std_error(&jerr);
43  jpeg_create_decompress(&jdat);
44 
45  // エラーハンドラ
46 /* jdat.client_data = "Client Data";
47  jerr.error_exit = jpeg_error_exit;
48  //jerr.output_message = print_message;
49 */
50  fp = fopen(fname, "rb");
51  if (fp==NULL) {
53  return jp;
54  }
55  jpeg_stdio_src(&jdat, fp);
56  jpeg_read_header(&jdat, TRUE);
57  jpeg_start_decompress(&jdat);
58 
59  xs = jdat.output_width;
60  ys = jdat.output_height;
61  col = jdat.output_components;
62  if (xs<=0 || ys<=0 || col<=0) {
63  jpeg_destroy_decompress(&jdat);
64  fclose(fp);
66  return jp;
67  }
68 
69  jp = make_JPEGImage(xs, ys, col);
70  if (jp.gp==NULL) {
71  jpeg_destroy_decompress(&jdat);
72  fclose(fp);
74  return jp;
75  }
76 
77  int rmn = jdat.output_height;
78  while(rmn>0) {
79  jpeg_read_scanlines(&jdat, jp.img+jdat.output_scanline, rmn);
80  rmn = jdat.output_height - jdat.output_scanline;
81  }
82  jpeg_finish_decompress (&jdat);
83  jpeg_destroy_decompress(&jdat);
84 
85  fclose(fp);
86 
87  return jp;
88 }
#define JBXL_GRAPH_OPFILE_ERROR
ファイルのオープンエラー
Definition: jbxl_state.h:173
#define JBXL_GRAPH_HEADER_ERROR
画像ヘッダーのエラー
Definition: jbxl_state.h:169

References JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, make_JPEGImage(), JPEGImage::state, and TRUE.

Here is the call graph for this function:

◆ write_jpeg_file()

int write_jpeg_file ( const char *  fname,
JPEGImage jp,
int  qulty 
)

int write_jpeg_file(const char* fname, JPEGImage* jp, int qulty)

jp の画像データを fnameに書き出す.

Parameters
fnameファイル名
jp保存する JPEGデータ
qulty保存のクオリティ 0-100 100が最高画質
Return values
0正常終了
JBXL_GRAPH_OPFILE_ERRORファイルオープンエラー
JBXL_GRAPH_HEADER_ERROR不正ファイル(JPEGファイルでない?)
JBXL_GRAPH_MEMORY_ERRORメモリエラー
JBXL_GRAPH_NODATA_ERRORjp にデータが無い
JBXL_GRAPH_IVDARH_ERRORファイル名が NULL
JBXL_GRAPH_IVDCOLOR_ERRORサポート外のチャンネル数(現在の所チャンネル数は 1か 3のみをサポート)

Definition at line 108 of file jpeg_tool.c.

109 {
110  FILE* fp;
111  struct jpeg_compress_struct jdat;
112  struct jpeg_error_mgr jerr;
113 
114 
115  if (fname==NULL) return JBXL_GRAPH_IVDARG_ERROR;
116  if (jp->col!=1 && jp->col!=3) return JBXL_GRAPH_IVDCOLOR_ERROR;
117  if (jp->gp==NULL || jp->img==NULL) return JBXL_GRAPH_NODATA_ERROR;
118 
119  if (qulty>100) qulty = 100;
120  else if (qulty<0) qulty = 0;
121 
122 
123  fp = fopen(fname, "wb");
124  if (fp==NULL) {
126  }
127 
128  jdat.err = jpeg_std_error(&jerr);
129  jpeg_create_compress(&jdat);
130 
131  // エラーハンドラ
132 /* jdat.client_data = "Client Data";
133  jerr.error_exit = jpeg_error_exit;
134  //jerr.output_message = print_message;
135 */
136  jpeg_stdio_dest(&jdat, fp);
137 
138  jdat.image_width = jp->xs;
139  jdat.image_height = jp->ys;
140  jdat.input_components = jp->col;
141  if (jp->col==1) jdat.in_color_space = JCS_GRAYSCALE;
142  else jdat.in_color_space = JCS_RGB;
143 
144  jpeg_set_quality (&jdat, qulty, TRUE);
145  jpeg_set_defaults(&jdat);
146 
147  jpeg_start_compress (&jdat, TRUE);
148  jpeg_write_scanlines(&jdat, jp->img, jp->ys);
149  jpeg_finish_compress(&jdat);
150 
151  jpeg_destroy_compress(&jdat);
152  fclose(fp);
153 
154  return 0;
155 }
#define JBXL_GRAPH_IVDCOLOR_ERROR
無効なカラー指定
Definition: jbxl_state.h:183

References JPEGImage::col, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_IVDARG_ERROR, JBXL_GRAPH_IVDCOLOR_ERROR, JBXL_GRAPH_NODATA_ERROR, JBXL_GRAPH_OPFILE_ERROR, TRUE, JPEGImage::xs, and JPEGImage::ys.

◆ write_jpeg_mem()

int write_jpeg_mem ( unsigned char **  buf,
unsigned long *  len,
JPEGImage jp,
int  qulty 
)

int write_jpeg_mem(unsigned char** buf, unsigned long* len, JPEGImage* jp, int qulty)

jp の画像データを *bufに書き出す.*bufは要 free

Parameters
[out]buf画像データが格納される.要 free
[out]lenbuf の長さ(Byte)が格納される.
jp保存する JPEGデータ
qulty保存のクオリティ 0〜100 100が最高画質
Return values
JBXL_GRAPH_OPFILE_ERRORファイルオープンエラー
JBXL_GRAPH_HEADER_ERROR不正ファイル(JPEGファイルでない?)
JBXL_GRAPH_MEMORY_ERRORメモリエラー
JBXL_GRAPH_NODATA_ERRORjp にデータが無い
JBXL_GRAPH_IVDARG_ERRORbuf が NULL
JBXL_GRAPH_IVDCOLOR_ERRORサポート外のチャンネル数(現在の所チャンネル数は 1か 3のみをサポート)

Definition at line 175 of file jpeg_tool.c.

176 {
177  struct jpeg_compress_struct jdat;
178  struct jpeg_error_mgr jerr;
179 
180  if (buf==NULL || len==NULL) return JBXL_GRAPH_IVDARG_ERROR;
181  if (jp->col!=1 && jp->col!=3) return JBXL_GRAPH_IVDCOLOR_ERROR;
182  if (jp->gp==NULL || jp->img==NULL) return JBXL_GRAPH_NODATA_ERROR;
183 
184  *len = jp->xs*jp->ys*jp->col;
185  if (*len<=0) return JBXL_GRAPH_IVDARG_ERROR;
186 
187  if (qulty>100) qulty = 100;
188  else if (qulty<0) qulty = 0;
189 
190  *buf = (unsigned char*)malloc(*len);
191  if (*buf==NULL) {
193  }
194 
195  jdat.err = jpeg_std_error(&jerr);
196  jpeg_create_compress(&jdat);
197 
198  jpeg_mem_dest(&jdat, buf, len);
199 
200  jdat.image_width = jp->xs;
201  jdat.image_height = jp->ys;
202  jdat.input_components = jp->col;
203  if (jp->col==1) jdat.in_color_space = JCS_GRAYSCALE;
204  else jdat.in_color_space = JCS_RGB;
205 
206  jpeg_set_quality (&jdat, qulty, TRUE);
207  jpeg_set_defaults(&jdat);
208 
209  jpeg_start_compress (&jdat, TRUE);
210  jpeg_write_scanlines(&jdat, jp->img, jp->ys);
211  jpeg_finish_compress(&jdat);
212  jpeg_destroy_compress(&jdat);
213 
214  if (*len<=0) {
215  freeNull(*buf);
216  return JBXL_GRAPH_ERROR;
217  }
218 
219  return 0;
220 }
#define JBXL_GRAPH_ERROR
GRAPH ライブラリーのエラー
Definition: jbxl_state.h:167
unsigned char ** buf
Definition: jpeg_tool.h:96
unsigned char unsigned long * len
Definition: jpeg_tool.h:96

References buf, JPEGImage::col, freeNull, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_ERROR, JBXL_GRAPH_IVDARG_ERROR, JBXL_GRAPH_IVDCOLOR_ERROR, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_NODATA_ERROR, len, TRUE, JPEGImage::xs, and JPEGImage::ys.

◆ WSGraph2JPEGImage()

JPEGImage WSGraph2JPEGImage ( WSGraph  vp)

JPEGImage WSGraph2JPEGImage(WSGraph vp)

Definition at line 294 of file jpeg_tool.c.

295 {
296  JPEGImage jp;
297  int i, j, k, yp, zp;
298 
299  memset(&jp, 0, sizeof(JPEGImage));
300  if (vp.gp==NULL) {
302  return jp;
303  }
304 
305  jp = make_JPEGImage(vp.xs, vp.ys, vp.zs);
306  if (jp.gp==NULL || jp.img==NULL) return jp;
307 
308  for (k=0; k<vp.zs; k++) {
309  zp = k*vp.xs*vp.ys;
310  for (j=0; j<vp.ys; j++) {
311  yp = zp + j*vp.xs;
312  for (i=0; i<vp.xs; i++) {
313  jp.img[j][i*vp.zs + k] = vp.gp[yp + i];
314  }
315  }
316  }
317 
318  return jp;
319 }
int zs
zサイズ. 4Byte. 2Dの場合は 1.
Definition: gdata.h:45
int xs
xサイズ. 4Byte.
Definition: gdata.h:43
int ys
yサイズ. 4Byte.
Definition: gdata.h:44

References WSGraph::gp, JPEGImage::gp, JPEGImage::img, JBXL_GRAPH_NODATA_ERROR, make_JPEGImage(), JPEGImage::state, WSGraph::xs, WSGraph::ys, and WSGraph::zs.

Here is the call graph for this function:

Variable Documentation

◆ buf

unsigned char** buf

Definition at line 96 of file jpeg_tool.h.

Referenced by _DER_parse_children(), _json_to_Buffer(), _replace_all_node_byid_rcsv(), _replace_all_node_contents_rcsv(), _xml_to_Buffer(), add_form_urlenc(), add_indent_Buffer(), asn1_print_tag_value(), awk(), awk_Buffer(), awk_Buffer_dim(), awk_Buffer_tList(), bin2int_DER(), buffer_key_tList(), buffer_key_value_tList(), cat_b2Buffer(), cat_Buffer(), cawk(), cawk_Buffer(), cawk_Buffer_dim(), cawk_Buffer_tList(), check_auth(), check_server_spki(), chomp(), command_KEYEX(), command_USERID(), comp_hostport(), copy_b2Buffer(), copy_Buffer(), count_lines(), cut_str(), decode_base64(), decode_base64_filename(), decode_EVPAPI_Buffer(), decode_mime_rfc2047(), decode_mime_rfc2231(), decode_mime_string(), decode_quoted_printable(), decode_runlength(), decode_urlenc(), decomp_hostport(), decompline_Buffer_dim(), del_Buffer(), del_Buffer_dim(), DER_parse(), double_bs(), dump_Buffer(), dup_Buffer(), dup_str(), encode_base64(), encode_base64_Buffer(), encode_base64_filename(), encode_base64_filename_Buffer(), encode_EVPAPI_Buffer(), encode_mime_string(), encode_quoted_printable(), encode_runlength(), encode_urlenc(), encrypt_Base64(), encrypt_Buffer(), erase_bBuffer(), expand_Buffer(), fgets_mstream_Buffer(), file_from_to(), fp_from_to(), free_Buffer(), get_Buffer_dim_tList(), get_Buffer_dim_tList_value(), get_Buffer_from_json(), get_Buffer_join_tList(), get_Buffer_ringBuffer(), get_comment(), get_crypt_Buffer(), get_crypt_message(), get_crypt_sBuffer(), get_DER_size(), get_dir_files(), get_double_param_tList(), get_float_param_tList(), get_gmt_timestamp(), get_http_header_date(), get_http_version_num(), get_int_param_tList(), get_jp2k_format(), get_line(), get_line_Buffer(), get_local_timestamp(), get_mime_boundary(), get_mime_filename(), get_plain_Buffer(), get_plain_message(), get_plain_sBuffer(), get_protocol_header_list(), get_protocol_header_list_file(), get_protocol_header_list_seq(), get_runlength_byte(), get_seq_data(), get_seq_data_Buffer(), get_sip_via_address(), get_str_join_tList(), get_str_param_tList(), get_tiff_ifd(), get_tList_line_Buffer(), get_tList_seq_data_Buffer(), get_xml_double_attr(), get_xml_double_attr_bystr(), get_xml_int_attr(), get_xml_int_attr_bystr(), GLOBAL(), gz_decode_gzfp(), gz_encode_file(), gz_encode_gzfp(), init_Buffer(), insert_sip_via(), isText_Buffer(), join_Buffer_dim(), json_append_array_key(), json_append_obj_key(), json_inverse_parse(), json_inverse_parse_opt(), json_parse_file(), json_parse_seq(), json_set_str_val(), llsd_bin_get_bin(), llsd_bin_get_block_data(), llsd_bin_get_length(), llsd_bin_get_skin_weight(), llsd_bin_get_str(), llsd_bin_get_uuid(), llsd_xml_contain_key(), llsd_xml_get_content_bin(), llsd_xml_get_content_int(), llsd_xml_get_content_real(), llsd_xml_get_content_str(), make_Buffer(), make_Buffer_bychar(), make_Buffer_randomstr(), make_form_urlenc(), make_xml_attr_bydouble(), make_xml_attr_byfloat(), make_xml_attr_byint(), make_xml_attr_bystr(), new_Buffer(), node2DER(), pack_Buffer(), pop_char_ringStack(), print_json(), print_json_opt(), print_xml(), proc_tiff_ifd(), push_char_ringStack(), put_Buffer_ringBuffer(), read_Buffer2_format_fp(), read_Buffer_data(), read_Buffer_file(), read_Buffer_format_fp(), read_file(), read_lines_Buffer(), read_ras_data(), read_tagged_Buffer(), read_tiff_file(), rebuild_http_Buffer(), recalc_strlen_Buffer(), recv_http_Buffer(), recv_http_chunked(), recv_http_chunked_remain(), recv_http_closed(), recv_http_content(), recv_http_file(), recv_mesg_until_end(), replace_char(), replace_item_tList_node(), replace_sBuffer_bystr(), replace_sBuffer_file(), replace_sip_contact(), replace_sip_via(), replace_str(), replace_value_tList_node(), restore_protocol_contents(), restore_protocol_header(), restore_sdp_body(), return_exist_node(), rewrite_Buffer_bychar(), rewrite_sBuffer_bystr(), save_Buffer2_format_fp(), save_Buffer_file(), save_Buffer_format_fp(), save_http_xml(), save_tagged_Buffer(), search_protocol_header(), search_protocol_header_item(), search_protocol_header_partvalue(), search_protocol_header_value(), send_algor_recv_spki(), send_command_recv_ans(), send_http_Buffer(), send_http_file(), send_http_header(), send_http_res_file(), set_Buffer(), set_DER_node(), set_http_host_header(), set_item_tList_node(), set_value_tList_node(), simple_web_proxy(), ssl_get_cert_info(), ssl_recv_lines_Buffer(), ssl_send_mesgln(), ssl_send_sBufferln(), ssl_tcp_recv_Buffer_tosize(), ssl_tcp_recv_Buffer_tosize_wait(), ssl_tcp_recv_lines_Buffer(), ssl_tcp_send_mesgln(), ssl_tcp_send_sBufferln(), strstrcase(), tcp_recv_Buffer_tosize(), tcp_recv_Buffer_tosize_wait(), tcp_recv_crypt_Buffer(), tcp_recv_lines_Buffer(), tcp_relay(), tcp_send_crypt_Buffer(), tcp_send_crypt_mesg(), tcp_send_crypt_sBuffer(), tcp_send_mesgln(), tcp_send_sBufferln(), udp_recv_crypt_Buffer(), udp_recv_crypt_Buffer_sockaddr_in(), udp_send_crypt_Buffer(), udp_send_crypt_Buffer_sockaddr_in(), write_file(), write_jpeg_mem(), write_ras_file_obit(), www2browser_relay(), xml_attr_to_Buffer(), xml_close_node_Buffer(), xml_inverse_parse(), xml_open_node_Buffer(), xml_parse_file(), and xml_rpc_request_pack().

◆ len

unsigned char unsigned long* len

Definition at line 96 of file jpeg_tool.h.

Referenced by _DER_parse_children(), _get_hostname(), _get_localip_bydest(), _json_parse_term(), _next_strncasecmp_horizon_tTree(), _next_strncasecmp_vertical_tTree(), _next_strncmp_horizon_tTree(), _next_strncmp_vertical_tTree(), add_indent_Buffer(), add_xml_content_area(), buffer_key_value_tList(), bvh_parse_motion(), cat_b2Buffer(), check_salt(), chomp(), chomp_Buffer(), copy_b2Buffer(), cut_file_extension(), cut_str(), decode_base64(), decode_base64_filename(), decode_mime_rfc2047(), decode_mime_string(), decode_quoted_printable(), decode_runlength(), decode_urlenc(), del_file_extension(), del_file_name(), double_bs(), dup_str(), encode_base64(), encode_base64_Buffer_bin(), encode_base64_filename(), encode_EVPAPI_Buffer(), encode_quoted_printable(), encode_runlength(), encode_urlenc(), erase_bBuffer(), ex_strncasecmp(), ex_strncaservscmp(), ex_strncmp(), ex_strnrvscmp(), expand_Buffer(), extract_tTar(), fdump(), fprint_message(), get_DER_size(), get_file_extension(), get_file_name(), get_file_path(), get_hostname_bynum(), get_hostname_bystr(), get_ipaddr_byname(), get_localip_bydest(), get_mstream(), get_myipaddr(), get_myipaddr_num(), get_mynetaddr(), get_mynetaddr_num(), get_runlength_byte(), get_tiff_ascii_field(), get_tiff_double_field(), get_tiff_uint_field(), GLOBAL(), hexstr2i(), ins_b2Buffer(), is_number(), is_same_network_num(), is_same_sockaddr(), json_append_array_str_val(), json_append_obj_str_val(), json_array_parse(), json_parse_prop(), llsd_bin_get_skin_weight(), make_sockaddr_bynum(), node2DER(), numbering_name(), pack_char_len(), print_16x(), print_errfile(), print_logfile(), print_message(), put_mstream(), read_png_file(), recalc_strlen_Buffer(), recv_http_Buffer(), recv_http_content(), recv_http_file(), recv_http_header(), replace_all_tTree_node(), replace_char(), replace_str(), search_protocol_header_value(), set_Buffer(), set_DER_node(), simple_web_proxy(), strncasecmp_back_tList(), strncasecmp_tList(), strncasecmp_tTree(), strncaservscmp_back_tList(), strncaservscmp_tList(), strncmp_back_tList(), strncmp_tList(), strncmp_tTree(), strnrvscmp_back_tList(), strnrvscmp_tList(), strstr_back_tList(), strstr_tList(), strstrcase_back_tList(), strstrcase_tList(), to_address_num(), write_jpeg_mem(), write_png_file(), and www2browser_relay().