Changeset 5504 for experimental/components/Packetizer/trunk/Packetizer-metadata/src/PacketizerDSP.cpp
- Timestamp:
- 10/24/07 14:45:39 (6 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
experimental/components/Packetizer/trunk/Packetizer-metadata/src/PacketizerDSP.cpp
r5492 r5504 49 49 packet_header_length = NUM_CONTROL_CODES*PN_CONTROL_CODE_LENGTH; 50 50 51 buf1 = new char[MAX_PACKET_SIZE];52 buf2 = new char[MAX_PACKET_SIZE];51 buf1 = new unsigned char[MAX_PACKET_SIZE]; 52 buf2 = new unsigned char[MAX_PACKET_SIZE]; 53 53 buf_len = MAX_PACKET_SIZE; 54 54 … … 106 106 } 107 107 108 void PacketizerBase::SetBuffer( char *_b1,char *_b2, unsigned int _len)108 void PacketizerBase::SetBuffer(unsigned char *_b1, unsigned char *_b2, unsigned int _len) 109 109 { 110 110 buf1 = _b1; … … 220 220 // Completely constructs and encodes a packet from raw data bits 221 221 bool PacketEncoder::CreatePacket( 222 char* input,223 unsigned int input_length, 224 unsigned int &num_read, 225 char* output,222 unsigned char* input, 223 unsigned int input_length, 224 unsigned int &num_read, 225 unsigned char* output, 226 226 unsigned int output_length, 227 227 unsigned int &num_written) … … 251 251 // Completely finds and decodes a packet from raw data 252 252 bool PacketDecoder::ExtractPacket( 253 char* input,254 unsigned int input_length, 255 unsigned int &num_read, 256 char* output,253 unsigned char* input, 254 unsigned int input_length, 255 unsigned int &num_read, 256 unsigned char* output, 257 257 unsigned int output_length, 258 258 unsigned int &num_written) … … 417 417 // Assemble packet and store in output buffer 418 418 bool PacketEncoder::AssemblePacket( 419 char* input,420 unsigned int input_length, 421 unsigned int &num_read, 422 char* output,419 unsigned char* input, 420 unsigned int input_length, 421 unsigned int &num_read, 422 unsigned char* output, 423 423 unsigned int output_length, 424 424 unsigned int &num_written) … … 472 472 // Encode subheader 473 473 bool PacketEncoder::EncodeSubheader( 474 char* output,474 unsigned char* output, 475 475 unsigned int output_length, 476 476 unsigned int &num_written) … … 492 492 // Encode subheader for PACKET_RAW_400 493 493 bool PacketEncoder::EncodeSubheader_PACKET_RAW_400( 494 char* output,494 unsigned char* output, 495 495 unsigned int output_length, 496 496 unsigned int &num_written) … … 518 518 // Encode subheader for PACKET_RS_512 519 519 bool PacketEncoder::EncodeSubheader_PACKET_RS_512( 520 char* output,520 unsigned char* output, 521 521 unsigned int output_length, 522 522 unsigned int &num_written) … … 564 564 // 2. compute CRC and append to end of message 565 565 FastCrc crc(0x04c11db7); 566 for (unsigned int i=0; i<16; i++) 566 for (unsigned int i=0; i<16; i++) { 567 printf("crc - buf1[%d] = %d\n", i, buf1[i]); 567 568 crc.PutByte(buf1[i]); 569 } 568 570 UINT32 crc_code = crc.Done(); 569 571 std::cout << "crc (encoder): 0x" << std::hex << crc_code << std::endl; … … 574 576 buf1[19] = (crc_code >> 24 ) & 0xFF; 575 577 for (unsigned int i=0; i<4; i++) 576 printf("crc[%d] = %d\n", i, (unsigned int) (buf1[16+i]));578 printf("crc[%d] = %d\n", i, buf1[16+i]); 577 579 578 580 // 3. repack 20 8-bit symbols (+2 bits) into 27 6-bit symbols … … 593 595 void *rs; 594 596 rs = init_rs_char(symsize,0x43,1,1,nroots,0); 595 encode_rs_char(rs, (unsigned char*) buf1, (unsigned char*)&buf1[kk]);597 encode_rs_char(rs, buf1, &buf1[kk]); 596 598 597 599 // 5. unpack to output buffer … … 603 605 604 606 bool PacketDecoder::FindHeader( 605 char* input,607 unsigned char* input, 606 608 unsigned int input_length, 607 609 unsigned int &num_bits_read) … … 634 636 635 637 bool PacketDecoder::ExtractHeader( 636 char* input,637 unsigned int input_length, 638 unsigned int &num_read, 639 char* output,638 unsigned char* input, 639 unsigned int input_length, 640 unsigned int &num_read, 641 unsigned char* output, 640 642 unsigned int output_length, 641 643 unsigned int &num_written) … … 663 665 // decode control codes to describe packet type 664 666 bool PacketDecoder::DecodeHeader( 665 char* input,667 unsigned char* input, 666 668 unsigned int input_length) 667 669 { … … 688 690 689 691 bool PacketDecoder::ExtractSubheader( 690 char* input,691 unsigned int input_length, 692 unsigned int &num_read, 693 char* output,692 unsigned char* input, 693 unsigned int input_length, 694 unsigned int &num_read, 695 unsigned char* output, 694 696 unsigned int output_length, 695 697 unsigned int &num_written) … … 717 719 // 718 720 bool PacketDecoder::DecodeSubheader( 719 char* input,721 unsigned char* input, 720 722 unsigned int input_length) 721 723 { … … 735 737 // 736 738 bool PacketDecoder::DecodeSubheader_PACKET_RAW_400( 737 char* input,739 unsigned char* input, 738 740 unsigned int input_length) 739 741 { … … 755 757 756 758 bool PacketDecoder::DecodeSubheader_PACKET_RS_512( 757 char* input,759 unsigned char* input, 758 760 unsigned int input_length) 759 761 { … … 773 775 rs = init_rs_char(symsize,0x43,1,1,nroots,0); 774 776 int nerrors(0); 775 nerrors = decode_rs_char(rs, (unsigned char*)buf2, 0, 0);777 nerrors = decode_rs_char(rs, buf2, 0, 0); 776 778 777 779 // 3. repack 27 6-bit symbols (-2 bits) to 20 8-bit symbols … … 783 785 // 4. decode and compare CRC 784 786 FastCrc crc(0x04c11db7); 785 for (unsigned int i=0; i<16; i++) 787 for (unsigned int i=0; i<16; i++) { 788 printf("crc - buf2[%d] = %d\n", i, buf2[i]); 786 789 crc.PutByte( buf2[i] ); 790 } 787 791 UINT32 crc_code = crc.Done(); 792 std::cout << " crc_code = 0x" << crc_code << std::endl; 788 793 UINT32 crc_rx(0); 789 794 for (unsigned int i=0; i<4; i++) 790 printf("crc[%d] = %d\n", i, (unsigned char) (buf2[16+i]));795 printf("crc[%d] = %d\n", i, buf2[16+i]); 791 796 for (unsigned int i=0; i<4; i++) { 792 797 crc_rx <<= 8; … … 853 858 854 859 bool PacketDecoder::ExtractPacketData( 855 char* input,856 unsigned int input_length, 857 unsigned int &num_read, 858 char* output,860 unsigned char* input, 861 unsigned int input_length, 862 unsigned int &num_read, 863 unsigned char* output, 859 864 unsigned int output_length, 860 865 unsigned int &num_written) … … 874 879 875 880 bool PacketDecoder::ExtractPacketDataDynamicLength( 876 char* input,877 unsigned int input_length, 878 unsigned int &num_read, 879 char* output,881 unsigned char* input, 882 unsigned int input_length, 883 unsigned int &num_read, 884 unsigned char* output, 880 885 unsigned int output_length, 881 886 unsigned int &num_written) … … 890 895 891 896 bool PacketDecoder::ExtractPacketDataFixedLength( 892 char* input,893 unsigned int input_length, 894 unsigned int &num_read, 895 char* output,897 unsigned char* input, 898 unsigned int input_length, 899 unsigned int &num_read, 900 unsigned char* output, 896 901 unsigned int output_length, 897 902 unsigned int &num_written) … … 920 925 // 921 926 bool PacketEncoder::EncodePacketData( 922 char* input,923 unsigned int input_length, 924 unsigned int &num_read, 925 char* output,927 unsigned char* input, 928 unsigned int input_length, 929 unsigned int &num_read, 930 unsigned char* output, 926 931 unsigned int output_length, 927 932 unsigned int &num_written) … … 951 956 952 957 bool PacketEncoder::EncodePacketData_PACKET_RAW_400( 953 char* input,954 unsigned int input_length, 955 unsigned int &num_read, 956 char* output,958 unsigned char* input, 959 unsigned int input_length, 960 unsigned int &num_read, 961 unsigned char* output, 957 962 unsigned int output_length, 958 963 unsigned int &num_written) … … 967 972 968 973 bool PacketEncoder::EncodePacketData_PACKET_RS_512( 969 char* input,970 unsigned int input_length, 971 unsigned int &num_read, 972 char* output,974 unsigned char* input, 975 unsigned int input_length, 976 unsigned int &num_read, 977 unsigned char* output, 973 978 unsigned int output_length, 974 979 unsigned int &num_written) … … 1007 1012 1008 1013 // apply encoder 1009 encode_rs_char(rs, (unsigned char*) &buf1[nw], (unsigned char*)&buf1[nw+kk]);1014 encode_rs_char(rs, &buf1[nw], &buf1[nw+kk]); 1010 1015 nr += kk; 1011 1016 nw += nn; … … 1021 1026 // 1022 1027 bool PacketDecoder::DecodePacketData( 1023 char* input,1024 unsigned int input_length, 1025 unsigned int &num_read, 1026 char* output,1028 unsigned char* input, 1029 unsigned int input_length, 1030 unsigned int &num_read, 1031 unsigned char* output, 1027 1032 unsigned int output_length, 1028 1033 unsigned int &num_written) … … 1049 1054 1050 1055 bool PacketDecoder::DecodePacketData_PACKET_RAW_400( 1051 char* input,1052 unsigned int input_length, 1053 unsigned int &num_read, 1054 char* output,1056 unsigned char* input, 1057 unsigned int input_length, 1058 unsigned int &num_read, 1059 unsigned char* output, 1055 1060 unsigned int output_length, 1056 1061 unsigned int &num_written) … … 1064 1069 1065 1070 bool PacketDecoder::DecodePacketData_PACKET_RS_512( 1066 char* input,1067 unsigned int input_length, 1068 unsigned int &num_read, 1069 char* output,1071 unsigned char* input, 1072 unsigned int input_length, 1073 unsigned int &num_read, 1074 unsigned char* output, 1070 1075 unsigned int output_length, 1071 1076 unsigned int &num_written) … … 1092 1097 for (unsigned int i=0; i<12; i++) { 1093 1098 // apply decoder (no erasure knowledge) 1094 nerrors = decode_rs_char(rs, (unsigned char*)&buf2[nr], 0, 0);1099 nerrors = decode_rs_char(rs, &buf2[nr], 0, 0); 1095 1100 nerrors_total = nerrors_total + nerrors; 1096 1101