From e1982906003ae2978ef55e4cad406670168bf94d Mon Sep 17 00:00:00 2001 From: akshayragir833 <110660198+akshayragir833@users.noreply.github.com> Date: Wed, 3 Sep 2025 14:47:39 +0530 Subject: [PATCH] Added a fix in the pvc path for decoder (#107) Significance: ============= - This change handles PVC path correctly for non-zero PVC modes - Addressed a minor nit in the usage information Testing: ======== - Conformance tested for x86, x86_64, armv7, armv8, Mac and MSVS --- README_dec.md | 4 ++-- decoder/ixheaacd_sbrdecoder.c | 6 +++--- test/decoder/ixheaacd_main.c | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/README_dec.md b/README_dec.md index 7e5331f..3db9320 100644 --- a/README_dec.md +++ b/README_dec.md @@ -205,8 +205,8 @@ where, is to indicate eSBR with PS. Default 0. is to enable/disable always interleaved to stereo output. Default 1. is to enable/disable down-sampled SBR output. Default auto identification from header. - is to set DRC cut factor value. Default value is 1 for USAC path and 0 for AAC path. - is to set DRC boost factor. Default value is 1 for USAC path and 0 for AAC path. + is to set DRC cut factor value. Default value is 1. + is to set DRC boost factor. Default value is 1. is to set DRC target reference level. Default value is 108. is to enable/disable DRC heavy compression. Default value is 0. is to set DRC effect type. Default value is 0. diff --git a/decoder/ixheaacd_sbrdecoder.c b/decoder/ixheaacd_sbrdecoder.c index 6f336fa..3db98fd 100644 --- a/decoder/ixheaacd_sbrdecoder.c +++ b/decoder/ixheaacd_sbrdecoder.c @@ -638,9 +638,9 @@ IA_ERRORCODE ixheaacd_applysbr( frame_status); } } else if (ptr_frame_data[k]->sbr_mode == PVC_SBR) { - frame_status = ixheaacd_sbr_read_pvc_sce(ptr_frame_data[k], it_bit_buff, 0, - self->ptr_pvc_data_str, - self->pstr_sbr_tables, ptr_header_data[k]); + frame_status = ixheaacd_sbr_read_pvc_sce( + ptr_frame_data[k], it_bit_buff, ptr_header_data[k]->hbe_flag, + self->ptr_pvc_data_str, self->pstr_sbr_tables, ptr_header_data[k]); if (frame_status < 0) return frame_status; } } diff --git a/test/decoder/ixheaacd_main.c b/test/decoder/ixheaacd_main.c index b28ceb8..30037b6 100644 --- a/test/decoder/ixheaacd_main.c +++ b/test/decoder/ixheaacd_main.c @@ -2326,10 +2326,8 @@ void print_usage() { printf("\n interleaved to stereo output. Default 1 "); printf("\n is to enable/disable down-sampled SBR "); printf("\n output. Default auto identification from header"); - printf("\n is to set DRC cut factor value. Default value is 1 for USAC path " - "and 0 for AAC path"); - printf("\n is to set DRC boost factor. Default value is 1 for USAC path " - "and 0 for AAC path"); + printf("\n is to set DRC cut factor value. Default value is 1"); + printf("\n is to set DRC boost factor. Default value is 1"); printf("\n is to set DRC target reference level."); printf("\n Default value is 108"); printf("\n is to enable / disable DRC heavy compression.");