|
FFmpeg
|
Codebook Generator using the ELBG algorithm. More...
#include <string.h>#include "libavutil/avassert.h"#include "libavutil/common.h"#include "libavutil/lfg.h"#include "elbg.h"#include "avcodec.h"Classes | |
| struct | cell_s |
| In the ELBG jargon, a cell is the set of points that are closest to a codebook entry. More... | |
| struct | elbg_data |
| ELBG internal data. More... | |
Macros | |
| #define | DELTA_ERR_MAX 0.1 |
| Precision of the ELBG algorithm (as percentage error) | |
| #define | BIG_PRIME 433494437LL |
Typedefs | |
| typedef struct cell_s | cell |
| In the ELBG jargon, a cell is the set of points that are closest to a codebook entry. More... | |
| typedef struct elbg_data | elbg_data |
| ELBG internal data. | |
Functions | |
| int | avpriv_init_elbg (int *points, int dim, int numpoints, int *codebook, int numCB, int max_steps, int *closest_cb, AVLFG *rand_state) |
| Initialize the **codebook vector for the elbg algorithm. More... | |
| int | avpriv_do_elbg (int *points, int dim, int numpoints, int *codebook, int numCB, int max_steps, int *closest_cb, AVLFG *rand_state) |
| Implementation of the Enhanced LBG Algorithm Based on the paper "Neural Networks 14:1219-1237" that can be found in http://citeseer.ist.psu.edu/patan01enhanced.html . More... | |
Codebook Generator using the ELBG algorithm.
In the ELBG jargon, a cell is the set of points that are closest to a codebook entry.
Not to be confused with a RoQ Video cell.
| int avpriv_do_elbg | ( | int * | points, |
| int | dim, | ||
| int | numpoints, | ||
| int * | codebook, | ||
| int | numCB, | ||
| int | num_steps, | ||
| int * | closest_cb, | ||
| AVLFG * | rand_state | ||
| ) |
Implementation of the Enhanced LBG Algorithm Based on the paper "Neural Networks 14:1219-1237" that can be found in http://citeseer.ist.psu.edu/patan01enhanced.html .
| points | Input points. |
| dim | Dimension of the points. |
| numpoints | Num of points in **points. |
| codebook | Pointer to the output codebook. Must be allocated. |
| numCB | Number of points in the codebook. |
| num_steps | The maximum number of steps. One step is already a good compromise between time and quality. |
| closest_cb | Return the closest codebook to each point. Must be allocated. |
| rand_state | A random number generator state. Should be already initialized by av_lfg_init(). |
| int avpriv_init_elbg | ( | int * | points, |
| int | dim, | ||
| int | numpoints, | ||
| int * | codebook, | ||
| int | numCB, | ||
| int | num_steps, | ||
| int * | closest_cb, | ||
| AVLFG * | rand_state | ||
| ) |
Initialize the **codebook vector for the elbg algorithm.
If you have already a codebook and you want to refine it, you shouldn't call this function. If numpoints < 8*numCB this function fills **codebook with random numbers. If not, it calls avpriv_do_elbg for a (smaller) random sample of the points in **points. Get the same parameters as avpriv_do_elbg.
1.8.12