[FFmpeg-cvslog] lavc/ccaption_dec: clear all unused rows during rollup
Aman Gupta
git at videolan.org
Thu Jan 14 23:13:57 CET 2016
ffmpeg | branch: master | Aman Gupta <aman at tmm1.net> | Tue Jan 12 17:27:06 2016 -0800| [3a0e5cfcee5bcbf60e3830da0d03041de3f1e5f5] | committer: Clément Bœsch
lavc/ccaption_dec: clear all unused rows during rollup
Sometimes rollup captions can move around the screen. This fixes "ghost"
captions from below the current rollup area from continuing to be
captured when a rollup moves higher up on the screen.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3a0e5cfcee5bcbf60e3830da0d03041de3f1e5f5
---
libavcodec/ccaption_dec.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c
index 3e33580..330ea6a 100644
--- a/libavcodec/ccaption_dec.c
+++ b/libavcodec/ccaption_dec.c
@@ -294,8 +294,11 @@ static void roll_up(CCaptionSubContext *ctx)
*/
keep_lines = FFMIN(ctx->cursor_row + 1, ctx->rollup);
- for (i = 0; i < ctx->cursor_row - keep_lines; i++)
+ for (i = 0; i < SCREEN_ROWS; i++) {
+ if (i > ctx->cursor_row - keep_lines && i <= ctx->cursor_row)
+ continue;
UNSET_FLAG(screen->row_used, i);
+ }
for (i = 0; i < keep_lines && screen->row_used; i++) {
const int i_row = ctx->cursor_row - keep_lines + i + 1;
More information about the ffmpeg-cvslog
mailing list