mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-20 21:00:41 +08:00
fftools/ffplay: add support for rendering without alpha
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
@@ -995,6 +995,9 @@ static void draw_video_background(VideoState *is)
|
||||
fill_rectangle(rect->x, rect->y, rect->w, rect->h);
|
||||
break;
|
||||
}
|
||||
case VIDEO_BACKGROUND_NONE:
|
||||
SDL_SetTextureBlendMode(is->vid_texture, SDL_BLENDMODE_NONE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3266,7 +3269,9 @@ static VideoState *stream_open(const char *filename,
|
||||
if (startup_volume > 100)
|
||||
av_log(NULL, AV_LOG_WARNING, "-volume=%d > 100, setting to 100\n", startup_volume);
|
||||
if (video_background) {
|
||||
if (strcmp(video_background, "tiles")) {
|
||||
if (!strcmp(video_background, "none")) {
|
||||
is->render_params.video_background_type = VIDEO_BACKGROUND_NONE;
|
||||
} else if (strcmp(video_background, "tiles")) {
|
||||
if (av_parse_color(is->render_params.video_background_color, video_background, -1, NULL) >= 0)
|
||||
is->render_params.video_background_type = VIDEO_BACKGROUND_COLOR;
|
||||
else
|
||||
|
||||
@@ -747,6 +747,9 @@ static int display(VkRenderer *renderer, AVFrame *frame, RenderParams *params)
|
||||
pl_params.background_color[i] = params->video_background_color[i] / 255.0;
|
||||
pl_params.background_transparency = (255 - params->video_background_color[3]) / 255.0;
|
||||
break;
|
||||
case VIDEO_BACKGROUND_NONE:
|
||||
pl_frame.repr.alpha = PL_ALPHA_NONE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!pl_render_image(ctx->renderer, &pl_frame, &target, &pl_params)) {
|
||||
|
||||
@@ -30,6 +30,7 @@ typedef struct VkRenderer VkRenderer;
|
||||
enum VideoBackgroundType {
|
||||
VIDEO_BACKGROUND_TILES,
|
||||
VIDEO_BACKGROUND_COLOR,
|
||||
VIDEO_BACKGROUND_NONE,
|
||||
};
|
||||
|
||||
typedef struct RenderParams {
|
||||
|
||||
Reference in New Issue
Block a user