From patchwork Fri Sep 18 10:19:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Swami Kevala X-Patchwork-Id: 22467 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id D8E08449955 for ; Fri, 18 Sep 2020 13:19:49 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BA82C68BB63; Fri, 18 Sep 2020 13:19:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D327568BAC6 for ; Fri, 18 Sep 2020 13:19:43 +0300 (EEST) Received: by mail-qt1-f195.google.com with SMTP id h6so4497166qtd.6 for ; Fri, 18 Sep 2020 03:19:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=w8d7+k4jeRn5iO/PgukOUsiUhbxYnwzinsr1vAvL/uA=; b=VCkBvKX9WknDQY0Riy3BjXdpaLLIqIA5/8xVqIcCa+1Mn8zBW5e7xbbCGQQmS5TdqU oRXU+GSPfq3Yx7G6aJhpOnPMdwGbzUIsN0a0MejDuAiCt+EkMvYxHBfrsS9u7BrP5/hO tRzNERxC9hQEcAN4+HiztIzE26h9+wMQN4KYHMpI3b/zohRd1tBnbPMqAN6CceXQylEr YI6bN9FCxELr8TOn35jUx9kaqNoev6FH/VBHvthyr2zWENFk40GjrShvGPfdkikwYy7N vPPDsJaccTe78SRXGW/o1JZYUhU2XQY9ib7P7eoiHQL23LWKJHrWDpSA2MsFSOyJIE8F TqdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=w8d7+k4jeRn5iO/PgukOUsiUhbxYnwzinsr1vAvL/uA=; b=QgObOlS7phjFT4/QzoF71cJpLalc7JMT74ciWrtTXtd/3CitiFgoGzsqLv9Fsh+cy9 F2WMhLLYJRKuQPMjToHIgyx776FY91wIce83HFfv5Pb3tgN+nk7NQPQeDqDPczailPyw wuzQHNVmToQ0MGxMVGKFejGE+/am/VEj0dng0nC5U+rw29yP9msEYK75Kn/HBb6Jv8DZ +5QIDitxWoHnk/eNijES7BEfgTlo6VMv/Qqu//E5hOPWjEWPPAMerjX7+DLwXzb6VkvN uxsq9Z1OnWgWAvXMX6XcBa08lPF4T7eRAhHs2DZlYc0q5u1OVTLgJ6VdzOofY8Ms9bp1 ND1g== X-Gm-Message-State: AOAM532zQD9U8adM/y2P9N+W+e64apqxIEYO/vLozfUfc7he2YZFNuLJ MNIsJYi7X1GaRG7qzahL5OMjHgyU2hUYvBo1/Y3rqMt6IXet+Q== X-Google-Smtp-Source: ABdhPJwWyTu6WAtB/a2MmgcQqjBML5qbGJJBWitrdkB+f1pUCOHV49o0zeHuyItYKUuUuvlnqDIu+rNsv+C8uYTK6Rg= X-Received: by 2002:ac8:157:: with SMTP id f23mr31973269qtg.273.1600424382406; Fri, 18 Sep 2020 03:19:42 -0700 (PDT) MIME-Version: 1.0 From: Swami Kevala Date: Fri, 18 Sep 2020 15:49:30 +0530 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] Added V210 codec support to MXF encoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Verified the container_ui and element_ui with a sample file produced by Sony Server 1.3.0.0.1 (Sony MXF Development Kit (Win32) 4.9.1.118.1) Tested converting an ffv1/mkv to v210/mxf successfully Signed-off-by: Swami Kevala --- libavformat/mxfenc.c | 7 +++++++ 1 file changed, 7 insertions(+) }, + { 0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x15,0x01,0x02,0x00 }, + { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x01,0x01,0x02,0x02,0x01 }, + mxf_write_cdci_desc }, // H.264 { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x0a,0x0D,0x01,0x03,0x01,0x02,0x10,0x60,0x01 }, { 0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x15,0x01,0x05,0x00 }, -- 1.8.3.1 diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index cbb0fc5..32e5ffa 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -123,6 +123,7 @@ enum ULIndex { INDEX_DV, INDEX_DNXHD, INDEX_JPEG2000, + INDEX_V210, INDEX_H264, INDEX_S436M, INDEX_PRORES, @@ -138,6 +139,7 @@ static const struct { { AV_CODEC_ID_DVVIDEO, INDEX_DV }, { AV_CODEC_ID_DNXHD, INDEX_DNXHD }, { AV_CODEC_ID_JPEG2000, INDEX_JPEG2000 }, + { AV_CODEC_ID_V210, INDEX_V210 }, { AV_CODEC_ID_H264, INDEX_H264 }, { AV_CODEC_ID_PRORES, INDEX_PRORES }, { AV_CODEC_ID_NONE } @@ -189,6 +191,11 @@ static const MXFContainerEssenceEntry mxf_essence_container_uls[] = { { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01,0x15,0x01,0x08,0x00 }, { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x04,0x01,0x02,0x02,0x03,0x01,0x01,0x00 }, mxf_write_cdci_desc }, + // V210 + { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x05,0x01,0x05