Skip to content

Commit a9460ed

Browse files
authored
Merge pull request #143 from yilun-zhangs/main
bugfix: control_point_relative_time is converted from uint_8 to float…
2 parents 52cc02f + 4f3bf03 commit a9460ed

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

code/src/common/fixedp11_5.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ float q_to_float(q16_t q, int frac) {
2323
return ((float)q) * powf(2.0f, (float)-frac);
2424
}
2525

26+
float qf2float(qf_t qf, int frac) {
27+
return ((float)qf / (pow(2.0f, (float)frac)));
28+
}
29+
2630
float qf_to_float(qf_t qf, int frac) {
2731
return ((float)qf / (pow(2.0f, (float)frac) - 1.0)); // f = q / 255
2832
}

code/src/common/fixedp11_5.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ typedef uint8_t qf_t;
3333
float q_to_float(q16_t q, int frac);
3434

3535
/// Converts between double and q8_t
36+
// qf/2^frac
37+
float qf2float(qf_t qf, int frac);
38+
// q/(2^frac - 1)
3639
float qf_to_float(qf_t q, int frac);
3740

3841
float db2lin(float db);

code/src/iamf_dec/IAMF_OBU.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1195,7 +1195,7 @@ IAMF_Parameter *iamf_parameter_new(IAMF_OBU *obu,
11951195
mg->mix_gain_f.control = db2lin(gain1_db);
11961196
mg->mix_gain.control_relative_time = bs_getA8b(&b);
11971197
mg->mix_gain_f.control_relative_time =
1198-
qf_to_float(mg->mix_gain.control_relative_time, 8);
1198+
qf2float(mg->mix_gain.control_relative_time, 8);
11991199
ia_logd("\t mix gain seg %d: interval %" PRIu64
12001200
", bezier, start %f (%fdb "
12011201
"<0x%02x>), end %f (%fdb <0x%02x>), control %f (%fdb "

0 commit comments

Comments
 (0)