00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef _QA_ATSC_SINGLE_VITERBI_H
00024
#define _QA_ATSC_SINGLE_VITERBI_H
00025
00026
#include <cppunit/TestCase.h>
00027
#include <cppunit/TestCaller.h>
00028
#include <cppunit/TestSuite.h>
00029
#include <cppunit/TextTestResult.h>
00030
00031
#include <atsc_single_viterbi.h>
00032
#include <atsc_basic_trellis_encoder.h>
00033
00034 class qa_atsc_single_viterbi :
public CppUnit::TestCase {
00035
private:
00036 atsc_single_viterbi decoder;
00037 atsc_basic_trellis_encoder encoder;
00038
00039
public:
00040
00041 static void register_tests (CppUnit::TestSuite *suite)
00042 {
00043 suite->addTest (
new CppUnit::TestCaller<qa_atsc_single_viterbi>
00044 (
"single_viterbi: t0", &
qa_atsc_single_viterbi::t0));
00045 suite->addTest (
new CppUnit::TestCaller<qa_atsc_single_viterbi>
00046 (
"single_viterbi: t1", &
qa_atsc_single_viterbi::t1));
00047 }
00048
00049
private:
00050
00051
void t0 ();
00052
void t1 ();
00053
void encode_block(
unsigned char *out,
unsigned char *in,
unsigned n);
00054
void decode_block(
unsigned char *out,
unsigned char *in,
unsigned n,
float noise_factor);
00055
float noise ();
00056
00057 };
00058
00059
#endif