How to convert bitstream to packets and bitxor them

3 views (last 30 days)
Toan
Toan on 14 Nov 2014
I have to convert a bit stream file such as name `BL.264` source file . Now I want to parse the file into packets with packet size is 50 bytes. After that, I want to implement bit XOR between first packet and second packet. To do it, I will use `fread` and `bitxor` functions. However, I have some issues:
  1. If size of file is not divisible by packet sizes, we must add some padding at the end of final packet, *Right?* If it is correct. How to do it by matlab?"Error using reshapeProduct of known dimensions, 50, not divisible into total number of elements, 594704."
  2. The bitxor supports xor bitwise that have limit length. In my case, packet size is 50 bytes, it is impossible to bitxor two packet. How to resolve that problem.
Let see my code. If have any problem, let me know
fid=fopen('BL.264','r');
bytelist=fread(fid,'*uint8')';
bitexpanded = dec2bin(bytelist(:), 8) - '0';
bitstream = reshape( bitexpanded.', [],50);
xorPacket=bitxor(bitstream(1,:),bitstream(2,:))
fclose(fid);

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!