// 1 +12.04 dB
// 0 +6.02 dB
// -1 0 dB
// -2 -6.02 dB
// -3 -12.04 dB
// -4 -18.06 dB
// -5 -24.08 dB
// -6 -30.10 dB
// -7 -36.12 dB
// -8 -42.14 dB
$fourbit =
str_pad(decbin(($compre & 0xF0
) >> 4
), 4, '0', STR_PAD_LEFT
);
if ($fourbit[0
] == '1'
) { $log_gain = -8 +
bindec(substr($fourbit, 1
));
} else { $log_gain =
bindec(substr($fourbit, 1
));
} $log_gain =
($log_gain + 1
) * getid3_lib::
RGADamplitude2dB(2
);
// The value of Y is a linear representation of a gain change of up to -6 dB. Y is considered to
// be an unsigned fractional integer, with a leading value of 1, or: 0.1 Y4 Y5 Y6 Y7 (base 2). Y can
// represent values between 0.111112 (or 31/32) and 0.100002 (or 1/2). Thus, Y can represent gain
// changes from -0.28 dB to -6.02 dB.