## schrowavelet

schrowavelet

## Synopsis

    #define             SCHRO_N_WAVELETS
    void                schro_wavelet_transform_2d          (SchroFrameData *fd,
                                                             int type,
                                                             int16_t *tmp);
    void                schro_wavelet_inverse_transform_2d  (SchroFrameData *fd,
                                                             int type,
                                                             int16_t *tmp);
    void                schro_split_ext_desl93              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_split_ext_53                  (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_split_ext_135                 (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_split_ext_haar                (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_split_ext_fidelity            (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_split_ext_daub97              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_desl93              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_53                  (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_135                 (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_haar                (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_fidelity            (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_synth_ext_daub97              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);
    void                schro_iwt_desl_9_3                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_5_3                       (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_13_5                      (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_haar0                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_haar1                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_haar2                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_fidelity                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iwt_daub_9_7                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_desl_9_3                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_5_3                      (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_13_5                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_haar0                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_haar1                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_haar2                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_fidelity                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);
    void                schro_iiwt_daub_9_7                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

## Description

## Details

### SCHRO_N_WAVELETS

    #define SCHRO_N_WAVELETS 7

### schro_wavelet_transform_2d ()

    void                schro_wavelet_transform_2d          (SchroFrameData *fd,
                                                             int type,
                                                             int16_t *tmp);

`fd` : |
`type` : |
`tmp` : |

### schro_wavelet_inverse_transform_2d ()

    void                schro_wavelet_inverse_transform_2d  (SchroFrameData *fd,
                                                             int type,
                                                             int16_t *tmp);

`fd` : |
`type` : |
`tmp` : |

### schro_split_ext_desl93 ()

    void                schro_split_ext_desl93              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

Performs an in-place Deslauries 9,3 wavelet transformation on the arrays `hi` and `lo` containing the even and odd components of the array to be transformed. This function reads and writes to the memory locations immediately adjacent to the array, in order to handle edge extension.

`hi` : | array of even components / high subband components
`lo` : | array of odd components / low subband components
`n` : | number of

### schro_split_ext_53 ()

    void                schro_split_ext_53                  (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_split_ext_135 ()

    void                schro_split_ext_135                 (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_split_ext_haar ()

    void                schro_split_ext_haar                (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_split_ext_fidelity ()

    void                schro_split_ext_fidelity            (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_split_ext_daub97 ()

    void                schro_split_ext_daub97              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_desl93 ()

    void                schro_synth_ext_desl93              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_53 ()

    void                schro_synth_ext_53                  (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_135 ()

    void                schro_synth_ext_135                 (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_haar ()

    void                schro_synth_ext_haar                (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_fidelity ()

    void                schro_synth_ext_fidelity            (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_synth_ext_daub97 ()

    void                schro_synth_ext_daub97              (int16_t *hi,
                                                             int16_t *lo,
                                                             int n);

`hi` : |
`lo` : |
`n` : |

### schro_iwt_desl_9_3 ()

    void                schro_iwt_desl_9_3                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_5_3 ()

    void                schro_iwt_5_3                       (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_13_5 ()

    void                schro_iwt_13_5                      (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_haar0 ()

    void                schro_iwt_haar0                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_haar1 ()

    void                schro_iwt_haar1                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_haar2 ()

    void                schro_iwt_haar2                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_fidelity ()

    void                schro_iwt_fidelity                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iwt_daub_9_7 ()

    void                schro_iwt_daub_9_7                  (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_desl_9_3 ()

    void                schro_iiwt_desl_9_3                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_5_3 ()

    void                schro_iiwt_5_3                      (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_13_5 ()

    void                schro_iiwt_13_5                     (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_haar0 ()

    void                schro_iiwt_haar0                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_haar1 ()

    void                schro_iiwt_haar1                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_haar2 ()

    void                schro_iiwt_haar2                    (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_fidelity ()

    void                schro_iiwt_fidelity                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |

### schro_iiwt_daub_9_7 ()

    void                schro_iiwt_daub_9_7                 (int16_t *data,
                                                             int stride,
                                                             int width,
                                                             int height,
                                                             int16_t *tmp);

`data` : |
`stride` : |
`width` : |
`height` : |
`tmp` : |