From patchwork Wed Jul 22 15:27:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21230 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 EC4A844B563 for ; Wed, 22 Jul 2020 19:22:30 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BD56668B7EF; Wed, 22 Jul 2020 19:22:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8E42168B546 for ; Wed, 22 Jul 2020 19:22:24 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id j19so1526261pgm.11 for ; Wed, 22 Jul 2020 09:22:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BamH8Ylxh6xfuswwBaN5fxZEZhmptG/oIn9JxQirY8I=; b=J15H9nvaBpEhwwRQvHG27l3SWdG/dx2EvLXaDNaxK6qHFiF9P4VHSKWtzgwbCeZ6Lq 6gKbO0UFGBEv56KOBItBXRLDeorHw0T7SgIt18JFZuQtCz8lBzExLeOZANyi4qY/4Zwf auLXg+LQ0jn1ntGBQ0BLB7V3VjPS+2xEt88gqX9jijFygQOwUMfT1qJjcDBV+3Yjvdxp LaGHJO8ZdLRBOqNWyQTre5XVlOyROV1tH6D1Xk87XUUr7Nj/RHifBjsnVUFwbufNUD1g UfkyLhpXc72HiuZfqt3oiGUJA0vTWK4nNyiYpP2QTH43SyR/KqxCdpZ9Xar8Dg8pRzpm Ahog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BamH8Ylxh6xfuswwBaN5fxZEZhmptG/oIn9JxQirY8I=; b=Ihr/yOWB8WGLGlc4LUsfHuHZbFanrlLNjjpiB1679JGv6D0Xpq3xs+U387AMuUNjxP JY34T5A7aLS+i+q+bZrrBoiOjIwGcahzW5Kcx9VlaxrnolDjzKLCcCpQauUu/OKbCqBt fcrL6RmjjCidKqJR8dVJG09CMvunADdaaRBEIjJlapCqZXq9YqxYKp1RKlFmniOv+I1V 8Z5zop7yM7yYuUA7RCwpa11ZPObkHr5VcdAD8ZLMJ2Fm3cuCRhEwawcxtEXI/H2CU2ws x0/9GOOyB3DkBwwlh2kGM3jPybbL+ctUx/Itb83WtJ6N6njHrurW9XqEBaYPEM3oOgMH wNrg== X-Gm-Message-State: AOAM532DYyL1A0/m3NXFdwcai2pT2sGxAne9EDE9xe88c0Ut1bQBY4Pr HPuINXDtF62n9A/vKue/Le9jeeNL X-Google-Smtp-Source: ABdhPJwZnQN0PXFdBUz9r6jKxfpudOV9FMv1XUHjrGuXyEC/nByMjzmXd9ODCKdVdBQajTtvNvOefA== X-Received: by 2002:aa7:9909:: with SMTP id z9mr169908pff.139.1595431672739; Wed, 22 Jul 2020 08:27:52 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.51 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:52 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:32 +0800 Message-Id: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 Subject: [FFmpeg-devel] [PATCH 1/8] avformat/mpegts: add dvb ac3 descriptor metadata 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Below is one metadata information for the ts with dvb ac3 descriptor audio: ./ffmpeg -i ac3_desc.ts ... Stream #0:1[0x294]: Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 448 kb/s Metadata: dvb.ac3_desc.component_type: 68 dvb.ac3_desc.bsid: 6 dvb.ac3_desc.mainid: 0 Signed-off-by: Limin Wang --- libavformat/mpegts.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index c6fd3e1..1ed7eaf 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2073,15 +2073,33 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type break; case 0x6a: /* ac-3_descriptor */ { - int component_type_flag = get8(pp, desc_end) & (1 << 7); + uint8_t flags = get8(pp, desc_end); + uint8_t component_type_flag = flags & (1 << 7); + uint8_t bsid_flag = flags & (1 << 6); + uint8_t mainid_flag = flags & (1 << 5); + uint8_t asvc_flag = flags & (1 << 4); + if (component_type_flag) { - int component_type = get8(pp, desc_end); + uint8_t component_type = get8(pp, desc_end); int service_type_mask = 0x38; // 0b00111000 int service_type = ((component_type & service_type_mask) >> 3); if (service_type == 0x02 /* 0b010 */) { st->disposition |= AV_DISPOSITION_DESCRIPTIONS; av_log(ts ? ts->stream : fc, AV_LOG_DEBUG, "New track disposition for id %u: %u\n", st->id, st->disposition); } + av_dict_set_int(&st->metadata, "dvb.ac3_desc.component_type", component_type, 0); + } + if (bsid_flag) { + uint8_t bsid = get8(pp, desc_end); + av_dict_set_int(&st->metadata, "dvb.ac3_desc.bsid", bsid, 0); + } + if (mainid_flag) { + uint8_t mainid = get8(pp, desc_end); + av_dict_set_int(&st->metadata, "dvb.ac3_desc.mainid", mainid, 0); + } + if (asvc_flag) { + uint8_t asvc = get8(pp, desc_end); + av_dict_set_int(&st->metadata, "dvb.ac3_desc.asvc", asvc, 0); } } break; From patchwork Wed Jul 22 15:27:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21229 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 10CFE44B303 for ; Wed, 22 Jul 2020 18:51:58 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E3B4A68B722; Wed, 22 Jul 2020 18:51:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f193.google.com (mail-oi1-f193.google.com [209.85.167.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3053968B6B1 for ; Wed, 22 Jul 2020 18:51:52 +0300 (EEST) Received: by mail-oi1-f193.google.com with SMTP id 12so2282639oir.4 for ; Wed, 22 Jul 2020 08:51:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gM6mprQa65Fv5xdFgO6fSb/mWCbB3ZmuseR2pW2MrUA=; b=vhbhh992LZRcCiyDdOJ8r6IKF9G1xH6v23mw4o3KgMUv5kx4jLywJTADr9j2F0pFul mJncoGuaODpKuSNrN4QrEc4LhBl3+7Xon4dZj2RbunIL+D8LNUMJeOq3QXoaw3uQtQV9 hodX7SuYQfdCLofVKjoBI4Qf/L49ZF0d/kLDooL5Cqy8dVpCKikf+KbTuEteEBnFzlKD PPSJmirkPCUW1OwrOYpEJLqUNu0ZII0Qo/e0OtYrPxOodPcuDhaWmy/UWIZixUCTGPw1 Zbsm7JLGas7sXA/QgLdiRC4Ef0rhqCX3MWRpNuXZIJB3YAJneh4pEQtdmc+4RtcGj/dW KqHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gM6mprQa65Fv5xdFgO6fSb/mWCbB3ZmuseR2pW2MrUA=; b=Hi2Lb1mu10N/3QNnwB/L9Hohx/DPtwgzCl0KQZX2uVBq/d2NaDYP+nDByeKcE6Cyk3 vsDC+JGoKm6aCn3040+LjPn6IwxJjcVLF/MOCs3MeHe8xX638IJE6ktob05qsm1ME0h8 q/VOfbLjoTJXQtI3zX0Ji1xeHcYhZvPV+CbZEoL1RHSS/iYBanH23ar6fcmbQBFxTbr4 XMCGruAjTHC8+OF/eGer3ewZ1abavDxjXMLQynUhN7MfZnhHD6H+YOj+KBqPlWPQ7JnV AisccdYNkBLozcfa2YqRqNSQYrU3v/XVVEintkHolM6v4mhjH6XMB9J8Q0N616aQZM8p T5OQ== X-Gm-Message-State: AOAM531Ruk7XQai+lNM34D9c1Zx4f68eXHcHctcs60sL3+/JfIQrHZDE DrPJKBtECg7h69ywSvrkHDXNAWMb X-Google-Smtp-Source: ABdhPJx92parcWz1MGZMviu+sdVywKWZx68GHLUVF+0aB8H5F5nLu/R+5RXcnNQmXEZKFXBHsc47Ew== X-Received: by 2002:a17:90a:1a02:: with SMTP id 2mr10032223pjk.150.1595431674384; Wed, 22 Jul 2020 08:27:54 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:53 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:33 +0800 Message-Id: <1595431659-664-2-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/8] avformat/mpegts: decode and export ATSC AC-3 descriptor 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegts.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 1ed7eaf..d450507 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1990,6 +1990,48 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type st->request_probe = 50; } break; + case 0x81: /* ATSC AC-3 descriptor */ + { + uint8_t buf; + uint8_t sample_rate_code, bsid,bitrate_code,surround_mode, bsmod; + uint8_t num_channels, full_svc, mainid, priority, asvcflags; + + if (desc_len < 4) + return AVERROR_INVALIDDATA; + + buf = get8(pp, desc_end); + sample_rate_code = (buf >> 5 ) & 0x07; + bsid = buf & 0x1F; + av_dict_set_int(&st->metadata, "atsc.ac3_desc.sample_rate_code", sample_rate_code, 0); + av_dict_set_int(&st->metadata, "atsc.ac3_desc.bsid", bsid, 0); + + buf = get8(pp, desc_end); + bitrate_code = (buf >> 2 ) & 0x1F; + surround_mode = buf & 0x03; + av_dict_set_int(&st->metadata, "atsc.ac3_desc.bitrate_code", bitrate_code, 0); + av_dict_set_int(&st->metadata, "atsc.ac3_desc.surround_mode", surround_mode, 0); + + buf = get8(pp, desc_end); + bsmod = (buf >> 5) & 0x07; + num_channels = (buf >> 1) & 0x0F; + full_svc = buf & 0x01; + av_dict_set_int(&st->metadata, "atsc.ac3_desc.bsmod", bsmod, 0); + av_dict_set_int(&st->metadata, "atsc.ac3_desc.num_channels", num_channels, 0); + av_dict_set_int(&st->metadata, "atsc.ac3_desc.full_svc", full_svc, 0); + + buf = get8(pp, desc_end); + if (bsmod < 2) { + mainid = (buf >> 5) & 0x7; + priority = (buf >> 3) & 0x3; + av_dict_set_int(&st->metadata, "atsc.ac3_desc.mainid", mainid, 0); + av_dict_set_int(&st->metadata, "atsc.ac3_desc.priority", priority, 0); + } else { + asvcflags = buf; + av_dict_set_int(&st->metadata, "atsc.ac3_desc.asvc", asvcflags, 0); + } + /* other field in standard will be skipped */ + } + break; case 0x52: /* stream identifier descriptor */ st->stream_identifier = 1 + get8(pp, desc_end); break; From patchwork Wed Jul 22 15:27:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21223 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 DCD234482F1 for ; Wed, 22 Jul 2020 18:28:03 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B68F568B71D; Wed, 22 Jul 2020 18:28:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E82E268B6F6 for ; Wed, 22 Jul 2020 18:27:57 +0300 (EEST) Received: by mail-pl1-f179.google.com with SMTP id k4so1152236pld.12 for ; Wed, 22 Jul 2020 08:27:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=sqc+IaUiQ1KGmMc6ATeI+Ph2nLsSm6YcFM+RsIMyMV4=; b=lEOl2vQ7XTkdYx/yZi+pmeTvaZTNVAVCQne1+O48MaoE7WTH7Mg8ZoI+9z38iROu1B Zcv75mKfKViDUvFfRCfdfGKS+i7P1IFqZDWGo93RkS3CBXA1uOvkiJW8NJ0XBTCap5tK wbv9A/1IdzlL9bcdRgdHiZDtx0oHFc76X21y9ZWgjSkeCNtUGp7PrWkdRG091UIoRnYH 4j3AuZN1zHnC+T8tCM3yzSFxuenNsk3je0wTwLup+iGWp8GCZiMaEzzqbI6AJtGsDJsO vuljRn+ZtM3CUpdkOwSGS9GIj7ZF7PLd/Cl9h/E32fvyfiKU3njuWrplZ0ILQ7o0gDTk RDiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=sqc+IaUiQ1KGmMc6ATeI+Ph2nLsSm6YcFM+RsIMyMV4=; b=ZtVZOw4ch0AYLB7JLRZUJ5ujMVTtG4WHAkGvc/oA8r//cCmSb/ad0Zh97Nw1RLrA3q t3HIXd0XmcdcX7gf9Ueaep8+Hc6xTU5i5l3FoNTVT5XktZEDJolQzuI1ly+7ocuoaZmL PR88bDM+eDI/HHmqJ0xFsl7iv8GPJbBrAhFoInDLZ4xHK7oSS5ebC/d7zXlDS9nf2ypq tJVR4w21RbhHJyi+Pqik96oY+U6zqXo4xH9tlA/ILNnQo7SqxNz2LBTlAxVwIvrSqugz BnKSR6E2Dk26ZYY0TNYFsE55rhBryrivKbsxmvbQWLHF+UvP6pEHPa4QRZzFPaoH839+ EKIA== X-Gm-Message-State: AOAM533MimY0U4eZbFdAQamVE5VygiBldisXIvTGjVJchMNLnsc0SpaN FQoeKaBUYyBbJmsRbr5YVToBQCgu X-Google-Smtp-Source: ABdhPJxf0TsxEMuxPLbFS6aa0XgVxVgywxhSfqGW367Cev9F10gi+Q1cS4Lk9/1gGhyAg43FGvaZDg== X-Received: by 2002:a17:90a:1089:: with SMTP id c9mr10658975pja.180.1595431676045; Wed, 22 Jul 2020 08:27:56 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:55 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:34 +0800 Message-Id: <1595431659-664-3-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 3/8] avformat/mpegtsenc: simplify code for condition checks 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index d827ba3..2d7a8ab 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -483,16 +483,18 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) /* write optional descriptors here */ switch (st->codecpar->codec_type) { case AVMEDIA_TYPE_AUDIO: - if (st->codecpar->codec_id==AV_CODEC_ID_AC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { + if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { + if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { *q++=0x6a; // AC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } - if (st->codecpar->codec_id==AV_CODEC_ID_EAC3 && (ts->flags & MPEGTS_FLAG_SYSTEM_B)) { + else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { *q++=0x7a; // EAC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } + } if (st->codecpar->codec_id==AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); if (st->codecpar->codec_id==AV_CODEC_ID_OPUS) { From patchwork Wed Jul 22 15:27:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21227 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 2984944B467 for ; Wed, 22 Jul 2020 18:36:12 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A5DD68B733; Wed, 22 Jul 2020 18:36:12 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3FC8A68B664 for ; Wed, 22 Jul 2020 18:36:05 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id p3so1468380pgh.3 for ; Wed, 22 Jul 2020 08:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5cRXj2B6LsYoSuWKgjnqGNf+soUrKWh8yqptPDB7pTw=; b=T7HIHUGfY51RikkrS8azL+glVEMmKRz6MHS+yCf4iuo9tHUlB0vACOyu3bgKS0Cy5L JS6eLpOWfc3ksuFMOqbsUnHJVKrVWua+rru+V1j1w2wzre1gNVG5WFApGXZO/Ohb8vWc 4InDLOjcp0yTZNq2Qlx96Bna8ZMTM9Gy5o5mB1GnO0e0mZr+O4/3S8k5fHJiPmmFqPzb dHQYK8tZSdBiC9sSZDV8VSBO05p+00BQLj4cmAC40yf2wbl3ljYdCY7PbcSMg3bcNQ5i wTTI0NCyIVBlyoc/Gbj3rw6F/GrouTNsKzwQazBe1Y3hdYzH28SEUWRKsuIouUVpCHnW s6pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5cRXj2B6LsYoSuWKgjnqGNf+soUrKWh8yqptPDB7pTw=; b=qjHbE0ZyiwIfpAzatlQZv/OpYDMkxQxCdlEzCMRRHE8tIb3oQW37TKlhqSP5QrpA5P skEVPgujkjPKwm/8+k6WTur7LGj5saokPftTg4a8TNmQrPRvIfiiF/GZm61mSHF/Gkkk nVdU2AS51vEIcbgyTuYv6dLpw4Wrz42c7iUmtbW7p9dm6SZITpSywHNtRTpnHlH0dIwq cCekHI6dtOqJ2FYJv6gI+ovTUGZhWl9hMrYEIQMHIdegdP2I7YgL49Y053KabIT98OYv 6EWomnowxOuIr+KXhRvHRbcoyx+6+tkxnKjzWKDZrLdIGSJToJ4+gJZof4PDPEcwptsI UBUA== X-Gm-Message-State: AOAM533TNZCAie6yui669hOeOkKW1sMIYvKarxhuup8a9RO3qP01y5gg PhfLC9LxgiTyz269vPdiqoIxQjHE X-Google-Smtp-Source: ABdhPJz8754IncOWL8UQTAlh1OhOSl/6dLFK0qMVAR1pbflpoRIw0Mnrqut7I/XIMFJMF7+zVugh2Q== X-Received: by 2002:a17:902:6949:: with SMTP id k9mr1952plt.91.1595431677673; Wed, 22 Jul 2020 08:27:57 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:57 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:35 +0800 Message-Id: <1595431659-664-4-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/8] avformat/mpegtsenc: reindent the last commit 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 2d7a8ab..28d535a 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -484,16 +484,15 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) switch (st->codecpar->codec_type) { case AVMEDIA_TYPE_AUDIO: if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { - if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { - *q++=0x6a; // AC3 descriptor see A038 DVB SI - *q++=1; // 1 byte, all flags sets to 0 - *q++=0; // omit all fields... - } - else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { - *q++=0x7a; // EAC3 descriptor see A038 DVB SI - *q++=1; // 1 byte, all flags sets to 0 - *q++=0; // omit all fields... - } + if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { + *q++=0x6a; // AC3 descriptor see A038 DVB SI + *q++=1; // 1 byte, all flags sets to 0 + *q++=0; // omit all fields... + } else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { + *q++=0x7a; // EAC3 descriptor see A038 DVB SI + *q++=1; // 1 byte, all flags sets to 0 + *q++=0; // omit all fields... + } } if (st->codecpar->codec_id==AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); From patchwork Wed Jul 22 15:27:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21224 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 E503A44030B for ; Wed, 22 Jul 2020 18:28:07 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CB9BA68B733; Wed, 22 Jul 2020 18:28:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3097A68B644 for ; Wed, 22 Jul 2020 18:28:01 +0300 (EEST) Received: by mail-pl1-f196.google.com with SMTP id x9so1172252plr.2 for ; Wed, 22 Jul 2020 08:28:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PD5nmCdx5/8mheygQ/AL02IstyfsG45JO6nqrY2khPI=; b=u+7CrlLldXT3PmmlWd9+SbB3t/cFFy/OwHHlpbDElc3JnRdxAdCof2fReJ25F5CSkP 7QG7KxRv5Y6/OiOBspo7HQQ/JpX+ULD8XHM3DRlzu3E+qIWK1LZhUOO4c4KgiV9FDqFy 1mF7h2fYBcOO76hXbt+dhzKMkHRkMyFfUe78Xpp2nDcGRDbPJN7WCJsBYZH53XgKLfxB bBFsegHdu6PnIxbXIFPnHVI65yxwWJsabJrqSBxIeAt1UPDPe1P5Do+0uHcHsdQxu7wu gwLd1B3wzM2xCWFtj5fYhdTYoh3AeZobvrGnMCIAK/wsJrMElOFui3DvjkgxqJ732nHh sEMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PD5nmCdx5/8mheygQ/AL02IstyfsG45JO6nqrY2khPI=; b=PHSzusTo1VzE2ljzrArk5xJnJazMnMAwVnUGt2nUQVZ6V0zs1cehrGTp7eRlROwUfN Fbn+Yb8pwSt5EzcK5Tp49x4YSO6t0SDg2FQjK4Jb+q5Fdmfj069eXcsgeCzfdY1M6X7A JodfP3mdzPADGspYZ3qGq8+aeZ71sH8a1XFKpRwcBrmAPPWAf9GcrUCFk/KE8r69HB3Z psaX7u5CYEAjwfn/ewWR6dW+LMsHPkZ1arq5dyUV88GrPlFD3xbshV+v+YyGmo/5I0R8 MfIQP/P0PAKEZ3yFNvXO8CWxjlhwbbgHLbThLleU0RWZNmkKKPmEmwO47RHhyqrMMi2G 5d+Q== X-Gm-Message-State: AOAM532qgZjiN/jFBiXeKLLndUDvgMLVb2zvkDUopWoYnIV4hMV2qr8r a592+qGnUw+hDI/gcNLv7NV8jRAv X-Google-Smtp-Source: ABdhPJw8W4bWcdu70Lr70EuwTdhYhUXx6rmizsUx5o0lD5h80cvCjDMHPaR0hcMjT8NnhN28DeNwCQ== X-Received: by 2002:a17:902:a713:: with SMTP id w19mr32445plq.146.1595431679289; Wed, 22 Jul 2020 08:27:59 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:58 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:36 +0800 Message-Id: <1595431659-664-5-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 5/8] avformat/mpegtsenc: use local variable store st->codecpar->codec_id 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 28d535a..718ddab 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -453,6 +453,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) AVStream *st = s->streams[i]; MpegTSWriteStream *ts_st = st->priv_data; AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL, 0); + enum AVCodecID codec_id = st->codecpar->codec_id; if (s->nb_programs) { int k, found = 0; @@ -484,19 +485,19 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) switch (st->codecpar->codec_type) { case AVMEDIA_TYPE_AUDIO: if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { - if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { + if (codec_id == AV_CODEC_ID_AC3) { *q++=0x6a; // AC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... - } else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { + } else if (codec_id == AV_CODEC_ID_EAC3) { *q++=0x7a; // EAC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } } - if (st->codecpar->codec_id==AV_CODEC_ID_S302M) + if (codec_id == AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); - if (st->codecpar->codec_id==AV_CODEC_ID_OPUS) { + if (codec_id == AV_CODEC_ID_OPUS) { /* 6 bytes registration descriptor, 4 bytes Opus audio descriptor */ if (q - data > SECTION_LENGTH - 6 - 4) { err = 1; @@ -611,7 +612,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) const char default_language[] = "und"; const char *language = lang && strlen(lang->value) >= 3 ? lang->value : default_language; - if (st->codecpar->codec_id == AV_CODEC_ID_DVB_SUBTITLE) { + if (codec_id == AV_CODEC_ID_DVB_SUBTITLE) { uint8_t *len_ptr; int extradata_copied = 0; @@ -653,7 +654,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) } *len_ptr = q - len_ptr - 1; - } else if (st->codecpar->codec_id == AV_CODEC_ID_DVB_TELETEXT) { + } else if (codec_id == AV_CODEC_ID_DVB_TELETEXT) { uint8_t *len_ptr = NULL; int extradata_copied = 0; @@ -697,9 +698,9 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) } break; case AVMEDIA_TYPE_DATA: - if (st->codecpar->codec_id == AV_CODEC_ID_SMPTE_KLV) { + if (codec_id == AV_CODEC_ID_SMPTE_KLV) { put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); - } else if (st->codecpar->codec_id == AV_CODEC_ID_TIMED_ID3) { + } else if (codec_id == AV_CODEC_ID_TIMED_ID3) { const char *tag = "ID3 "; *q++ = 0x26; /* metadata descriptor */ *q++ = 13; From patchwork Wed Jul 22 15:27:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21228 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 098DB44B467 for ; Wed, 22 Jul 2020 18:36:19 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E494068B71D; Wed, 22 Jul 2020 18:36:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7864868B559 for ; Wed, 22 Jul 2020 18:36:12 +0300 (EEST) Received: by mail-pl1-f194.google.com with SMTP id b9so1174760plx.6 for ; Wed, 22 Jul 2020 08:36:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5BZkdNEDcDUEVuOfWdF39o4FFTtgypqCaumzgxT27KE=; b=TKAXTUDwCw6EgnVovIOgGm6/Q95Rlpzyi9Q33aYSPQ9+W7yD89PV3zC0gn5qeILR2+ mvajsZy+HQUFr61UTmRrpRi58UGlGi8FwdNMnxF1yFJs7SxRpJIPH5Att2TgwO0unnFj uOEKYju2zG+C+eg6mKKDIZCNQ5eWP6OOx8cst1dz6KhG738TiVF+fe+nK6FgvHXJfZtR d7d04hUXzHxfelnfQoZqgwkEQnrUkqH1ufXhuv4QfX8w9w9lcKayvC/RFFhFoyrka7ut lqlnYrDcrgLIn7PtLSsiqUEB96RADsVJZo9K2bEbTCAn7tlZH5qUB8JKsKdlO21eHsT6 cGQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5BZkdNEDcDUEVuOfWdF39o4FFTtgypqCaumzgxT27KE=; b=WIodZmKbTqmlvqDF5MGgn7v0e181rSlKc/XXQ92y58IIi1bFyXAyr/7MGfh3z9oS/A 0sLuxpLVxW6HfZtOgBVKfePbTw633OMfrhnnPJSfhSGc8cNyz2Em8eGP8kGnurNfg6+C jkapVdI2UpCmHmzA20nJ/8RdRObagYel96tM+OABpYZ4dqv6WUt/btdrtixZxAXm6X3D LRvr/N2QMlE4IKlpvWrOhkWpPkbvNuMHL0R3U4ufFoq9L74E7yzCLjBb7ej/Csndp7Mg wLh4W7Ncu+kip0cZSdSjx0JPX5Ddk5ww8vQmtMLeQlGvfhHNiD9gEfI4nQs57C0pgrBh U2SA== X-Gm-Message-State: AOAM533oPXA1TL+XIxyuT6TDyv/ru+CMjkUQVbSyviILLCk5YeslMzAN eRF7k6ofItDNTozS9I4zag/gAKPi X-Google-Smtp-Source: ABdhPJzgnHu7kH6VeYx6Jjn4RaDo6ZZyOO6GNssYP7PsoPi3aNqxljUE8tf//rtsRENZsqfb7kwXdw== X-Received: by 2002:a17:902:8d95:: with SMTP id v21mr35909plo.108.1595431680982; Wed, 22 Jul 2020 08:28:00 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:28:00 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:37 +0800 Message-Id: <1595431659-664-6-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 6/8] avformat/mpegtsenc: support dvb ac3 descriptor by metadata 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 718ddab..a5b45fb 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -486,9 +486,50 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) case AVMEDIA_TYPE_AUDIO: if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { if (codec_id == AV_CODEC_ID_AC3) { + int len = 1; + uint8_t component_type_flag = 0; + uint8_t bsid_flag = 0; + uint8_t mainid_flag = 0; + uint8_t asvc_flag = 0; + uint8_t componenet_type_value, bsid_value, mainid_value, asvc_value; + AVDictionaryEntry *component_type = av_dict_get(st->metadata, "dvb.ac3_desc.component_type", NULL, 0); + AVDictionaryEntry *bsid = av_dict_get(st->metadata, "dvb.ac3_desc.bsid", NULL, 0); + AVDictionaryEntry *mainid = av_dict_get(st->metadata, "dvb.ac3_desc.mainid", NULL, 0); + AVDictionaryEntry *asvc = av_dict_get(st->metadata, "dvb.ac3_desc.asvc", NULL, 0); + *q++=0x6a; // AC3 descriptor see A038 DVB SI - *q++=1; // 1 byte, all flags sets to 0 - *q++=0; // omit all fields... + + if (component_type) { + component_type_flag = 1; + componenet_type_value = atoi(component_type->value); + len ++; + } + if (bsid) { + bsid_flag = 1; + bsid_value = atoi(bsid->value); + len ++; + } + if (mainid) { + mainid_flag = 1; + mainid_value = atoi(mainid->value); + len ++; + } + if (asvc) { + asvc_flag = 1; + asvc_value = atoi(asvc->value); + len ++; + } + + *q++ = len; + *q++ = component_type_flag << 7 | bsid_flag << 6 | mainid_flag << 5 | asvc_flag << 4; + if (component_type_flag) + *q++ = componenet_type_value; + if (bsid_flag) + *q++ = bsid_value; + if (mainid_flag) + *q++ = mainid_value; + if (asvc_flag) + *q++ = asvc_value; } else if (codec_id == AV_CODEC_ID_EAC3) { *q++=0x7a; // EAC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 From patchwork Wed Jul 22 15:27:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21225 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 D95AC449E54 for ; Wed, 22 Jul 2020 18:28:10 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C831C68B79C; Wed, 22 Jul 2020 18:28:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f67.google.com (mail-pj1-f67.google.com [209.85.216.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9C6C468B644 for ; Wed, 22 Jul 2020 18:28:04 +0300 (EEST) Received: by mail-pj1-f67.google.com with SMTP id b92so1560287pjc.4 for ; Wed, 22 Jul 2020 08:28:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=D/djDuv3X5eQxDX1GJQ5aZwsM1VnI4Wn/x0IZJXRcYg=; b=piXQKGashKAdAELHLU168pYFFdZUq1R4ejdl2um7WuCxX9vWVpGpPsiEKDUj/P1WHm j1gzELgm7M/mm+jT95+H1evbZaFs3mbQdl7d9P9OHYUxEdu/bKqxw2JT0j2FBNw0JPWp 1FPt4UbC3IhW/V/ovGI6eMiZEN4XFUYHIID8CLHp5ybHEz/krWbJGBPjcMkxTdtKHeZI eZAdR23zvoWMuyE8TB/KLBTabYVvtvAZQiqgpM80w5s9jDfu3Rv26gScsfGhIxdw0TDR cShRv8PZc0DuG0aiLSFfLRkaQOaaG+PiAq+jp+FLd75Uxu3Wy8ulZa/+YHGsHDC8/5Hf 7pjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=D/djDuv3X5eQxDX1GJQ5aZwsM1VnI4Wn/x0IZJXRcYg=; b=HuxhFv0eN8QCnqz+lI4SywRmGfLnoKjdyN6TkzJ8TEIqIZQ/aYeeUN9mtQ5Z7ZKFuz AOXKSixqmNCZ2BDe5Z9TKeBM73paC3UMUXVA6VYkib+GFJx5WDz7fhjWUbg+UaowZzps 0crsAAvngHzI+Dmqn21mYVNSavr9xk2QarJOoJrZg3G8Qo12BYEYf8PnUVnYbSE/chel eGFFU1QFRM005H3VtbtwNqL4K5cjpyI8LovkcghCc7FenwmxS1tvkaS/9gv8kYi73OVT ixr3Vw1MRi9S8J8M/+EehyVUWXEbJkZEZkPZMgjYI3RXID4EsSsQtaVxJOr0T27MkuOr Uwqw== X-Gm-Message-State: AOAM532ShRAS/DXZvid7V9lBMKyejq/3U3beQPpG/e5L3tzFoq/DmuXI Pg4FuQyZVJhvOUqZ/TC/pBTw2eX0 X-Google-Smtp-Source: ABdhPJw/pmIrIANPw4NE9Qvay58banopRQ3WfVk89hF9IQRdW0p0LsGfScQJT4M8wOnQ9/klXzksNA== X-Received: by 2002:a17:902:d211:: with SMTP id t17mr35526ply.106.1595431682584; Wed, 22 Jul 2020 08:28:02 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.28.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:28:02 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:38 +0800 Message-Id: <1595431659-664-7-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 7/8] avformat/mpegtsenc: add registration descriptor for AC-3 and EAC3 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang copy the atsc ac3 audio in ts like below: ./ffmpeg -i atsc_audio.ts -c:v copy -c:a copy out.ts Stream #0:6[0x64](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s ./ffmpeg -i out.ts Before: Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s After applied patch: Stream #0:1[0x101](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index a5b45fb..f060ea6 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -535,6 +535,11 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } + } else { + if (codec_id == AV_CODEC_ID_AC3) + put_registration_descriptor(&q, MKTAG('A', 'C', '-', '3')); + else if (codec_id == AV_CODEC_ID_EAC3) + put_registration_descriptor(&q, MKTAG('E', 'A', 'C', '3')); } if (codec_id == AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); From patchwork Wed Jul 22 15:27:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21226 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 86781449E54 for ; Wed, 22 Jul 2020 18:28:13 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6FF9368B7CB; Wed, 22 Jul 2020 18:28:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1085968B7F1 for ; Wed, 22 Jul 2020 18:28:06 +0300 (EEST) Received: by mail-pg1-f193.google.com with SMTP id z5so1451088pgb.6 for ; Wed, 22 Jul 2020 08:28:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x+dLkDWP6uqDQCEIFgArz9BaUvP0xOynw8Pi3nPnHKc=; b=hBIk1BGlJF6lUQNtBQT/lT1rhPh5hSp8rwTroZa5QKVzsm65uX6gpWb/fqAnYI0l1B FWJt10IX3BQthiv0Q+HNG1EnlWxAp1coaWVFwNWgLR9LCQj8c07vU6DwRLX/HFyIgwhv zZCQEjA3pJFHUiW27Ok36h5FwML3OG+qdLEDFx5RKy7rwAhsy854v7v5U/Si/+LAGuEJ f3F7DQPhwsM4pzMcXNTb+cXNbw/wuRO2lREXb7rtB5eZU1zfudEbBBfsa3TyKYMb5yHK ywLOaYkeGHXtQd4EP6WxxvWOnicbFpNoa7Vpoq9dLnAKncoOrQPhIoWNKAIipZliNZJn foxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x+dLkDWP6uqDQCEIFgArz9BaUvP0xOynw8Pi3nPnHKc=; b=DnnkYgE5/Qu/qTDPJVPeM+CKUMaOQhC80/6kRvIgzQQKJFDUv/blqFZGxMmayleoAq 3xfQSF5DZepSs1yOV4z3N304XWbdMkFVFNkNU1bG2jGNkzFUkUAXr9CSQ5MGiCqftsV4 RZnEuBHxniwfo+N4x/Wga0sCtxyPXdoAfR9VS3B/DO27ou9f0/5Wc4r94T8BPgNIzsAV /i+nMjCbb71/3Pu0OpXmls2i2U67nh3DPg+/t5/oi1QEphAgWOr1P/lw+Yg5X5cMsgVb 288k2G1rnS5Tm0DHjM0fuDtjyh2/tM73AFdTik9cRBmfqtl3aJW02PfX0TgDQKluVao2 BSdw== X-Gm-Message-State: AOAM533QMQmyP/GEEn76Bm9G7cL+//sFGTmGrOGVMWtpwSCmYXxDDIBo kPWDYQ2mWOsP881+8WSLKTBSv92y X-Google-Smtp-Source: ABdhPJwbWzSwAFHFJerKm8NCpXnvjva+iue/LUQw0UozjaA1jgzA02X1sRSON08a0dU5J1soyAEg9Q== X-Received: by 2002:aa7:97a1:: with SMTP id d1mr206704pfq.190.1595431684183; Wed, 22 Jul 2020 08:28:04 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.28.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:28:03 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:39 +0800 Message-Id: <1595431659-664-8-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 8/8] swscale/yuv2rgb: cosmetics 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libswscale/yuv2rgb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c index e02d74f..6a3956e 100644 --- a/libswscale/yuv2rgb.c +++ b/libswscale/yuv2rgb.c @@ -983,9 +983,10 @@ av_cold int ff_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], y_table32[i + 2 * table_plane_size] = yval << bbase; yb += cy; } - if (isNotNe) - for (i = 0; i < table_plane_size * 3; i++) - y_table32[i] = av_bswap32(y_table32[i]); + if (isNotNe) { + for (i = 0; i < table_plane_size * 3; i++) + y_table32[i] = av_bswap32(y_table32[i]); + } fill_table(c->table_rV, 4, crv, y_table32 + yoffs); fill_table(c->table_gU, 4, cgu, y_table32 + yoffs + table_plane_size); fill_table(c->table_bU, 4, cbu, y_table32 + yoffs + 2 * table_plane_size);