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 7CFD745F15 for ; Tue, 18 Apr 2023 10:43:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 094C868BE8D; Tue, 18 Apr 2023 13:43:26 +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 4178D680276 for ; Tue, 18 Apr 2023 13:43:19 +0300 (EEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20230418104318euoutp015c60fd0b49d747163a2e540c0544e4bd~XAXeFVTG22443024430euoutp01a for ; Tue, 18 Apr 2023 10:43:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20230418104318euoutp015c60fd0b49d747163a2e540c0544e4bd~XAXeFVTG22443024430euoutp01a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1681814598; bh=aeP59c/hI6Lj8Wp6+TqHOOTiqJtMNWgRlju77GjGF9E=; h=From:To:In-Reply-To:Subject:Date:References:From; b=c6w58PaijArVnLR4doV7ik37ARRouIaZy0L7joH7U6xcL27Te6Xc3MTmz4SKCDjup gAArM1az9j/oQ35UArp4oXjGa+HrybpwMZCxHbRGjsSu+OeZPnPC6dOJMjUVN0PKF4 8jBdaLe5+K72NJjKZMuo+gKcCj8W8skf7cvslDoY= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20230418104318eucas1p28d228ba60193e874003bc49f271dfc6c~XAXdtkpHY2224922249eucas1p2S for ; Tue, 18 Apr 2023 10:43:18 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 13.0E.10014.6447E346; Tue, 18 Apr 2023 11:43:18 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20230418104317eucas1p1282f490e7df4e9e73725111c17eb22dd~XAXdT5Iu82782727827eucas1p16 for ; Tue, 18 Apr 2023 10:43:17 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20230418104317eusmtrp11322e327b186420285abcebdefbd2567~XAXdTbTMs2019720197eusmtrp1c for ; Tue, 18 Apr 2023 10:43:17 +0000 (GMT) X-AuditID: cbfec7f5-ba1ff7000000271e-5b-643e7446d30c Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 40.F7.22108.5447E346; Tue, 18 Apr 2023 11:43:17 +0100 (BST) Received: from AMDN5164 (unknown [106.210.132.171]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20230418104317eusmtip185275e33f4f7da303a36268144b681c2~XAXdAzguk0116301163eusmtip1k for ; Tue, 18 Apr 2023 10:43:17 +0000 (GMT) From: "Dawid Kozinski/Multimedia \(PLT\) /SRPOL/Staff Engineer/Samsung Electronics" To: "'FFmpeg development discussions and patches'" In-Reply-To: <8fba3b03-e9ef-cd89-ed7e-a43639a2b945@gmail.com> Date: Tue, 18 Apr 2023 12:43:17 +0200 Message-ID: <007601d971e2$95e7bc00$c1b73400$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Content-Language: pl Thread-Index: AQIcHoXG4ppEykYXJRWYpQ7HTVVgTQHqTcv9AqFFTC2uhym6oA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFIsWRmVeSWpSXmKPExsWy7djP87puJXYpBjsecFl8+3SG2YHR48+i zSwBjFFcNimpOZllqUX6dglcGZ+Wv2Iv2O5RsejaNvYGxu1uXYycHBICJhKHTrxk72Lk4hAS WMEocXRWHxOEM4lJovHTeqjMRCaJZZsnssK0PO18xAaRWM4oMXH3CSinjUniwj6QYZwcbAJ5 Eo8/r2UGsUUEfCS6168H6ubg4BSwlZi+Vx0kLAxUMuPwJrByFgFVidP31jGB2LwClhLrnzdC 2YISJ2c+YQGxmQX0JJ6dmgVla0ssW/iaGeIgBYmfT5exQsRFJG48amGEWOsk8e/vL0aQ2yQE ejkkbl2ZAfWBi8S+czvYIWxhiVfHt0DZMhKnJ/ewgNwpIVAscajfAcKskTj0Ix2iwlribeNx RgjbUWLyxQVsECV8EjfeCkJcwCcxadt0Zogwr0RHmxCEqSLR1ykG0Sgl8XTZHOYJjEqzkLw4 C8mLs5C8OAvJWwsYWVYxiqeWFuempxYb56WW6xUn5haX5qXrJefnbmIEJofT/45/3cG44tVH vUOMTByMhxglOJiVRHjPuFqlCPGmJFZWpRblxxeV5qQWH2KU5mBREufVtj2ZLCSQnliSmp2a WpBaBJNl4uCUamBKtt6SYet+xzNA775ITrrf24erPApUOzdu+LDcQi9oNUcri/GaoC/TTv5/ Pvv24+I7LY0Vv/vdGL7mrY8oqbU4cqKA54NxxOqDVse2rWF6sshgU9S5I99Pe75VWxi5ebbo 1m/5d7ce5jM4NMPnTK5c+cqtL6WEyu9VMXVHGM77cIrtLDPfcYsLRb5tB55mlAd18Uxe+f1q wCn1rVZfNs0/Il1X8FcurzmC0fzX92mTH+W6Mbn7yUz8ViV6+dXO1+YJGXOVDmSvjutoPvMy lcl2H3vPZL9U3+9tx2N1X2uf3fz9heF6HXuPVRyJ82O8Lq7VX1Aj38bKy2D9aU7Yq/OrtVh8 +/Snmq3c8OfPuX0uSizFGYmGWsxFxYkAUL6JS30DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRmVeSWpSXmKPExsVy+t/xu7quJXYpBp//6Fp8+3SG2YHR48+i zSwBjFF6NkX5pSWpChn5xSW2StGGFkZ6hpYWekYmlnqGxuaxVkamSvp2NimpOZllqUX6dgl6 GcdObWEpuKpT8fFgZAPjZIUuRk4OCQETiaedj9hAbCGBpYwS7z+VQcSlJJYuXcQIYQtL/LnW BVTDBVTTwiSx/8UWdpAEm0COxNrZE5lAbBEBH4nu9etZIYr2MkocONkKVMTBwSlgKzF9rzpI jTBQ/ZHFm8HqWQRUJU7fWwdm8wpYSqx/3ghlC0qcnPmEBcRmFjCQWLLwFxOErS2xbOFrZoiD FCR+Pl3GChEXkbjxqIUR4gYniX9/fzFOYBSahWTULCSjZiEZNQtJ+wJGllWMIqmlxbnpucWG esWJucWleel6yfm5mxiB8bDt2M/NOxjnvfqod4iRiYPxEKMEB7OSCO8ZV6sUId6UxMqq1KL8 +KLSnNTiQ4ymQL9NZJYSTc4HRmReSbyhmYGpoYmZpYGppZmxkjivZ0FHopBAemJJanZqakFq EUwfEwenVAPT7FuSX47+1N/WEeP6ankIsyP/ZcPEktW//I0al0j9k//zIOdFok9MwIS+hnMK N/Y8eswnkXjY8dsh/hcfTvz958f/yvSSzDRXiSk1tjorjjUUX9uunPpKqn9RzmbjmVclCw+/ O1c3R7okXNDWL/D+nrUlMo/iFunx/XzgJveoJvXdTeVokyfXbs1892NVvXZs/OHKyz+upy+d ZDxhuZjb+sTuVRIfN03Mm7NLN+heQMPrF1rZZ756Ou7V9p+Y3qp3ddXpZvdjU03Cjle/3j79 ZLBRVoTkvuqKBWdr+nf2vLcx/PmyPi/T8Y62qFz9X3WNtwuyqphFwq3qihT+pDfqbjDeLDg9 7aFEyk13zmZHJZbijERDLeai4kQABwSsmxADAAA= X-CMS-MailID: 20230418104317eucas1p1282f490e7df4e9e73725111c17eb22dd X-Msg-Generator: CA X-RootMTR: 20230405070116eucas1p1a67949049d39e7ac1ed374b2a70a51ea X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230405070116eucas1p1a67949049d39e7ac1ed374b2a70a51ea References: <20230405070109.1665-1-d.kozinski@samsung.com> <8fba3b03-e9ef-cd89-ed7e-a43639a2b945@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH v19 02/10] avcodec/evc_parser: Added parser implementation for EVC format 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="iso-8859-2" Content-Transfer-Encoding: quoted-printable 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: poniedzia=B3ek, 17 kwietnia 2023 00:17 > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH v19 02/10] avcodec/evc_parser: Added > parser implementation for EVC format > = > On 4/5/2023 4:01 AM, Dawid Kozinski wrote: > > +static int parse_nal_unit(AVCodecParserContext *s, const uint8_t *buf, > > + int buf_size, AVCodecContext *avctx) { > > + EVCParserContext *ev =3D s->priv_data; > > + int nalu_type, nalu_size; > > + int tid; > > + const uint8_t *data =3D buf; > > + int data_size =3D buf_size; > > + > > + s->picture_structure =3D AV_PICTURE_STRUCTURE_FRAME; > > + s->key_frame =3D -1; > > + > > + nalu_size =3D buf_size; > > + if (nalu_size <=3D 0) { > > + av_log(avctx, AV_LOG_ERROR, "Invalid NAL unit size: (%d)\n", nalu_size); > > + return AVERROR_INVALIDDATA; > > + } > > + > > + // @see ISO_IEC_23094-1_2020, 7.4.2.2 NAL unit header semantic (Table 4 > - NAL unit type codes and NAL unit type classes) > > + // @see enum EVCNALUnitType in evc.h > > + nalu_type =3D get_nalu_type(data, data_size, avctx); > > + if (nalu_type < EVC_NOIDR_NUT || nalu_type > EVC_UNSPEC_NUT62) { > > + av_log(avctx, AV_LOG_ERROR, "Invalid NAL unit type: (%d)\n", > nalu_type); > > + return AVERROR_INVALIDDATA; > > + } > > + ev->nalu_type =3D nalu_type; > > + > > + tid =3D get_temporal_id(data, data_size, avctx); > > + if (tid < 0) { > > + av_log(avctx, AV_LOG_ERROR, "Invalid temporial id: (%d)\n", tid); > > + return AVERROR_INVALIDDATA; > > + } > > + ev->nuh_temporal_id =3D tid; > > + > > + if (data_size < nalu_size) { > > + av_log(avctx, AV_LOG_ERROR, "NAL unit does not fit in the data > buffer\n"); > > + return AVERROR_INVALIDDATA; > > + } > > + > > + data +=3D EVC_NALU_HEADER_SIZE; > > + data_size -=3D EVC_NALU_HEADER_SIZE; > > + > > + switch(nalu_type) { > > + case EVC_SPS_NUT: { > > + EVCParserSPS *sps; > > + int SubGopLength; > > + > > + sps =3D parse_sps(data, nalu_size, ev); > > + if (!sps) { > > + av_log(avctx, AV_LOG_ERROR, "SPS parsing error\n"); > > + return AVERROR_INVALIDDATA; > > + } > > + > > + s->coded_width =3D sps->pic_width_in_luma_samples; > > + s->coded_height =3D sps->pic_height_in_luma_samples; > > + s->width =3D sps->pic_width_in_luma_samples - s= ps- > >picture_crop_left_offset - sps->picture_crop_right_offset; > > + s->height =3D sps->pic_height_in_luma_samples - s= ps- > >picture_crop_top_offset - sps->picture_crop_bottom_offset; > > + > > + SubGopLength =3D (int)pow(2.0, sps->log2_sub_gop_length); > > + avctx->gop_size =3D SubGopLength; > > + > > + avctx->delay =3D (sps->sps_max_dec_pic_buffering_minus1) ? > > + sps->sps_max_dec_pic_buffering_minus1 - 1 : SubGopLength + > > + sps->max_num_tid0_ref_pics - 1; > > + > > + if (sps->profile_idc =3D=3D 1) avctx->profile =3D FF_PROFILE_EVC_MAIN; > > + else avctx->profile =3D FF_PROFILE_EVC_BASELINE; > > + > > + if (sps->vui_parameters_present_flag) { > > + if (sps->vui_parameters.timing_info_present_flag) { > > + int64_t num =3D sps->vui_parameters.num_units_in_tick; > > + int64_t den =3D sps->vui_parameters.time_scale; > > + if (num !=3D 0 && den !=3D 0) > > + av_reduce(&avctx->framerate.den, &avctx->framerate.num, num, > den, 1 << 30); > > + } > > + } > > + > > + switch (sps->chroma_format_idc) { > > + case 0: /* YCBCR400_10LE */ > > + av_log(avctx, AV_LOG_ERROR, "YCBCR400_10LE: Not supported > chroma format\n"); > > + s->format =3D AV_PIX_FMT_GRAY10LE; > > + return -1; > = > This is a parser, and it's independent from any given decoder implementation. > You should set it to all supported values and not abort on any. > = Thank you for your review. I fixed mentioned piece of code and pushed a new patch set. Let me know if smth else should be fixed. I'm looking forward to your feedback. > > + case 1: /* YCBCR420_10LE */ > > + s->format =3D AV_PIX_FMT_YUV420P10LE; > > + break; > > + case 2: /* YCBCR422_10LE */ > > + av_log(avctx, AV_LOG_ERROR, "YCBCR422_10LE: Not supported > chroma format\n"); > > + s->format =3D AV_PIX_FMT_YUV422P10LE; > > + return -1; > > + case 3: /* YCBCR444_10LE */ > > + av_log(avctx, AV_LOG_ERROR, "YCBCR444_10LE: Not supported > chroma format\n"); > > + s->format =3D AV_PIX_FMT_YUV444P10LE; > > + return -1; > > + default: > > + s->format =3D AV_PIX_FMT_NONE; > > + av_log(avctx, AV_LOG_ERROR, "Unknown supported chroma > format\n"); > > + return -1; > > + } > > + break; > > + } > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://protect2.fireeye.com/v1/url?k=3D926dc5cc-f3102db0-926c4e83- > 74fe485cc33c-e1a37e8c9d3d64a9&q=3D1&e=3Dc96a9555-c0b8-4eb4-bca2- > ed6ef3868c42&u=3Dhttps%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmp > eg-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".