On 7/26/23 11:22, Zhao Zhili wrote:
From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Raphaël Zumer
Sent: 2023年7月26日 21:38
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 1/2] avformat/movenc: fix sample size being 
zero in pcmC

On 7/25/23 23:45, Zhao Zhili wrote:
From: Zhao Zhili <zhiliz...@tencent.com>

-    avio_w8(pb, track->par->bits_per_raw_sample);
+    sample_size = track->par->bits_per_raw_sample;
+    if (!sample_size)
+        sample_size = av_get_exact_bits_per_sample(track->par->codec_id);
+    av_assert0(sample_size);
+    avio_w8(pb, sample_size);
Why not just replace bits_per_raw_sample completely with 
av_get_exact_bits_per_sample()?

Are there edge cases, like incorrect codec ID, or sample sizes smaller than 
specified by the codec ID (and if there is ever a mismatch,
which is expected in pcmC?)

If not, there should be no need to prioritize bits_per_raw_sample in the first 
place and add a fallback - going straight to
av_get_exact_bits_per_sample() should suffice and keep the code simpler.
Check bits_per_raw_sample first for a little bit of performance.
Don't use bits_per_coded_sample because it make less sense in this case and to 
keep the code simpler.
I doubt it is worth the trouble, but my opinion is not important if no one else 
cares.
As noted in another thread, bits_per_raw_sample seems to always be 0 when 
muxing PCM to MP4 with FFmpeg, whereas
bits_per_coded_sample has the correct value from the samples that I tested.
That's only one usecase. bits_per_coded_sample has been set while 
bit_per_raw_sample wasn't only
because the implementation of wav demux and there's no encoding process. (You 
can try -c:a pcm_s16le)

There are more usecases to support, e.g., only use mp4 muxer without any 
demuxer or encoder.
User can create and set a AVCodecParameters manually, and let 
bits_per_coded_sample be zero.

That is fair, I just wanted to point out the mismatch as a potential (separate) 
issue.

RZ

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to