mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-02-03 10:43:09 +00:00
lavc/elbg: rename ff_ symbols to avpriv_, so they can be used in shared libs
In particular, allows the use of elbg in other FFmpeg libraries, required by the pending elbg filter.
This commit is contained in:
parent
255302da70
commit
fe55c31976
@ -338,8 +338,8 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
buf = pkt->data;
|
buf = pkt->data;
|
||||||
|
|
||||||
/* calc optimal new charset + charmaps */
|
/* calc optimal new charset + charmaps */
|
||||||
ff_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
|
avpriv_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
|
||||||
ff_do_elbg (meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
|
avpriv_do_elbg (meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
|
||||||
|
|
||||||
/* create colorram map and a c64 readable charset */
|
/* create colorram map and a c64 readable charset */
|
||||||
render_charset(avctx, charset, colram);
|
render_charset(avctx, charset, colram);
|
||||||
|
@ -324,7 +324,7 @@ static void do_shiftings(elbg_data *elbg)
|
|||||||
|
|
||||||
#define BIG_PRIME 433494437LL
|
#define BIG_PRIME 433494437LL
|
||||||
|
|
||||||
void ff_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
void avpriv_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
||||||
int numCB, int max_steps, int *closest_cb,
|
int numCB, int max_steps, int *closest_cb,
|
||||||
AVLFG *rand_state)
|
AVLFG *rand_state)
|
||||||
{
|
{
|
||||||
@ -339,8 +339,8 @@ void ff_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
|||||||
memcpy(temp_points + i*dim, points + k*dim, dim*sizeof(int));
|
memcpy(temp_points + i*dim, points + k*dim, dim*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
ff_init_elbg(temp_points, dim, numpoints/8, codebook, numCB, 2*max_steps, closest_cb, rand_state);
|
avpriv_init_elbg(temp_points, dim, numpoints/8, codebook, numCB, 2*max_steps, closest_cb, rand_state);
|
||||||
ff_do_elbg(temp_points, dim, numpoints/8, codebook, numCB, 2*max_steps, closest_cb, rand_state);
|
avpriv_do_elbg(temp_points, dim, numpoints/8, codebook, numCB, 2*max_steps, closest_cb, rand_state);
|
||||||
|
|
||||||
av_free(temp_points);
|
av_free(temp_points);
|
||||||
|
|
||||||
@ -351,7 +351,7 @@ void ff_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_do_elbg(int *points, int dim, int numpoints, int *codebook,
|
void avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook,
|
||||||
int numCB, int max_steps, int *closest_cb,
|
int numCB, int max_steps, int *closest_cb,
|
||||||
AVLFG *rand_state)
|
AVLFG *rand_state)
|
||||||
{
|
{
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
* @param closest_cb Return the closest codebook to each point. Must be allocated.
|
* @param closest_cb Return the closest codebook to each point. Must be allocated.
|
||||||
* @param rand_state A random number generator state. Should be already initialized by av_lfg_init().
|
* @param rand_state A random number generator state. Should be already initialized by av_lfg_init().
|
||||||
*/
|
*/
|
||||||
void ff_do_elbg(int *points, int dim, int numpoints, int *codebook,
|
void avpriv_do_elbg(int *points, int dim, int numpoints, int *codebook,
|
||||||
int numCB, int num_steps, int *closest_cb,
|
int numCB, int num_steps, int *closest_cb,
|
||||||
AVLFG *rand_state);
|
AVLFG *rand_state);
|
||||||
|
|
||||||
@ -45,10 +45,10 @@ void ff_do_elbg(int *points, int dim, int numpoints, int *codebook,
|
|||||||
* Initialize the **codebook vector for the elbg algorithm. If you have already
|
* 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.
|
* 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 numpoints < 8*numCB this function fills **codebook with random numbers.
|
||||||
* If not, it calls ff_do_elbg for a (smaller) random sample of the points in
|
* If not, it calls avpriv_do_elbg for a (smaller) random sample of the points in
|
||||||
* **points. Get the same parameters as ff_do_elbg.
|
* **points. Get the same parameters as avpriv_do_elbg.
|
||||||
*/
|
*/
|
||||||
void ff_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
void avpriv_init_elbg(int *points, int dim, int numpoints, int *codebook,
|
||||||
int numCB, int num_steps, int *closest_cb,
|
int numCB, int num_steps, int *closest_cb,
|
||||||
AVLFG *rand_state);
|
AVLFG *rand_state);
|
||||||
|
|
||||||
|
@ -118,8 +118,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
}
|
}
|
||||||
// try to find optimal value to fill whole 4x4 block
|
// try to find optimal value to fill whole 4x4 block
|
||||||
score = 0;
|
score = 0;
|
||||||
ff_init_elbg(c->block, 3, 16, c->avg, 1, 1, c->output, &c->rnd);
|
avpriv_init_elbg(c->block, 3, 16, c->avg, 1, 1, c->output, &c->rnd);
|
||||||
ff_do_elbg (c->block, 3, 16, c->avg, 1, 1, c->output, &c->rnd);
|
avpriv_do_elbg (c->block, 3, 16, c->avg, 1, 1, c->output, &c->rnd);
|
||||||
if(c->avg[0] == 1) // red component = 1 will be written as skip code
|
if(c->avg[0] == 1) // red component = 1 will be written as skip code
|
||||||
c->avg[0] = 0;
|
c->avg[0] = 0;
|
||||||
for(j = 0; j < 4; j++){
|
for(j = 0; j < 4; j++){
|
||||||
@ -138,8 +138,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
}
|
}
|
||||||
// search for optimal filling of 2-color block
|
// search for optimal filling of 2-color block
|
||||||
score = 0;
|
score = 0;
|
||||||
ff_init_elbg(c->block, 3, 16, c->codebook, 2, 1, c->output, &c->rnd);
|
avpriv_init_elbg(c->block, 3, 16, c->codebook, 2, 1, c->output, &c->rnd);
|
||||||
ff_do_elbg (c->block, 3, 16, c->codebook, 2, 1, c->output, &c->rnd);
|
avpriv_do_elbg (c->block, 3, 16, c->codebook, 2, 1, c->output, &c->rnd);
|
||||||
// last output value should be always 1, swap codebooks if needed
|
// last output value should be always 1, swap codebooks if needed
|
||||||
if(!c->output[15]){
|
if(!c->output[15]){
|
||||||
for(i = 0; i < 3; i++)
|
for(i = 0; i < 3; i++)
|
||||||
@ -164,8 +164,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
// search for optimal filling of 2-color 2x2 subblocks
|
// search for optimal filling of 2-color 2x2 subblocks
|
||||||
score = 0;
|
score = 0;
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
ff_init_elbg(c->block2 + i*4*3, 3, 4, c->codebook2 + i*2*3, 2, 1, c->output2 + i*4, &c->rnd);
|
avpriv_init_elbg(c->block2 + i*4*3, 3, 4, c->codebook2 + i*2*3, 2, 1, c->output2 + i*4, &c->rnd);
|
||||||
ff_do_elbg (c->block2 + i*4*3, 3, 4, c->codebook2 + i*2*3, 2, 1, c->output2 + i*4, &c->rnd);
|
avpriv_do_elbg (c->block2 + i*4*3, 3, 4, c->codebook2 + i*2*3, 2, 1, c->output2 + i*4, &c->rnd);
|
||||||
}
|
}
|
||||||
// last value should be always 1, swap codebooks if needed
|
// last value should be always 1, swap codebooks if needed
|
||||||
if(!c->output2[15]){
|
if(!c->output2[15]){
|
||||||
|
@ -806,8 +806,8 @@ static void generate_codebook(RoqContext *enc, RoqTempdata *tempdata,
|
|||||||
else
|
else
|
||||||
closest_cb = tempdata->closest_cb2;
|
closest_cb = tempdata->closest_cb2;
|
||||||
|
|
||||||
ff_init_elbg(points, 6*c_size, inputCount, codebook, cbsize, 1, closest_cb, &enc->randctx);
|
avpriv_init_elbg(points, 6*c_size, inputCount, codebook, cbsize, 1, closest_cb, &enc->randctx);
|
||||||
ff_do_elbg(points, 6*c_size, inputCount, codebook, cbsize, 1, closest_cb, &enc->randctx);
|
avpriv_do_elbg(points, 6*c_size, inputCount, codebook, cbsize, 1, closest_cb, &enc->randctx);
|
||||||
|
|
||||||
if (size == 4)
|
if (size == 4)
|
||||||
av_free(closest_cb);
|
av_free(closest_cb);
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 55
|
#define LIBAVCODEC_VERSION_MAJOR 55
|
||||||
#define LIBAVCODEC_VERSION_MINOR 41
|
#define LIBAVCODEC_VERSION_MINOR 41
|
||||||
#define LIBAVCODEC_VERSION_MICRO 100
|
#define LIBAVCODEC_VERSION_MICRO 101
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
LIBAVCODEC_VERSION_MINOR, \
|
LIBAVCODEC_VERSION_MINOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user