mp_image: add enhancement_layer child image
This commit is contained in:
1 parent
314e80f2ec
commit
6c4480cbfd
2 files changed
+9
No files matched your search
@@ -237,6 +237,7 @@ static void mp_image_destructor(void *ptr)
|
||||
for (int n = 0; n < mpi->num_ff_side_data; n++)
|
||||
av_buffer_unref(&mpi->ff_side_data[n].buf);
|
||||
talloc_free(mpi->ff_side_data);
|
||||
mp_image_unrefp(&mpi->enhancement_layer);
|
||||
}
|
||||
|
||||
int mp_chroma_div_up(int size, int shift)
|
||||
@@ -374,6 +375,9 @@ struct mp_image *mp_image_new_ref(struct mp_image *img)
|
||||
for (int n = 0; n < new->num_ff_side_data; n++)
|
||||
ref_buffer(&new->ff_side_data[n].buf);
|
||||
|
||||
new->enhancement_layer = img->enhancement_layer
|
||||
? mp_image_new_ref(img->enhancement_layer) : NULL;
|
||||
|
||||
return new;
|
||||
}
|
||||
|
||||
@@ -407,6 +411,7 @@ struct mp_image *mp_image_new_dummy_ref(struct mp_image *img)
|
||||
new->film_grain = NULL;
|
||||
new->num_ff_side_data = 0;
|
||||
new->ff_side_data = NULL;
|
||||
new->enhancement_layer = NULL;
|
||||
return new;
|
||||
}
|
||||
|
||||
@@ -587,6 +592,8 @@ void mp_image_copy_attributes(struct mp_image *dst, struct mp_image *src)
|
||||
dst->ff_side_data[n].buf = av_buffer_ref(src->ff_side_data[n].buf);
|
||||
MP_HANDLE_OOM(dst->ff_side_data[n].buf);
|
||||
}
|
||||
|
||||
mp_image_setrefp(&dst->enhancement_layer, src->enhancement_layer);
|
||||
}
|
||||
|
||||
// Crop the given image to (x0, y0)-(x1, y1) (bottom/right border exclusive)
|
||||
|
||||
@@ -126,6 +126,8 @@ typedef struct mp_image {
|
||||
// Other side data we don't care about.
|
||||
struct mp_ff_side_data *ff_side_data;
|
||||
int num_ff_side_data;
|
||||
// Optional decoded enhancement-layer frame
|
||||
struct mp_image *enhancement_layer;
|
||||
} mp_image_t;
|
||||
|
||||
struct mp_ff_side_data {
|
||||
|
||||
Reference in new issue
Block a user