|
|
@ -25,6 +25,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include <string.h> |
|
|
|
#include <string.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "libavutil/imgutils.h" |
|
|
|
#include "libavutil/pixfmt.h" |
|
|
|
#include "libavutil/pixfmt.h" |
|
|
|
#include "avfilter.h" |
|
|
|
#include "avfilter.h" |
|
|
|
#include "bufferqueue.h" |
|
|
|
#include "bufferqueue.h" |
|
|
@ -129,14 +130,11 @@ static void draw_frame(AVFilterContext *ctx, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
int y; |
|
|
|
|
|
|
|
const int main_linesize = main_buf->linesize[A]; |
|
|
|
const int main_linesize = main_buf->linesize[A]; |
|
|
|
const int alpha_linesize = alpha_buf->linesize[Y]; |
|
|
|
const int alpha_linesize = alpha_buf->linesize[Y]; |
|
|
|
for (y = 0; y < h && y < alpha_buf->height; y++) { |
|
|
|
av_image_copy_plane(main_buf->data[A], main_linesize, |
|
|
|
memcpy(main_buf->data[A] + y * main_linesize, |
|
|
|
alpha_buf->data[Y], alpha_linesize, |
|
|
|
alpha_buf->data[Y] + y * alpha_linesize, |
|
|
|
FFMIN(main_linesize, alpha_linesize), alpha_buf->height); |
|
|
|
FFMIN(main_linesize, alpha_linesize)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|