Seperate MBE Payload Printing from MBE Saving
Seperate MBE Payload Printing from MBE Saving --seperate the MBE Payload Printing functions from MBE Saving Function --no longer need to use -d ./MBE/ to print a MBE Payload --is currently using -Z for payload printing, may further seperate, make new user switch in future
This commit is contained in:
parent
1d30d5ec32
commit
e69451b0d7
|
|
@ -676,6 +676,7 @@ void skipDibit (dsd_opts * opts, dsd_state * state, int count);
|
|||
void saveImbe4400Data (dsd_opts * opts, dsd_state * state, char *imbe_d);
|
||||
void saveAmbe2450Data (dsd_opts * opts, dsd_state * state, char *ambe_d);
|
||||
void PrintAMBEData (dsd_opts * opts, dsd_state * state, char *ambe_d);
|
||||
void PrintIMBEData (dsd_opts * opts, dsd_state * state, char *imbe_d);
|
||||
int readImbe4400Data (dsd_opts * opts, dsd_state * state, char *imbe_d);
|
||||
int readAmbe2450Data (dsd_opts * opts, dsd_state * state, char *ambe_d);
|
||||
void openMbeInFile (dsd_opts * opts, dsd_state * state);
|
||||
|
|
|
|||
|
|
@ -118,6 +118,10 @@ if (state->currentslot == 1 && state->K > 0 && state->dmr_soR & 0x40 && state->p
|
|||
//
|
||||
if (state->currentslot == 0)
|
||||
{
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf(stderr, "\n"); //line break for AMBE printer
|
||||
}
|
||||
for(Frame = 0; Frame < 6; Frame++) //6
|
||||
{
|
||||
/* 1 DMR frame contains 3 AMBE voice samples */
|
||||
|
|
@ -132,30 +136,19 @@ if (state->currentslot == 0)
|
|||
TSVoiceSupFrameL->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i],
|
||||
state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintAMBEData(opts, state, TSVoiceSupFrameL->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i]);
|
||||
}
|
||||
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveAmbe2450Data (opts, state, TSVoiceSupFrameL->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i]);
|
||||
}
|
||||
if (opts->errorbars == 1)
|
||||
{
|
||||
//fprintf(stderr, "%s", state->err_str);
|
||||
}
|
||||
|
||||
state->debug_audio_errors += *errs2;
|
||||
//
|
||||
//fprintf (stderr, "%X", TSVoiceSupFrameL->TimeSlotDeinterleavedVoiceFrame[Frame].DeInterleavedVoiceSample[i] ); //this set up right?
|
||||
//
|
||||
/*
|
||||
fprintf (stderr, "\nInt RVD ");
|
||||
for (short o = 0; o < 36; o++)
|
||||
{
|
||||
fprintf (stderr, "%X", TSVoiceSupFrameL->TimeSlotDeinterleavedVoiceFrame[Frame].DeInterleavedVoiceSample[i][o] );
|
||||
}
|
||||
*/
|
||||
//wny do I have this running twice for?
|
||||
//processAudio(opts, state);
|
||||
|
||||
processAudio(opts, state);
|
||||
//playSynthesizedVoice (opts, state);
|
||||
|
||||
if (opts->wav_out_f != NULL)
|
||||
{
|
||||
|
|
@ -173,6 +166,10 @@ if (state->currentslot == 0)
|
|||
|
||||
if (state->currentslot == 1)
|
||||
{
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf(stderr, "\n"); //line break for AMBE printer
|
||||
}
|
||||
for(Frame = 0; Frame < 6; Frame++)
|
||||
{
|
||||
/* 1 DMR frame contains 3 AMBE voice samples */
|
||||
|
|
@ -187,28 +184,20 @@ if (state->currentslot == 0)
|
|||
TSVoiceSupFrameR->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i],
|
||||
state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
|
||||
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintAMBEData(opts, state, TSVoiceSupFrameR->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i]);
|
||||
}
|
||||
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveAmbe2450Data (opts, state, TSVoiceSupFrameR->TimeSlotAmbeVoiceFrame[Frame].AmbeBit[i]);
|
||||
}
|
||||
if (opts->errorbars == 1)
|
||||
{
|
||||
//fprintf(stderr, "%s", state->err_str);
|
||||
}
|
||||
|
||||
state->debug_audio_errors += *errs2;
|
||||
//
|
||||
//fprintf (stderr, "%X", TSVoiceSupFrameR->TimeSlotDeinterleavedVoiceFrame[Frame].DeInterleavedVoiceSample[i] ); //this set up right?
|
||||
//
|
||||
/*
|
||||
fprintf (stderr, "\nInt RVD ");
|
||||
for (short o = 0; o < 36; o++)
|
||||
{
|
||||
fprintf (stderr, "%X", TSVoiceSupFrameR->TimeSlotDeinterleavedVoiceFrame[Frame].DeInterleavedVoiceSample[i][o] );
|
||||
}
|
||||
*/
|
||||
|
||||
processAudio(opts, state);
|
||||
//playSynthesizedVoice (opts, state);
|
||||
|
||||
if (opts->wav_out_f != NULL)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,8 +30,7 @@ saveImbe4400Data (dsd_opts * opts, dsd_state * state, char *imbe_d)
|
|||
k = 0;
|
||||
if (opts->payload == 1) //make opt variable later on to toggle this
|
||||
{
|
||||
fprintf(stderr, "\n IMBE ");
|
||||
//fprintf(stderr, "ALGID=%X KEYID=%X\n", state->payload_algid, state->payload_keyid);
|
||||
//fprintf(stderr, "\n IMBE ");
|
||||
}
|
||||
|
||||
for (i = 0; i < 11; i++)
|
||||
|
|
@ -46,13 +45,13 @@ saveImbe4400Data (dsd_opts * opts, dsd_state * state, char *imbe_d)
|
|||
}
|
||||
if (opts->payload == 1) //make opt variable later on to toggle this
|
||||
{
|
||||
fprintf (stderr, "%02X", b);
|
||||
//fprintf (stderr, "%02X", b);
|
||||
}
|
||||
fputc (b, opts->mbe_out_f);
|
||||
}
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf(stderr, " err = [%X] [%X] ", state->errs, state->errs2);
|
||||
//fprintf(stderr, " err = [%X] [%X] ", state->errs, state->errs2);
|
||||
}
|
||||
fflush (opts->mbe_out_f);
|
||||
}
|
||||
|
|
@ -70,7 +69,7 @@ saveAmbe2450Data (dsd_opts * opts, dsd_state * state, char *ambe_d)
|
|||
k = 0;
|
||||
if (opts->payload == 1) //make opt variable later on to toggle this
|
||||
{
|
||||
fprintf(stderr, "\n AMBE ");
|
||||
//fprintf(stderr, "\n AMBE ");
|
||||
}
|
||||
//for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < 7; i++) //using 7 seems to break older amb files where it was 6, need to test 7 on 7 some more
|
||||
|
|
@ -84,24 +83,60 @@ saveAmbe2450Data (dsd_opts * opts, dsd_state * state, char *ambe_d)
|
|||
}
|
||||
if (opts->payload == 1 && i < 6) //make opt variable later on to toggle this
|
||||
{
|
||||
fprintf (stderr, "%02X", b);
|
||||
//fprintf (stderr, "%02X", b);
|
||||
}
|
||||
if (opts->payload == 1 && i == 6) //7th octet should only contain 1 bit? value will be either 0x00 or 0x80?
|
||||
{
|
||||
fprintf (stderr, "%02X", b & 0x80); //7th octet should only contain 1 bit?
|
||||
//fprintf (stderr, "%02X", b & 0x80); //7th octet should only contain 1 bit?
|
||||
}
|
||||
|
||||
fputc (b, opts->mbe_out_f);
|
||||
}
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf(stderr, " err = [%X] [%X] ", state->errs, state->errs2);
|
||||
//fprintf(stderr, " err = [%X] [%X] ", state->errs, state->errs2);
|
||||
}
|
||||
b = ambe_d[48];
|
||||
fputc (b, opts->mbe_out_f);
|
||||
fflush (opts->mbe_out_f);
|
||||
}
|
||||
|
||||
void
|
||||
PrintIMBEData (dsd_opts * opts, dsd_state * state, char *imbe_d) //for P25P1 and ProVoice
|
||||
{
|
||||
int i, j, k;
|
||||
unsigned char b;
|
||||
unsigned char err;
|
||||
|
||||
err = (unsigned char) state->errs2;
|
||||
k = 0;
|
||||
if (opts->payload == 1) //print IMBE info
|
||||
{
|
||||
fprintf(stderr, "\n IMBE ");
|
||||
}
|
||||
for (i = 0; i < 11; i++)
|
||||
{
|
||||
b = 0;
|
||||
for (j = 0; j < 8; j++)
|
||||
{
|
||||
b = b << 1;
|
||||
b = b + imbe_d[k];
|
||||
k++;
|
||||
}
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf (stderr, "%02X", b);
|
||||
}
|
||||
}
|
||||
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
fprintf(stderr, " err = [%X] [%X] ", state->errs, state->errs2);
|
||||
}
|
||||
|
||||
//fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
void
|
||||
PrintAMBEData (dsd_opts * opts, dsd_state * state, char *ambe_d) //For DMR Stereo, may use this for NXDN too
|
||||
{
|
||||
|
|
@ -111,10 +146,15 @@ PrintAMBEData (dsd_opts * opts, dsd_state * state, char *ambe_d) //For DMR Stere
|
|||
|
||||
err = (unsigned char) state->errs2;
|
||||
k = 0;
|
||||
if (opts->payload == 1 && opts->dmr_stereo == 1) //print AMBE info from DMR Stereo method
|
||||
if (opts->dmr_stereo == 0)
|
||||
{
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
if (opts->payload == 1) //print AMBE info from DMR Stereo method
|
||||
{
|
||||
fprintf(stderr, " AMBE ");
|
||||
}
|
||||
|
||||
for (i = 0; i < 7; i++) //using 7 seems to break older amb files where it was 6, need to test 7 on 7 some more
|
||||
{
|
||||
b = 0;
|
||||
|
|
@ -139,7 +179,11 @@ PrintAMBEData (dsd_opts * opts, dsd_state * state, char *ambe_d) //For DMR Stere
|
|||
}
|
||||
else fprintf(stderr, " err = [%X] [%X] ", state->errsR, state->errs2R);
|
||||
b = ambe_d[48];
|
||||
fprintf (stderr, "\n");
|
||||
if (opts->dmr_stereo == 1)
|
||||
{
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
|||
|
|
@ -142,28 +142,38 @@ processMbeFrame (dsd_opts * opts, dsd_state * state, char imbe_fr[8][23], char a
|
|||
// 1 -P25p1
|
||||
|
||||
mbe_processImbe7200x4400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, imbe_fr, imbe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
//mbe_processImbe7200x4400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, imbe_fr, processed_block, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintIMBEData (opts, state, imbe_d);
|
||||
}
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveImbe4400Data (opts, state, imbe_d);
|
||||
}
|
||||
{
|
||||
saveImbe4400Data (opts, state, imbe_d);
|
||||
}
|
||||
}
|
||||
else if ((state->synctype == 14) || (state->synctype == 15))
|
||||
{
|
||||
mbe_processImbe7100x4400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, imbe7100_fr, imbe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintIMBEData (opts, state, imbe_d);
|
||||
}
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveImbe4400Data (opts, state, imbe_d);
|
||||
}
|
||||
{
|
||||
saveImbe4400Data (opts, state, imbe_d);
|
||||
}
|
||||
}
|
||||
else if ((state->synctype == 6) || (state->synctype == 7))
|
||||
{
|
||||
mbe_processAmbe3600x2400Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, ambe_fr, ambe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintAMBEData (opts, state, ambe_d);
|
||||
}
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveAmbe2450Data (opts, state, ambe_d);
|
||||
}
|
||||
{
|
||||
saveAmbe2450Data (opts, state, ambe_d);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -223,11 +233,14 @@ processMbeFrame (dsd_opts * opts, dsd_state * state, char imbe_fr[8][23], char a
|
|||
PrintAMBEData (opts, state, ambe_d);
|
||||
}
|
||||
}
|
||||
//if using older DMR method, dPMR, etc
|
||||
//if using older DMR method, dPMR, NXDN?
|
||||
if (opts->dmr_stereo == 0)
|
||||
{
|
||||
mbe_processAmbe3600x2450Framef (state->audio_out_temp_buf, &state->errs, &state->errs2, state->err_str, ambe_fr, ambe_d, state->cur_mp, state->prev_mp, state->prev_mp_enhanced, opts->uvquality);
|
||||
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
PrintAMBEData (opts, state, ambe_d);
|
||||
}
|
||||
if (opts->mbe_out_f != NULL)
|
||||
{
|
||||
saveAmbe2450Data (opts, state, ambe_d);
|
||||
|
|
|
|||
|
|
@ -143,6 +143,10 @@ void processNXDNVoice (dsd_opts * opts, dsd_state * state)
|
|||
y++;
|
||||
z++;
|
||||
}
|
||||
if (opts->payload == 1)
|
||||
{
|
||||
//fprintf(stderr, "\n");
|
||||
}
|
||||
processMbeFrame (opts, state, NULL, ambe_fr, NULL);
|
||||
|
||||
} /* End for (j = 0; j < 4; j++) */
|
||||
|
|
|
|||
Loading…
Reference in New Issue