gakonst icon

Untitled

gakonst | PRO | 01/01/18 10:27:37 PM UTC | 0 ⭐ | 7422 👁️ | Never ⏰ | []
MatLab |

1.39 KB

|

None

|

0 👍

/

0 👎

function [ vlcStream ] = vlc( runSymbols )
    % huffman table --> take each combination and encode in a  stream
    getTheGlobals;
    global d15a;
    global d15b;
    global d16a;
    global d16b;
    global d17a;
    global d17b;
    
    rows = size(runSymbols);
    % Col 1 = run length
    % Col 2 = level
    runLength = runSymbols(:, 1);
    level     = runSymbols(:, 2);
    
    ESCAPE_CODE = '000001';
    END_SEQ     = '10';
    vlcStream = [];
    %% Find row which has the keypair
    for i = 1:rows
        [tf, index]=ismember(d15a, runSymbols(i,:), 'rows');
        row = find(index);
        if ~isempty(row) % If found in table 15
            s = sign(level(i)) < 0;
            data = sprintf('%s%d', d15b{row}, s);
        else % Go to tables 16/17
            % Find row in RL tables
            [tf, index] = ismember(d16a, runLength(i), 'rows');
            row_length = find(index);
            
            % Find row in Levels tables
            [tf, index] = ismember(d17a, level(i), 'rows');
            row_level = find(index);
            
            % Concatenate with Escape code
            data = sprintf('%s%s%s',ESCAPE_CODE, d16b{row_length}, d17b{row_level} );
            
        end
 
        % Add to stream 
        vlcStream = [vlcStream data];      
        
    end
    
   % EOB
   vlcStream = [ vlcStream END_SEQ];
        
end

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎