enum { Y, U, V, A };
typedef struct {
- int frame_requested;
int is_packed_rgb;
uint8_t rgba_map[4];
struct FFBufQueue queue_main;
main_buf = ff_bufqueue_get(&merge->queue_main);
alpha_buf = ff_bufqueue_get(&merge->queue_alpha);
- merge->frame_requested = 0;
draw_frame(ctx, main_buf, alpha_buf);
ret = ff_filter_frame(ctx->outputs[0], main_buf);
av_frame_free(&alpha_buf);
AlphaMergeContext *merge = ctx->priv;
int in, ret;
- merge->frame_requested = 1;
- while (merge->frame_requested) {
- in = ff_bufqueue_peek(&merge->queue_main, 0) ? 1 : 0;
- ret = ff_request_frame(ctx->inputs[in]);
- if (ret < 0)
- return ret;
- }
+ in = ff_bufqueue_peek(&merge->queue_main, 0) ? 1 : 0;
+ ret = ff_request_frame(ctx->inputs[in]);
+ if (ret < 0)
+ return ret;
return 0;
}