get a free frame to decode into
| 190 | |
| 191 | // get a free frame to decode into |
| 192 | static AVFrame *decoded_frames_get_free(DecodedFrames *df) |
| 193 | { |
| 194 | if (df->nb_f == df->nb_f_allocated) { |
| 195 | AVFrame **tmp = av_realloc_array(df->f, df->nb_f + 1, |
| 196 | sizeof(*df->f)); |
| 197 | if (!tmp) |
| 198 | return NULL; |
| 199 | df->f = tmp; |
| 200 | |
| 201 | df->f[df->nb_f] = av_frame_alloc(); |
| 202 | if (!df->f[df->nb_f]) |
| 203 | return NULL; |
| 204 | |
| 205 | df->nb_f_allocated++; |
| 206 | } |
| 207 | |
| 208 | av_assert0(!df->f[df->nb_f]->buf[0]); |
| 209 | |
| 210 | return df->f[df->nb_f]; |
| 211 | } |
| 212 | |
| 213 | static void decoded_frames_pop(DecodedFrames *df, AVFrame *dst) |
| 214 | { |
no test coverage detected