diff options
author | Aman Gupta <aman@tmm1.net> | 2016-01-08 17:40:04 -0800 |
---|---|---|
committer | Clément Bœsch <u@pkh.me> | 2016-01-09 11:53:37 +0100 |
commit | 23a50c8ab9fba5fe4310337db21d6c7eeb089323 (patch) | |
tree | f88138c6cca0bdd7369d36a46ba71a1026ae1fe6 | |
parent | 836c79351471246ccda5a5b2367095d98aa8c3fd (diff) | |
download | ffmpeg-23a50c8ab9fba5fe4310337db21d6c7eeb089323.tar.gz |
Revert "lavc/ccaption_dec: reap_screen is not necessary when clearing screen or buffer"
This reverts commit fe225b113b0553cdcf1a1d2fbdbe37c467d7951b.
-rw-r--r-- | libavcodec/ccaption_dec.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c index 517e2c0319..02bce01e2d 100644 --- a/libavcodec/ccaption_dec.c +++ b/libavcodec/ccaption_dec.c @@ -361,15 +361,17 @@ static void handle_pac(CCaptionSubContext *ctx, uint8_t hi, uint8_t lo) } } -static void handle_erase(CCaptionSubContext *ctx, int n_screen) +static void handle_erase(CCaptionSubContext *ctx, int64_t pts, int n_screen) { struct Screen *screen = ctx->screen + n_screen; + + reap_screen(ctx, pts); screen->row_used = 0; } static void handle_eoc(CCaptionSubContext *ctx, int64_t pts) { - reap_screen(ctx, pts); + handle_erase(ctx, pts, ctx->active_screen); ctx->active_screen = !ctx->active_screen; ctx->cursor_column = 0; } @@ -450,7 +452,7 @@ static void process_cc608(CCaptionSubContext *ctx, int64_t pts, uint8_t hi, uint break; case 0x2c: /* erase display memory */ - handle_erase(ctx, ctx->active_screen); + handle_erase(ctx, pts, ctx->active_screen); break; case 0x2d: /* carriage return */ @@ -461,7 +463,7 @@ static void process_cc608(CCaptionSubContext *ctx, int64_t pts, uint8_t hi, uint break; case 0x2e: /* erase non displayed memory */ - handle_erase(ctx, !ctx->active_screen); + handle_erase(ctx, pts, !ctx->active_screen); break; case 0x2f: /* end of caption */ |