| 302 | } |
| 303 | |
| 304 | int ff_lcevc_process(void *logctx, AVFrame *frame) |
| 305 | { |
| 306 | FrameDecodeData *fdd = frame->private_ref; |
| 307 | FFLCEVCFrame *frame_ctx = fdd->post_process_opaque; |
| 308 | FFLCEVCContext *lcevc = frame_ctx->lcevc; |
| 309 | int ret; |
| 310 | |
| 311 | if (!lcevc->initialized) { |
| 312 | ret = lcevc_init(lcevc, logctx); |
| 313 | if (ret < 0) |
| 314 | return ret; |
| 315 | } |
| 316 | |
| 317 | av_assert0(frame_ctx->frame); |
| 318 | |
| 319 | |
| 320 | ret = lcevc_send_frame(logctx, frame_ctx, frame); |
| 321 | if (ret) |
| 322 | return ret < 0 ? ret : 0; |
| 323 | |
| 324 | ret = lcevc_receive_frame(logctx, frame_ctx, frame); |
| 325 | if (ret < 0) |
| 326 | return ret; |
| 327 | |
| 328 | av_frame_remove_side_data(frame, AV_FRAME_DATA_LCEVC); |
| 329 | |
| 330 | return 0; |
| 331 | } |
| 332 | |
| 333 | int ff_lcevc_parse_frame(FFLCEVCContext *lcevc, const AVFrame *frame, |
| 334 | int *width, int *height, void *logctx) |
nothing calls this directly
no test coverage detected