mirror of https://git.ffmpeg.org/ffmpeg.git
frame: add a function for removing side data from a frame
This commit is contained in:
parent
59444c76e6
commit
d161ae0a37
|
@ -13,6 +13,10 @@ libavutil: 2013-12-xx
|
|||
|
||||
API changes, most recent first:
|
||||
|
||||
2014-02-xx - xxxxxxx - lavu 53.08.0 - frame.h
|
||||
Add av_frame_remove_side_data() for removing a single side data
|
||||
instance from a frame.
|
||||
|
||||
2014-02-xx - xxxxxxx - lavu 53.07.0 - frame.h, replaygain.h
|
||||
Add AV_FRAME_DATA_REPLAYGAIN for exporting replaygain tags.
|
||||
Add a new header replaygain.h with the AVReplayGain struct.
|
||||
|
|
|
@ -526,3 +526,19 @@ int av_frame_copy(AVFrame *dst, const AVFrame *src)
|
|||
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < frame->nb_side_data; i++) {
|
||||
AVFrameSideData *sd = frame->side_data[i];
|
||||
if (sd->type == type) {
|
||||
av_freep(&sd->data);
|
||||
av_dict_free(&sd->metadata);
|
||||
av_freep(&frame->side_data[i]);
|
||||
frame->side_data[i] = frame->side_data[frame->nb_side_data - 1];
|
||||
frame->nb_side_data--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -562,6 +562,12 @@ AVFrameSideData *av_frame_new_side_data(AVFrame *frame,
|
|||
AVFrameSideData *av_frame_get_side_data(const AVFrame *frame,
|
||||
enum AVFrameSideDataType type);
|
||||
|
||||
/**
|
||||
* If side data of the supplied type exists in the frame, free it and remove it
|
||||
* from the frame.
|
||||
*/
|
||||
void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 53
|
||||
#define LIBAVUTIL_VERSION_MINOR 7
|
||||
#define LIBAVUTIL_VERSION_MINOR 8
|
||||
#define LIBAVUTIL_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
|
Loading…
Reference in New Issue