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 2DCE245855 for ; Fri, 24 Feb 2023 04:26:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D7B1C68C0CE; Fri, 24 Feb 2023 06:25:40 +0200 (EET) Received: from out203-205-221-209.mail.qq.com (out203-205-221-209.mail.qq.com [203.205.221.209]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5993268C0CE for ; Fri, 24 Feb 2023 06:25:30 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1677212727; bh=/IEcP5FQBtlXwkfK/BSjnPiE1mpFpftVPkb+uGtBStE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Ur4b5YWdPicXRklxaFedjRoXWR9ACzuUwRE+OrmEa7d3SxCMJN7iZw92/lN7j/589 6bViik0N6ZNlTs8h0WG+Y5eGdlzewOfhVOABqfCJPO+KYThPKhlCsskpG5FpFdW4JP N9smvUpirlSQtEcRUPzt47xpVyTGNRVNf1Kqje+E= Received: from localhost.localdomain ([119.147.10.197]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id 6588BCBD; Fri, 24 Feb 2023 12:25:24 +0800 X-QQ-mid: xmsmtpt1677212726tvv85nyxx Message-ID: X-QQ-XMAILINFO: NGX5+lQVxpC+JVS5pIrRjmBMKzi5kGkjBn67BmGKvxKmUmlpaqv7fLkOuX8irg c4h1UXEXzkzKdHqFADALyoy5NDY/m0Mz640aggZHSvg1xHBTgdaGoS7cYdCzbTHlZZP9nI9eTWKy QMJxZ/n+VEI4Z/xDMy6VKJ1bN74bNPRCkeZojAgaWbpozl4GHMAH7FuTkSEuJBFgaTYr8rdkokQL UyhlyVKHVj9eK8mNddQSyipit04LES8vtb0xldqCFmf6S/1Pm8nvoar3oaqdYW7DqsuBBTiTd35a eU7+c6inpmYCulCVeRQq1ztj1Mh75+bWLHAzWNgVTCVgzOQCvkzpPpHj/hhNb7Vl9oOSziNmoouX Yi0XiIszGH6DlT7dkz1M/07X7YLcLWa0BRxY9mw/+XvIi/R6NXccHUL9dvCFpirpRpl8gATFPJQy 3sWeXbWReF8HhvoqW2B2CO1OcDAB9fR1pTamNft6kIpIuiJAIO/1pC+n3V14H5F7c6LXcKt8x2gX zbkVIsLBYc+T5zaoT0y16y5rHbxDiSrMitk7VMygrCFhkHI0b2iolNFTCSjVrox0izcpy1Y65sQW pFT/FCKBgDxsw7Gmr8mS/XndthUCKQEGlkdCwfMh5pjGpHwAL3NnN+/078ug1hF5UiUlDDHW5QWS 4KSEPD0xdJ0VtH/xkEhL+zQQ02VuKoUYmZgST1KgEns/l5W8CI21YWeOrNjiYjRixAkcHlrdqOKN kHPZA0Qu3AQPQv4F8qjV0/WwTawUpubxy0S+xih1+11CCZ9Pm1NuPqz5HRkeU7QCWh/yahuuoEla A8JerTBrMpZDnpfdABf55p86cvOW8UnzQvmENKgRll4KG88puFlzlKPzftB7oFrIX792JAyplU5z JUIj8mNXzlQakGLLfJd/yq69Rqfn4Oca77vedewY+PAt165oq/0ebGIcTnBCyfP8iQAAYXQy1vpI lHz86HImdYbggrBV+whg9y4G8UrxLj3Cayv8wTq6/qz3XXTGD1M8wYYAMfj6aQitTk3prmL2s= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Feb 2023 20:25:19 +0800 X-OQ-MSGID: <20230224122523.143571-3-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230224122523.143571-1-quinkblack@foxmail.com> References: <20230224122523.143571-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/6] avformat/mov: fix ISO/IEC 23003-5 support 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: Zhao Zhili 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: From: Zhao Zhili Missing floating-point formats support. Signed-off-by: Zhao Zhili --- libavformat/mov.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 6ab43b00c6..b125343f84 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1590,6 +1590,10 @@ static int mov_read_enda(MOVContext *c, AVIOContext *pb, MOVAtom atom) static int mov_read_pcmc(MOVContext *c, AVIOContext *pb, MOVAtom atom) { int format_flags; + int pcm_sample_size; + AVFormatContext *fc = c->fc; + AVStream *st; + MOVStreamContext *sc; if (atom.size < 6) { av_log(c->fc, AV_LOG_ERROR, "Empty pcmC box\n"); @@ -1599,6 +1603,34 @@ static int mov_read_pcmc(MOVContext *c, AVIOContext *pb, MOVAtom atom) avio_r8(pb); // version avio_rb24(pb); // flags format_flags = avio_r8(pb); + pcm_sample_size = avio_r8(pb); + + if (fc->nb_streams < 1) + return AVERROR_INVALIDDATA; + + st = fc->streams[fc->nb_streams - 1]; + sc = st->priv_data; + + if (sc->format == MKTAG('f', 'p', 'c', 'm')) { + if (pcm_sample_size == 32) + st->codecpar->codec_id = AV_CODEC_ID_PCM_F32BE; + else if (pcm_sample_size == 64) + st->codecpar->codec_id = AV_CODEC_ID_PCM_F64BE; + else + return AVERROR_INVALIDDATA; + } else if (sc->format == MKTAG('i', 'p', 'c', 'm')) { + if (pcm_sample_size == 16) + st->codecpar->codec_id = AV_CODEC_ID_PCM_S16BE; + else if (pcm_sample_size == 24) + st->codecpar->codec_id = AV_CODEC_ID_PCM_S24BE; + else if (pcm_sample_size == 32) + st->codecpar->codec_id = AV_CODEC_ID_PCM_S32BE; + else + return AVERROR_INVALIDDATA; + } else { + return AVERROR_INVALIDDATA; + } + if (format_flags == 1) // indicates little-endian format. If not present, big-endian format is used set_last_stream_little_endian(c->fc); -- 2.25.1 _______________________________________________ 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".