| 115 | } |
| 116 | |
| 117 | void av_frame_side_data_remove_by_props(AVFrameSideData ***sd, int *nb_sd, |
| 118 | int props) |
| 119 | { |
| 120 | for (int i = *nb_sd - 1; i >= 0; i--) { |
| 121 | AVFrameSideData *entry = ((*sd)[i]); |
| 122 | const AVSideDataDescriptor *desc = av_frame_side_data_desc(entry->type); |
| 123 | if (!desc || !(desc->props & props)) |
| 124 | continue; |
| 125 | |
| 126 | free_side_data_entry(&entry); |
| 127 | |
| 128 | ((*sd)[i]) = ((*sd)[*nb_sd - 1]); |
| 129 | (*nb_sd)--; |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | void av_frame_side_data_free(AVFrameSideData ***sd, int *nb_sd) |
| 134 | { |
no test coverage detected