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 61ADF43909 for ; Wed, 3 Aug 2022 13:14:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A0E968B7AE; Wed, 3 Aug 2022 16:14:10 +0300 (EEST) Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E32E468B6B1 for ; Wed, 3 Aug 2022 16:14:03 +0300 (EEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20220803131401euoutp01357939415cbdec0ad1314df56ccd5f5a~H1-Zp3B6D3191831918euoutp01v for ; Wed, 3 Aug 2022 13:14:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20220803131401euoutp01357939415cbdec0ad1314df56ccd5f5a~H1-Zp3B6D3191831918euoutp01v DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1659532441; bh=7PUwG4x7aSNeGXuANmQ5g+mZF75ofat1FR/LhanEKL8=; h=From:To:In-Reply-To:Subject:Date:References:From; b=o538RBLSCegz8oodwHI666fw1TtvuSGnKvDtWv+D1ThvYFZ7217jukkWoj1ojkvpC z1hclv8Z/VIYmIj+VVPQ0HFlzEId+K/cIPCCYYUXUyQyhYOl2FVDEja6yCqyTItQx+ qzgEAk0+MAQ+VM814tehQVEiVbYCJQwlrzETiCG8= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20220803131400eucas1p263b3ff2c62e23c145af0e1eeafc8377f~H1-ZcAHQU1358113581eucas1p2s for ; Wed, 3 Aug 2022 13:14:00 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 02.5E.10067.8947AE26; Wed, 3 Aug 2022 14:14:00 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20220803131400eucas1p26be43f9a898e40e1f925fc67270f678a~H1-Y-BaDE1357013570eucas1p23 for ; Wed, 3 Aug 2022 13:14:00 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220803131400eusmtrp297d7e248bd44c0416345440c7325b5a6~H1-Y_bJxq0140501405eusmtrp2I for ; Wed, 3 Aug 2022 13:14:00 +0000 (GMT) X-AuditID: cbfec7f4-dd7ff70000002753-f7-62ea7498167e Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id C4.FA.09038.8947AE26; Wed, 3 Aug 2022 14:14:00 +0100 (BST) Received: from AMDN3260 (unknown [106.210.132.171]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20220803131359eusmtip2807cbfefcbb00172793db500d1232cc6~H1-YqQjey1159511595eusmtip2O for ; Wed, 3 Aug 2022 13:13:59 +0000 (GMT) From: =?utf-8?Q?Dawid_Kozinski/Robot_SDK_=28PLT=29_/?= =?utf-8?Q?SRPOL/Staff_Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= To: "'FFmpeg development discussions and patches'" In-Reply-To: Date: Wed, 3 Aug 2022 15:13:59 +0200 Message-ID: <004c01d8a73a$e5177090$af4651b0$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGcviT3Su2wfi8EL65XYlO9HuPOZAEsn7e4AcSMEiSt/W+4YA== Content-Language: pl X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsWy7djPc7ozSl4lGUw7oGXx7dMZZgdGjz+L NrMEMEZx2aSk5mSWpRbp2yVwZdycvpOt4Kd2xY6OS8wNjA+Uuhg5OSQETCS2nm9l7mLk4hAS WMEo8ezMZzYIZxKTxJm1MxghnIlMEg2L9rDDtPQeXcQOkVjOKLHp1DOoqjYmiacvHoA5bAIz GSXmfl3DCNIiIuAj0b1+PSuIzSlgKzFl1Tw2EFtYIEOib+lmZhCbRUBF4uHX72A2r4ClxLf3 e1khbEGJkzOfsIDYzALaEssWvmaGOENB4ufTZUA1HEDznSQ+f02FKBGRuPGoBewGCYGpHBKT ns9igqh3kWjf180IYQtLvDq+BeodGYn/O+czgcyRECiWONTvAGHWSBz6kQ5RYS3xtvE4I0iY WUBTYv0ufYgKR4mtZ7QgTD6JG28FIfbzSUzaNp0ZIswr0dEmBGGqSPR1ikGMk5J4umwO8wRG pVlI/puF5L9ZSB6ZhbB1ASPLKkbx1NLi3PTUYqO81HK94sTc4tK8dL3k/NxNjMDEcPrf8S87 GJe/+qh3iJGJg/EQowQHs5II7x2X50lCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeZMzNyQKCaQn lqRmp6YWpBbBZJk4OKUamHw7f97lXfx23xudS3ntuT4mYq1VnwLSpYT4Nm9iaoyurF197tKS hwECOl+9z1uE8qRcYF1wZPfbNvtdAa5yIixtzVOlp1p0rlkjeSGunitNhvV+lo+tfsfFzTcV 1AQWPXK4U6n4/k//aw3VGrFIzlfrDka2Ld2cufrpxw83WSRPnw5bnrVy1nmDrKPapc4RDq+/ 59fMk1eK/jlH8G1Y8/Kyfb9u3YvwKPU1z/OO0MtZ9tzlSofZf5MVPVvCnlxWMb6yoK196RZW Nod7q6u37TolK7WyVGv7mVU37h3N3fu15eqzv3/X6s+Xfr5jappw6xsxl5LKfvFzt6ecO7d/ zwo9tYWH7e91GjutKJwfUKrEUpyRaKjFXFScCACPDo72ewMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPLMWRmVeSWpSXmKPExsVy+t/xe7ozSl4lGTzZw2/x7dMZZgdGjz+L NrMEMEbp2RTll5akKmTkF5fYKkUbWhjpGVpa6BmZWOoZGpvHWhmZKunb2aSk5mSWpRbp2yXo ZfSeOsZYMEGj4tGxlcwNjI3yXYycHBICJhK9RxexdzFycQgJLGWU6J20lBEiISWxdOkiKFtY 4s+1LjaIohYmibY/zSwgDpvAdEaJkwf7mECqRAR8JLrXr2cFsYUE9jBKzJ7sC2JzCthKTFk1 jw3EFhZIk5j85CALiM0ioCLx8Ot3ZhCbV8BS4tv7vawQtqDEyZlPwGqYBbQlnt58CmcvW/ia GeIiBYmfT5cB1XMA7XWS+Pw1FaJEROLGoxbGCYxCs5BMmoVk0iwkk2YhaVnAyLKKUSS1tDg3 PbfYSK84Mbe4NC9dLzk/dxMjMCa2Hfu5ZQfjylcf9Q4xMnEwHmKU4GBWEuG94/I8SYg3JbGy KrUoP76oNCe1+BCjKdBrE5mlRJPzgVGZVxJvaGZgamhiZmlgamlmrCTO61nQkSgkkJ5Ykpqd mlqQWgTTx8TBKdXA5B2RF3i5MSKgKC/l6t6gLt0ZeYZ5thPvLuMzXMem2/d9+dzI+1Evrt5f 3+Y26dP5hf1BK7RXn2QrzJ/4o7viacVqhd+OC79usnZe6KEdpygac+v4HNn62CvSc1YxRX25 faf2cb2C+NKA2Pl7TmTfzLkZG998xe+NBl/z/Y6/uewbHDqSTDu0nx3RmNa0QHDTrvr1Pm+e nJ+rHzJxs8+y2dELl61f5PSQtUhK3u1XT+mp7Q8axZh+mPekLplw6TLf3JrLk9Q271WbXZTT FDDt3T7Wj5WTOr680ny16Z2v1+ZFu8R0I6+W3PlTp9mu3F/X0vXOJMv88MOkNwfWHK39tmft 1Psyi+3E3vgF8l85/E+JpTgj0VCLuag4EQCkfK41EgMAAA== X-CMS-MailID: 20220803131400eucas1p26be43f9a898e40e1f925fc67270f678a X-Msg-Generator: CA X-RootMTR: 20220801092901eucas1p1f8d764e6269c88872566d616b74a6b99 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20220801092901eucas1p1f8d764e6269c88872566d616b74a6b99 References: <002001d8a589$2272a170$6757e450$@samsung.com> Subject: Re: [FFmpeg-devel] [PATCH 2/2] Provided support for MPEG-5 EVC (Essential Video Coding) codec 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 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: -----Original Message----- From: ffmpeg-devel On Behalf Of James Almer Sent: Monday, August 1, 2022 4:05 PM To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH 2/2] Provided support for MPEG-5 EVC (Essential Video Coding) codec On 8/1/2022 6:29 AM, Dawid Kozinski wrote: > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index 5608afde42..d0b094c30d 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -1392,6 +1392,16 @@ static int mov_write_hvcc_tag(AVIOContext *pb, MOVTrack *track) > return update_size(pb, pos); > } > > +static int mov_write_evcc_tag(AVIOContext *pb, MOVTrack *track) > +{ > + int64_t pos = avio_tell(pb); > + > + avio_wb32(pb, 0); > + ffio_wfourcc(pb, "evcC"); Is that it? That's all this atom contains? No structure containing a global SPS/PPS? Is there a spec anywhere defining this? ####################################### David: ---------------------------------------------------------------- It seems that we need some information on how to do it in accordance with the rules of art. We have currently provided a minimalist version. ####################################### > + > + return update_size(pb, pos); > +} > + > /* also used by all avid codecs (dv, imx, meridien) and their variants */ > static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track) > { > @@ -1641,6 +1651,16 @@ static int mov_get_h264_codec_tag(AVFormatContext *s, MOVTrack *track) > return tag; > } > > +static int mov_get_evc_codec_tag(AVFormatContext *s, MOVTrack *track) > +{ > + int tag = track->par->codec_tag; > + > + if (!tag) > + tag = MKTAG('e', 'v', 'c', 'i'); > + > + return tag; > +} > + > static const struct { > enum AVPixelFormat pix_fmt; > uint32_t tag; > @@ -1722,6 +1742,8 @@ static unsigned int mov_get_codec_tag(AVFormatContext *s, MOVTrack *track) > tag = mov_get_mpeg2_xdcam_codec_tag(s, track); > else if (track->par->codec_id == AV_CODEC_ID_H264) > tag = mov_get_h264_codec_tag(s, track); > + else if (track->par->codec_id == AV_CODEC_ID_EVC) > + tag = mov_get_evc_codec_tag(s, track); > else if (track->par->codec_id == AV_CODEC_ID_DNXHD) > tag = mov_get_dnxhd_codec_tag(s, track); > else if (track->par->codec_type == AVMEDIA_TYPE_VIDEO) { > @@ -2280,6 +2302,9 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex > mov_write_avcc_tag(pb, track); > if (track->mode == MODE_IPOD) > mov_write_uuid_tag_ipod(pb); > + } > + else if (track->par->codec_id ==AV_CODEC_ID_EVC) { > + mov_write_evcc_tag(pb, track); > } else if (track->par->codec_id == AV_CODEC_ID_VP9) { > mov_write_vpcc_tag(mov->fc, pb, track); > } else if (track->par->codec_id == AV_CODEC_ID_AV1) { > @@ -6030,7 +6055,8 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) > if ((par->codec_id == AV_CODEC_ID_DNXHD || > par->codec_id == AV_CODEC_ID_H264 || > par->codec_id == AV_CODEC_ID_HEVC || > - par->codec_id == AV_CODEC_ID_TRUEHD) && !trk->vos_len && > + par->codec_id == AV_CODEC_ID_TRUEHD || > + par->codec_id == AV_CODEC_ID_EVC) && !trk->vos_len && Why are you copying the first muxed packet's data (in the absence of extradata) into vos_data if you're seemingly doing nothing with it? I'd expect that's what the evcC tag should contain. ####################################### David: ---------------------------------------------------------------- It seems that we need some information on how to do it in accordance with the rules of art. I guess, that our minimalistic version is not enough and should be extended, but as I mentioned we need know-how, a piece of knowledge on how to do it, and what should be done. ####################################### > !TAG_IS_AVCI(trk->tag)) { > /* copy frame to create needed atoms */ > trk->vos_len = size; > @@ -7689,6 +7715,7 @@ static const AVCodecTag codec_mp4_tags[] = { > { AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '3') }, > { AV_CODEC_ID_HEVC, MKTAG('h', 'e', 'v', '1') }, > { AV_CODEC_ID_HEVC, MKTAG('h', 'v', 'c', '1') }, > + { AV_CODEC_ID_EVC, MKTAG('e', 'v', 'c', '1') }, > { AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', '4', 'v') }, > { AV_CODEC_ID_MPEG1VIDEO, MKTAG('m', 'p', '4', 'v') }, > { AV_CODEC_ID_MJPEG, MKTAG('m', 'p', '4', 'v') }, _______________________________________________ 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". _______________________________________________ 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".