fix(LDPCdecoder): Cleanup segment decoder interface

Variables 'harq_pid', 'ulsch_id' and 'C' of the segment decoder
interface were not used any more by the implementations and set to zero
by all the callers.
Then it is more relevant and compliant to remove them.
This commit is contained in:
Romain Beurdouche
2025-08-08 14:48:41 +00:00
parent eb3bd33fd4
commit d702bcd657
6 changed files with 8 additions and 23 deletions
-3
View File
@@ -352,9 +352,6 @@ one_measurement_t test_ldpc(short max_iterations,
set_abort(&dec_abort, false);
n_iter = ldpc_toCompare.LDPCdecoder(&decParams[j],
0,
0,
0,
(int8_t *)channel_output_fixed[j],
(int8_t *)estimated_output[j],
&decoder_profiler,
@@ -215,8 +215,7 @@ static void nr_process_decode_segment(void *arg)
//////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////// pl =====> llrProcBuf //////////////////////////////////
int decodeIterations =
LDPCdecoder(p_decoderParms, 0, 0, 0, l, llrProcBuf, p_procTime, rdata->abort_decode);
int decodeIterations = LDPCdecoder(p_decoderParms, l, llrProcBuf, p_procTime, rdata->abort_decode);
if (decodeIterations < p_decoderParms->numMaxIter) {
memcpy(rdata->c, llrProcBuf, K >> 3);
@@ -170,9 +170,6 @@ int32_t LDPCshutdown()
}
int32_t LDPCdecoder(t_nrLDPC_dec_params* p_decParams,
uint8_t harq_pid,
uint8_t ulsch_id,
uint8_t C,
int8_t* p_llr,
int8_t* p_out,
t_nrLDPC_time_stats* p_profiler,
@@ -339,9 +339,6 @@ int32_t LDPCinit()
}
int32_t LDPCdecoder(t_nrLDPC_dec_params *p_decParams,
uint8_t harq_pid,
uint8_t ulsch_id,
uint8_t C,
int8_t *p_llr,
int8_t *p_out,
t_nrLDPC_time_stats *time_decoder,
@@ -506,9 +506,6 @@ extern "C" void LDPCshutdown()
}
extern "C" int32_t LDPCdecoder(t_nrLDPC_dec_params *p_decParams,
uint8_t harq_pid,
uint8_t ulsch_id,
uint8_t C,
int8_t *p_llr,
int8_t *p_out,
t_nrLDPC_time_stats *,
+7 -9
View File
@@ -29,7 +29,7 @@
\brief LDPC encoder parameter structure
\var n_segments number of segments in the transport block
\var first_seg index of the first segment of the subset to encode
within the transport block
within the transport block
\var gen_code flag to generate parity check code
0 -> encoding
1 -> generate parity check code with AVX2
@@ -52,8 +52,8 @@
*/
typedef struct {
unsigned int n_segments; // optim8seg
unsigned int first_seg; // optim8segmulti
unsigned char gen_code; //orig
unsigned int first_seg; // optim8segmulti
unsigned char gen_code; // orig
time_stats_t *tinput;
time_stats_t *tprep;
time_stats_t *tparity;
@@ -75,22 +75,20 @@ typedef struct {
typedef int32_t(LDPC_initfunc_t)(void);
typedef int32_t(LDPC_shutdownfunc_t)(void);
// decoder interface
/**
\brief LDPC decoder API type definition
\param p_decParams LDPC decoder parameters
\param p_llr Input LLRs
\param p_llrOut Output vector
\param p_profiler LDPC profiler statistics
\param time_stats time statistics
\param ab structure shared between tasks to stop all the tasks if one fails
*/
typedef int32_t(LDPC_decoderfunc_t)(t_nrLDPC_dec_params *p_decParams,
uint8_t harq_pid,
uint8_t ulsch_id,
uint8_t C,
int8_t *p_llr,
int8_t *p_out,
t_nrLDPC_time_stats *,
t_nrLDPC_time_stats *time_stats,
decode_abort_t *ab);
typedef int32_t(LDPC_encoderfunc_t)(uint8_t **, uint8_t *, encoder_implemparams_t *);