Class: LZMA::Filter::Delta
- Inherits:
-
LZMA::Filter
- Object
- LZMA::Filter
- LZMA::Filter::Delta
- Defined in:
- ext/extlzma2/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が有効でしょう。
しかし元のデータによっては圧縮効率を低下させることがあるため、実際に適用するべきかはデータの特性によって検証するのが好ましいです。
391 392 393 394 395 396 397 398 399 400 401 402 403 |
# File 'ext/extlzma2/filter.c', line 391
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;
}
|