From: Devin Heitmueller <devin.heitmueller@ltnglobal.com>
To: ffmpeg-devel@ffmpeg.org
Cc: Devin Heitmueller <dheitmueller@ltnglobal.com>
Subject: [FFmpeg-devel] [PATCH 0/5] Properly handle CEA-708 caption data when transcoding
Date: Mon, 27 Mar 2023 12:46:59 -0400
Message-ID: <20230327164704.12962-1-dheitmueller@ltnglobal.com> (raw)
This patch series is intended to address long-standing known issues where
CEA-708 caption data is either duplicated or corrupted (i.e. 50% of the data
is lost). We employ an intermediate queue, which is available to filters that
change the frame rate of the video, which stashes the 608/708 data and
reconstructs properly formed 708 tuples on the output side (injecting
appropriate padding as needed).
The common functions are implemented in libavutil, but I am open to
suggestions. While all the users in this patch series are within
libavfilter, there are use cases where this functionality would
be useful within libavformat (which is why libavutil was chosen).
This version of the patch series, compared to the RFC, has a couple
of fixes to catch missed code paths for yadif and tinterlace.
Comments/feedback are welcomed.
Thanks,
Devin
Devin Heitmueller (5):
ccfifo: Properly handle CEA-708 captions through framerate conversion
vf_fps: properly preserve CEA-708 captions
yadif: Properly preserve CEA-708 closed captions
tinterlace: Properly preserve CEA-708 closed captions
vf_ccrepack: Add new filter to repack CEA-708 side data
doc/filters.texi | 10 ++
libavfilter/Makefile | 1 +
libavfilter/allfilters.c | 1 +
libavfilter/tinterlace.h | 2 +
libavfilter/vf_bwdif.c | 7 ++
libavfilter/vf_ccrepack.c | 95 ++++++++++++++++++
libavfilter/vf_fps.c | 9 +-
libavfilter/vf_tinterlace.c | 8 ++
libavfilter/vf_yadif.c | 6 ++
libavfilter/vf_yadif_cuda.c | 8 ++
libavfilter/yadif.h | 2 +
libavfilter/yadif_common.c | 5 +
libavutil/Makefile | 2 +
libavutil/ccfifo.c | 191 ++++++++++++++++++++++++++++++++++++
libavutil/ccfifo.h | 85 ++++++++++++++++
15 files changed, 431 insertions(+), 1 deletion(-)
create mode 100644 libavfilter/vf_ccrepack.c
create mode 100644 libavutil/ccfifo.c
create mode 100644 libavutil/ccfifo.h
--
2.35.1.655.ga68dfadae5
_______________________________________________
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 reply other threads:[~2023-03-27 16:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-27 16:46 Devin Heitmueller [this message]
2023-03-27 16:47 ` [FFmpeg-devel] [PATCH 1/5] ccfifo: Properly handle CEA-708 captions through framerate conversion Devin Heitmueller
2023-03-27 16:47 ` [FFmpeg-devel] [PATCH 2/5] vf_fps: properly preserve CEA-708 captions Devin Heitmueller
2023-03-27 16:47 ` [FFmpeg-devel] [PATCH 3/5] yadif: Properly preserve CEA-708 closed captions Devin Heitmueller
2023-03-27 16:47 ` [FFmpeg-devel] [PATCH 4/5] tinterlace: " Devin Heitmueller
2023-03-27 16:47 ` [FFmpeg-devel] [PATCH 5/5] vf_ccrepack: Add new filter to repack CEA-708 side data Devin Heitmueller
2023-03-30 0:46 ` [FFmpeg-devel] [PATCH 0/5] Properly handle CEA-708 caption data when transcoding Andreas Rheinhardt
2023-03-30 13:14 ` Devin Heitmueller
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=20230327164704.12962-1-dheitmueller@ltnglobal.com \
--to=devin.heitmueller@ltnglobal.com \
--cc=dheitmueller@ltnglobal.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