mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-11-27 11:24:05 +00:00
One reference picture is now kept on encoder->ref list
This commit is contained in:
parent
cb8c0ebd99
commit
10485ab51a
|
@ -230,6 +230,7 @@
|
||||||
/* Deallocating */
|
/* Deallocating */
|
||||||
config_destroy(cfg);
|
config_destroy(cfg);
|
||||||
scalinglist_destroy();
|
scalinglist_destroy();
|
||||||
|
picture_list_destroy(encoder->ref);
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
|
@ -214,7 +214,6 @@ void init_encoder_control(encoder_control* control,bitstream* output)
|
||||||
|
|
||||||
void init_encoder_input(encoder_input* input,FILE* inputfile, int32_t width, int32_t height)
|
void init_encoder_input(encoder_input* input,FILE* inputfile, int32_t width, int32_t height)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
input->file = inputfile;
|
input->file = inputfile;
|
||||||
input->width = width;
|
input->width = width;
|
||||||
input->height = height;
|
input->height = height;
|
||||||
|
@ -264,7 +263,6 @@ void init_encoder_input(encoder_input* input,FILE* inputfile, int32_t width, int
|
||||||
|
|
||||||
void encode_one_frame(encoder_control* encoder)
|
void encode_one_frame(encoder_control* encoder)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
/* output parameters before first frame */
|
/* output parameters before first frame */
|
||||||
if(encoder->frame == 0)
|
if(encoder->frame == 0)
|
||||||
{
|
{
|
||||||
|
@ -377,12 +375,14 @@ void encode_one_frame(encoder_control* encoder)
|
||||||
/* Calculate checksum */
|
/* Calculate checksum */
|
||||||
add_checksum(encoder);
|
add_checksum(encoder);
|
||||||
|
|
||||||
/* Clear prediction data */
|
/* TODO: add more than one reference */
|
||||||
/* TODO: store as reference data */
|
|
||||||
for(i=0; i < MAX_DEPTH+1; i++)
|
/* Remove the ref pic (if present) */
|
||||||
{
|
picture_list_rem(encoder->ref, 0, 1);
|
||||||
memset(encoder->in.cur_pic->CU[i], 0, (encoder->in.height_in_LCU<<MAX_DEPTH)*(encoder->in.width_in_LCU<<MAX_DEPTH)*sizeof(CU_info));
|
/* Add current picture as reference */
|
||||||
}
|
picture_list_add(encoder->ref, encoder->in.cur_pic);
|
||||||
|
/* Allocate new memory to current picture */
|
||||||
|
encoder->in.cur_pic = picture_init(encoder->in.width, encoder->in.height, encoder->in.width_in_LCU, encoder->in.height_in_LCU);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue