> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > Anton Khirnov > Sent: Saturday, April 11, 2020 16:38 > To: FFmpeg development discussions and patches <ffmpeg- > de...@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH 05/10] lavc/libopenh264enc: prompt > slice number changing according to cpus > > Quoting Fu, Linjie (2020-04-10 15:49:30) > > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > > Anton Khirnov > > > Sent: Friday, April 10, 2020 18:23 > > > To: FFmpeg development discussions and patches <ffmpeg- > > > de...@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] [PATCH 05/10] lavc/libopenh264enc: prompt > > > slice number changing according to cpus > > > > > > Quoting Linjie Fu (2020-04-06 13:14:48) > > > > Libopenh264enc would set the slice according to the number of cpu > cores > > > > if uiSliceNum equals to 0 (auto) in SM_FIXEDSLCNUM_SLICE mode. > > > > > > > > Prompt a warning for user to catch this. > > > > > > > > Signed-off-by: Linjie Fu <linjie...@intel.com> > > > > --- > > > > libavcodec/libopenh264enc.c | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c > > > > index dab8244..01a85fb 100644 > > > > --- a/libavcodec/libopenh264enc.c > > > > +++ b/libavcodec/libopenh264enc.c > > > > @@ -237,6 +237,9 @@ FF_ENABLE_DEPRECATION_WARNINGS > > > > param.sSpatialLayers[0].sSliceCfg.uiSliceMode = s- > >slice_mode; > > > > param.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = > avctx- > > > >slices; > > > > #endif > > > > + if (avctx->slices == 0 && s->slice_mode == SM_FIXEDSLCNUM_SLICE) > > > > + av_log(avctx, AV_LOG_WARNING, "Auto slice number, " > > > > + "default to use the number of CPU cores: %d\n", > av_cpu_count()); > > > > > > Generally makes sense, but I'd avoid the call to av_cpu_count() since we > > > don't know what method precisely will libopenh264 use to set the slice > > > count. So IMO just say something like "slice count will be set > > > automatically". > > > > There is a statement in the API definition[1] for uiSliceNum which says: > > when uiSliceNum=0 means auto design it with cpu core number. > > So IMHO it seems clear enough if I got it correctly. > > My concern is that different methods of computing the core count might > return different results in certain cases. E.g. if the code is running > under some resource management system that restricts it to a subset of > total cores on the system. So we should not assume that av_cpu_count() > will always necessarily return the same number that libopenh264 uses.
Indeed, thanks for the elaborations. - Linjie _______________________________________________ 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".