Logo Search packages:      
Sourcecode: librasterlite version File versions  Download package

local int speck_process_I ( int **  channel,
int  channel_size,
pixel_set I,
linked_list **  LIS_slots,
linked_list LSP,
bit_buffer bb,
int  threshold 
)

Process set of type 'I'

This function encodes set I using speck_encode_I function.

Parameters:
channelChannel
channel_sizeChannel size
ISet of type I
LIS_slotsArray of LIS slots
LSPList of Significant Pixels
bbBit-buffer
thresholdThreshold
Returns:
Either BIT_BUFFER_OK or BIT_BUFFER_OVERFLOW

Definition at line 571 of file speck.c.

References BIT_BUFFER_OK, RETURN_IF_OVERFLOW, significance_test(), speck_encode_I(), pixel_set_tag::type, TYPE_EMPTY, write_0, and write_1.

Referenced by encode_sorting_pass(), and speck_encode_I().

{
    int result;
    int st;

    /* Skip over empty sets */
    if (I->type == TYPE_EMPTY) {
        return BIT_BUFFER_OK;
    }

    /* Test the set for significance */
    st = significance_test(I, threshold, channel, channel_size);

    result = st ? write_1(bb) : write_0(bb);
    RETURN_IF_OVERFLOW(result);

    if (st) {
        /* Encode set of type 'I' */
        result = speck_encode_I(channel, channel_size, I,
                                LIS_slots, LSP, bb, threshold);

        RETURN_IF_OVERFLOW(result);
    }

    return BIT_BUFFER_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index