From: Traian Coza <traian.coza@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: Traian Coza <traian.coza@gmail.com> Subject: [FFmpeg-devel] [PATCH 05/12] Cleaned up Date: Tue, 3 May 2022 12:13:21 -0400 Message-ID: <20220503161328.842587-6-traian.coza@gmail.com> (raw) In-Reply-To: <20220503161328.842587-1-traian.coza@gmail.com> --- fftools/ffmpeg.c | 39 ++----------------------- libavcodec/text_to_bitmap.c | 58 +++++++++++++++++++++++++++++++++++-- libavfilter/vf_subtitles.c | 18 ------------ 3 files changed, 58 insertions(+), 57 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 31acf08a6a..0ff9da7bf4 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -2329,43 +2329,6 @@ fail: return err < 0 ? err : ret; } -static void print_subtitle(AVSubtitle sub) -{ - printf("sub.format: %u\n", sub.format); - printf("sub.start_display_time: %u\n", sub.start_display_time); - printf("sub.end_display_time: %u\n", sub.end_display_time); - printf("sub.num_rects: %u\n", sub.num_rects); - printf("sub.pts: %ld\n", sub.pts); - for (int i = 0; i < sub.num_rects; i++) - { - printf("sub.rects[%d]->type: %d\n", i, sub.rects[i]->type); - printf("sub.rects[%d]->nb_colors: %d\n", i, sub.rects[i]->nb_colors); - printf("sub.rects[%d]->(x,y,w,h): (%d,%d,%d,%d)\n", i, sub.rects[i]->x, sub.rects[i]->y, sub.rects[i]->w, sub.rects[i]->h); - printf("sub.rects[%d]->linesize: [%d,%d,%d,%d]\n", i, sub.rects[i]->linesize[0], sub.rects[i]->linesize[1], sub.rects[i]->linesize[1], sub.rects[i]->linesize[1]); - switch (sub.rects[i]->type) - { - case SUBTITLE_TEXT: - printf("sub.rects[%d]->text: %s\n", i, sub.rects[i]->text); - break; - case SUBTITLE_ASS: - printf("sub.rects[%d]->ass: %s\n", i, sub.rects[i]->ass); - break; - case SUBTITLE_BITMAP: - for (int c = 0; c < sub.rects[i]->nb_colors; c++) - printf("color %d: [%u,%u,%u,%u]\n", c, - sub.rects[i]->data[1][c * 4 + 0], - sub.rects[i]->data[1][c * 4 + 1], - sub.rects[i]->data[1][c * 4 + 2], - sub.rects[i]->data[1][c * 4 + 3]); - for (int y = 0; y < sub.rects[i]->h; y++, printf("\n")) - for (int x = 0; x < sub.rects[i]->w; x++) - printf("%d", sub.rects[i]->data[0][y * sub.rects[i]->w + x]); - break; - } - } - printf("\n"); -} - static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output, int *decode_failed) { @@ -2433,6 +2396,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output, || ost->enc->type != AVMEDIA_TYPE_SUBTITLE) continue; +#if CONFIG_LIBASS // Support text to bitmap if (avcodec_descriptor_get(ost->enc_ctx->codec_id)->props & AV_CODEC_PROP_BITMAP_SUB) if (avcodec_descriptor_get(ist->dec_ctx->codec_id)->props & AV_CODEC_PROP_TEXT_SUB) @@ -2442,6 +2406,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output, subtitle.rects[r]->type = SUBTITLE_BITMAP; rendered = 1; } +#endif do_subtitle_out(output_files[ost->file_index], ost, &subtitle); } diff --git a/libavcodec/text_to_bitmap.c b/libavcodec/text_to_bitmap.c index 87c46985d9..50c72afc55 100644 --- a/libavcodec/text_to_bitmap.c +++ b/libavcodec/text_to_bitmap.c @@ -94,7 +94,6 @@ void free_ass_context(ASS_Context *context) { void render_avsub_ass(ASS_Context *context, AVSubtitle *sub) { - printf("render_avsub_ass\n"); for (int r = 0; r < sub->num_rects; r++) { AVSubtitleRect *rect = sub->rects[r]; @@ -167,4 +166,59 @@ void render_avsub_ass(ASS_Context *context, AVSubtitle *sub) } } } -} \ No newline at end of file +} + +static void print_ass_image(const ASS_Image *image) +{ + int index = 0; + for (; image != NULL; image = image->next, index++) + { + printf("index: %d\n", index); + printf("image->(dst_x,dst_y): (%d,%d)\n", image->dst_x, image->dst_y); + printf("image->(w,h): (%d,%d)\n", image->w, image->h); + printf("image->stride: %d\n", image->stride); + printf("image->type: %d\n", image->type); + printf("image->color: [%u,%u,%u,%u]\n", AR(image->color), AG(image->color), AB(image->color), AA(image->color)); + for (int y = 0; y < image->h; y++, printf("\n")) + for (int x = 0; x < image->w; x++) + printf("%02X", image->bitmap[y * image->stride + x]); + printf("\n"); + } +} + +static void print_subtitle(AVSubtitle sub) +{ + printf("sub.format: %u\n", sub.format); + printf("sub.start_display_time: %u\n", sub.start_display_time); + printf("sub.end_display_time: %u\n", sub.end_display_time); + printf("sub.num_rects: %u\n", sub.num_rects); + printf("sub.pts: %ld\n", sub.pts); + for (int i = 0; i < sub.num_rects; i++) + { + printf("sub.rects[%d]->type: %d\n", i, sub.rects[i]->type); + printf("sub.rects[%d]->nb_colors: %d\n", i, sub.rects[i]->nb_colors); + printf("sub.rects[%d]->(x,y,w,h): (%d,%d,%d,%d)\n", i, sub.rects[i]->x, sub.rects[i]->y, sub.rects[i]->w, sub.rects[i]->h); + printf("sub.rects[%d]->linesize: [%d,%d,%d,%d]\n", i, sub.rects[i]->linesize[0], sub.rects[i]->linesize[1], sub.rects[i]->linesize[1], sub.rects[i]->linesize[1]); + switch (sub.rects[i]->type) + { + case SUBTITLE_TEXT: + printf("sub.rects[%d]->text: %s\n", i, sub.rects[i]->text); + break; + case SUBTITLE_ASS: + printf("sub.rects[%d]->ass: %s\n", i, sub.rects[i]->ass); + break; + case SUBTITLE_BITMAP: + for (int c = 0; c < sub.rects[i]->nb_colors; c++) + printf("color %d: [%u,%u,%u,%u]\n", c, + sub.rects[i]->data[1][c * 4 + 0], + sub.rects[i]->data[1][c * 4 + 1], + sub.rects[i]->data[1][c * 4 + 2], + sub.rects[i]->data[1][c * 4 + 3]); + for (int y = 0; y < sub.rects[i]->h; y++, printf("\n")) + for (int x = 0; x < sub.rects[i]->w; x++) + printf("%d", sub.rects[i]->data[0][y * sub.rects[i]->w + x]); + break; + } + } + printf("\n"); +} diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c index 703dbec37d..82e140e986 100644 --- a/libavfilter/vf_subtitles.c +++ b/libavfilter/vf_subtitles.c @@ -181,24 +181,6 @@ static void overlay_ass_image(AssContext *ass, AVFrame *picref, } } -static void print_ass_image(const ASS_Image *image) -{ - int index = 0; - for (; image != NULL; image = image->next, index++) - { - printf("index: %d\n", index); - printf("image->(dst_x,dst_y): (%d,%d)\n", image->dst_x, image->dst_y); - printf("image->(w,h): (%d,%d)\n", image->w, image->h); - printf("image->stride: %d\n", image->stride); - printf("image->type: %d\n", image->type); - printf("image->color: [%u,%u,%u,%u]\n", AR(image->color), AG(image->color), AB(image->color), AA(image->color)); - for (int y = 0; y < image->h; y++, printf("\n")) - for (int x = 0; x < image->w; x++) - printf("%02X", image->bitmap[y * image->stride + x]); - printf("\n"); - } -} - static int filter_frame(AVFilterLink *inlink, AVFrame *picref) { AVFilterContext *ctx = inlink->dst; -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-05-03 16:15 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-03 16:13 [FFmpeg-devel] [PATCH 00/12] I added text to bitmap subtitle conversion functionality! Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 01/12] Implemented text to bitmap subtitles! Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 02/12] Render only when necessary Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 03/12] Retreive width and height from video stream! Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 04/12] Initialize ass library only once! Traian Coza 2022-05-03 16:13 ` Traian Coza [this message] 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 06/12] Wrote proper headers Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 07/12] Close libass after using Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 08/12] Added standard headers Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 09/12] Rearranged files, all tests are passing! Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 10/12] " Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 11/12] Added logging Traian Coza 2022-05-03 16:13 ` [FFmpeg-devel] [PATCH 12/12] Added more logging Traian Coza 2022-05-03 16:20 ` [FFmpeg-devel] [PATCH 00/12] I added text to bitmap subtitle conversion functionality! Paul B Mahol 2022-05-03 16:51 ` Nicolas George 2022-05-03 17:01 ` Traian Coza 2022-05-03 17:05 ` Leo Izen 2022-05-03 17:09 ` Traian Coza 2022-05-03 16:27 ` Soft Works 2022-05-04 0:16 ` Soft Works
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220503161328.842587-6-traian.coza@gmail.com \ --to=traian.coza@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git