Class: LZMA::Filter::Delta
- Inherits:
-
LZMA::Filter
- Object
- LZMA::Filter
- LZMA::Filter::Delta
- Defined in:
- ext/filter.c
Instance Method Summary collapse
-
#initialize(dist = LZMA::DELTA_DIST_MIN) ⇒ Object
constructor
差分フィルタ設定オブジェクトを返します。.
Methods inherited from LZMA::Filter
Constructor Details
#initialize(dist = LZMA::DELTA_DIST_MIN) ⇒ Object
差分フィルタ設定オブジェクトを返します。
distは1要素あたりのバイト長で、1以上255以下を指定できます。
- NOTE
-
使用する場合多くの場合1で十分と思われますが、音楽CDの音声データであれば1サンプル2バイトであるため2が有効でしょう。
しかし元のデータによっては圧縮効率を低下させることがあるため、実際に適用するべきかはデータの特性によって検証するのが好ましいです。
378 379 380 381 382 383 384 385 386 387 388 389 390 391 |
# File 'ext/filter.c', line 378
static VALUE
delta_init(int argc, VALUE argv[], VALUE self)
{
lzma_filter *filter = extlzma_getfilter(self);
lzma_options_delta *delta = ALLOC(lzma_options_delta);
memset(delta, 0, sizeof(*delta));
VALUE preset = Qnil;
rb_scan_args(argc, argv, "01", &preset);
delta->type = LZMA_DELTA_TYPE_BYTE;
delta->dist = NIL_P(preset) ? LZMA_DELTA_DIST_MIN : NUM2UINT(preset);
filter->options = delta;
return self;
}
|