libjpeg-ruby 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/ext/jpeg/jpeg.c +18 -21
  3. data/lib/jpeg/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8bd107f31f10ef4251f056cfc06e2c16082b1d5e42b98a6b810385a171f92991
4
- data.tar.gz: eef3261d6619e567a5b063ccd5c72468ab975b4fc80d693ebe49bc3531c76139
3
+ metadata.gz: 3523da7ee57f41d57b81fe97558564e0b0459c5977321ba88a298a450cd9273a
4
+ data.tar.gz: 103f379375f273f0f9a77109cc3dff8018779ce94837d2182e1e0ce50bb78213
5
5
  SHA512:
6
- metadata.gz: c8d4ce1bd5e96f70f26cc167282f1761c5085c0eb901df9c5b948d2ce6bd9aac8cb3006e4d17a28bbed1a7d6ef597dcbbb028529075839aca992ce2e5dd5e55a
7
- data.tar.gz: 4e4f0fc6e9a9ec579e50ad00f6f5558caf1753f689e1a5aea8fe7fe11bb188863cbd77f1706591a14532d77be92316b2eb16b912a835ac80bf18ae74952deb57
6
+ metadata.gz: fd38c818582812ce2ef404ade310846a5af944e2b05c2b16df4df66bf62dd3404c9c68c6508e65e8a603041ab6f0d21484d911680e967f7e11aa9ad94a7d2782
7
+ data.tar.gz: a05940b338d1660f90345c7eebdeea897629ac37c33949720cde9d4c4d5794eb73dcb0f1be568d078110185ffe223425e4f5cb61da10f3075dd63a6c1a1fe185
data/ext/jpeg/jpeg.c CHANGED
@@ -33,7 +33,6 @@
33
33
  #define F_APPLY_ORIENTATION 0x00000008
34
34
  #define F_DITHER 0x00000010
35
35
  #define F_CREAT 0x00010000
36
- #define F_START 0x00020000
37
36
 
38
37
  #define SET_FLAG(ptr, msk) ((ptr)->flags |= (msk))
39
38
  #define CLR_FLAG(ptr, msk) ((ptr)->flags &= ~(msk))
@@ -69,8 +68,8 @@
69
68
  #define IS_COLORMAPPED(ci) (((ci)->actual_number_of_colors > 0) &&\
70
69
  ((ci)->colormap != NULL) && \
71
70
  ((ci)->output_components == 1) && \
72
- (((ci)->out_color_components == 1) || \
73
- ((ci)->out_color_components == 3)))
71
+ (((ci)->out_color_components == 1) || \
72
+ ((ci)->out_color_components == 3)))
74
73
 
75
74
  #define ALLOC_ARRAY() \
76
75
  ((JSAMPARRAY)malloc(sizeof(JSAMPROW) * UNIT_LINES))
@@ -1217,6 +1216,7 @@ do_encode(VALUE _ptr)
1217
1216
  /*
1218
1217
  * when error occurred
1219
1218
  */
1219
+ jpeg_abort_compress(&ptr->cinfo);
1220
1220
  rb_raise(encerr_klass, "%s", ptr->err_mgr.msg);
1221
1221
 
1222
1222
  } else {
@@ -1224,7 +1224,6 @@ do_encode(VALUE _ptr)
1224
1224
  * normal path
1225
1225
  */
1226
1226
  jpeg_start_compress(&ptr->cinfo, TRUE);
1227
- SET_FLAG(ptr, F_START);
1228
1227
 
1229
1228
  if (ptr->orientation != 0) {
1230
1229
  put_exif_tags(ptr);
@@ -1240,6 +1239,8 @@ do_encode(VALUE _ptr)
1240
1239
  data += (ptr->stride * nrow);
1241
1240
  }
1242
1241
 
1242
+ jpeg_finish_compress(&ptr->cinfo);
1243
+
1243
1244
  /*
1244
1245
  * build return data
1245
1246
  */
@@ -1310,11 +1311,6 @@ rb_encoder_encode(VALUE self, VALUE data)
1310
1311
  /*
1311
1312
  * post process
1312
1313
  */
1313
- if (TEST_FLAG(ptr, F_START)) {
1314
- jpeg_finish_compress(&ptr->cinfo);
1315
- CLR_FLAG(ptr, F_START);
1316
- }
1317
-
1318
1314
  CLR_DATA(ptr);
1319
1315
 
1320
1316
  if (ptr->buf.mem != NULL) {
@@ -3548,11 +3544,12 @@ do_decode(VALUE _ptr)
3548
3544
  /*
3549
3545
  * when error occurred
3550
3546
  */
3547
+ jpeg_abort_decompress(&ptr->cinfo);
3551
3548
  rb_raise(decerr_klass, "%s", ptr->err_mgr.msg);
3552
3549
 
3553
3550
  } else {
3554
3551
  /*
3555
- * normal path
3552
+ * initialize
3556
3553
  */
3557
3554
  jpeg_mem_src(cinfo, data, size);
3558
3555
 
@@ -3563,6 +3560,9 @@ do_decode(VALUE _ptr)
3563
3560
  jpeg_read_header(cinfo, TRUE);
3564
3561
  jpeg_calc_output_dimensions(cinfo);
3565
3562
 
3563
+ /*
3564
+ * configuration
3565
+ */
3566
3566
  cinfo->raw_data_out = FALSE;
3567
3567
  cinfo->dct_method = ptr->dct_method;
3568
3568
 
@@ -3581,8 +3581,10 @@ do_decode(VALUE _ptr)
3581
3581
  cinfo->enable_external_quant = ptr->enable_external_quant;
3582
3582
  cinfo->enable_2pass_quant = ptr->enable_2pass_quant;
3583
3583
 
3584
+ /*
3585
+ * decode process
3586
+ */
3584
3587
  jpeg_start_decompress(cinfo);
3585
- SET_FLAG(ptr, F_START);
3586
3588
 
3587
3589
  stride = cinfo->output_components * cinfo->output_width;
3588
3590
  raw_sz = stride * cinfo->output_height;
@@ -3597,6 +3599,11 @@ do_decode(VALUE _ptr)
3597
3599
  jpeg_read_scanlines(cinfo, array, UNIT_LINES);
3598
3600
  }
3599
3601
 
3602
+ jpeg_finish_decompress(&ptr->cinfo);
3603
+
3604
+ /*
3605
+ * build return data
3606
+ */
3600
3607
  if (TEST_FLAG(ptr, F_EXPAND_COLORMAP) && IS_COLORMAPPED(cinfo)) {
3601
3608
  ret = expand_colormap(cinfo, raw);
3602
3609
  } else {
@@ -3658,16 +3665,6 @@ rb_decoder_decode(VALUE self, VALUE data)
3658
3665
  /*
3659
3666
  * post process
3660
3667
  */
3661
- if (TEST_FLAG(ptr, F_START)) {
3662
- if (state == 0) {
3663
- jpeg_finish_decompress(&ptr->cinfo);
3664
- } else {
3665
- jpeg_abort_decompress(&ptr->cinfo);
3666
- }
3667
-
3668
- CLR_FLAG(ptr, F_START);
3669
- }
3670
-
3671
3668
  CLR_DATA(ptr);
3672
3669
 
3673
3670
  if (state != 0) rb_jump_tag(state);
data/lib/jpeg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module JPEG
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libjpeg-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi Kuwagata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-31 00:00:00.000000000 Z
11
+ date: 2021-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler