From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 8258445379 for ; Mon, 27 Mar 2023 16:47:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D31BA68C99A; Mon, 27 Mar 2023 19:47:16 +0300 (EEST) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5F27B68C925 for ; Mon, 27 Mar 2023 19:47:10 +0300 (EEST) Received: by mail-qv1-f41.google.com with SMTP id l7so7189609qvh.5 for ; Mon, 27 Mar 2023 09:47:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ltnglobal-com.20210112.gappssmtp.com; s=20210112; t=1679935629; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=z2siId5l9Hajv5N7Q1z5Ct/UV02u48VHvI8rC9RBRZs=; b=p4ua3gVDcdhHp+/cUp0ceUP1H2ayQoD0FWnYmpUuoxhmCsX64ieacpmY+qRkc+Q/dY yUxMBMY+8ZgcNPX3lQA2hMLXc2zmJP9iKmYHLDuGrmrxjAHTEASUbgdE3tDKbY/QGc/H RkXvUvV8gw1vhMGLkF+wk/UEdCvic+LQn3a0WjpVUQ+RYw/oRuku5s8TuV3lFt3v6Owv B4sPnBwxxWJNBB3mVaTeuCrSNobjktTh2dOSAJlrtHQP9xrOfZXrY7hryDfoILqFj7pJ tqel/wYcDsXcgfhGasfW7ozm8hcVOZrQ3CYQ5ZqScmdEoAldDVZJPHcaULBcZDFoFmSK Tm+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679935629; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=z2siId5l9Hajv5N7Q1z5Ct/UV02u48VHvI8rC9RBRZs=; b=E0zqVvLMtO8z1cNAQdTM+zGXelW5SIrS2qA4EYzmA6365v7R83aTP2eAfyAiOr6y41 U6GecWthdIfVPQHcrNNdwDaq7SrHg9EqyyH0AgMrjPI5myB4WMUuJT2KNYqU1TB5tieA g+ICcvUiRI2vejXLe8g525/BIiStUk9jZ3lPUCg0yFTIaZ6Da/ilY6eVuzmFS1xcLfsG GifNSA+yJc2MA2+9ZX/qnNMWZa2JCnnOQBcXt0vrajYsp/a/QR8Gxf1r1X2+ZkA4827c JEoV999B1bQ94hPu9WL9gozTIaj6pgJ6joj8OTf2Aw0g5/V+/relkxCz3N2v0bMfryUl +30A== X-Gm-Message-State: AAQBX9eg0OJSb4ac1InOi2cZ5rFgaguHMXg4otgZlqdPWCReMT0Dbzrw firbOeyD4caKoCnchKP2+WtBIJ5PnMjfCEAjYeM= X-Google-Smtp-Source: AKy350bNWV8yvj4rS9DxB9Wa3qHmBVQidiHHdVpYTRxMx4JRTZGK1UGSrN58nSzFWudzplIDISV+TQ== X-Received: by 2002:a05:6214:21ee:b0:5c3:2dfc:af5d with SMTP id p14-20020a05621421ee00b005c32dfcaf5dmr18585400qvj.43.1679935628852; Mon, 27 Mar 2023 09:47:08 -0700 (PDT) Received: from klab-nyc-kernellabs2.localdomain (pool-71-105-132-214.nycmny.fios.verizon.net. [71.105.132.214]) by smtp.gmail.com with ESMTPSA id lf10-20020a0562142cca00b005dd8b9345e9sm3093100qvb.129.2023.03.27.09.47.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Mar 2023 09:47:08 -0700 (PDT) From: Devin Heitmueller X-Google-Original-From: Devin Heitmueller To: ffmpeg-devel@ffmpeg.org Date: Mon, 27 Mar 2023 12:46:59 -0400 Message-Id: <20230327164704.12962-1-dheitmueller@ltnglobal.com> X-Mailer: git-send-email 2.35.1.655.ga68dfadae5 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/5] Properly handle CEA-708 caption data when transcoding X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Devin Heitmueller Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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".