Quoting Zhao Zhili (2024-12-11 05:23:33) > From: Zhao Zhili <zhiliz...@tencent.com> > > --- > libavcodec/hevc/hevcdec.c | 75 ++++++++++++++++++++++++++++++++++++++- > libavcodec/hevc/hevcdec.h | 2 ++ > libavcodec/hevc/refs.c | 10 +++++- > 3 files changed, 85 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c > index be35a9de82..782c9382bc 100644 > --- a/libavcodec/hevc/hevcdec.c > +++ b/libavcodec/hevc/hevcdec.c > @@ -458,6 +458,26 @@ static int export_multilayer(HEVCContext *s, const > HEVCVPS *vps) > return 0; > } > > +int ff_hevc_is_alpha_video(const HEVCContext *s) { > + const HEVCVPS *vps; > + int ret = 0; > + > + if (!s->vps) > + return 0;
This seems like something that should not happen. > + vps = s->vps; > + if (vps->nb_layers != 2 || !vps->layer_id_in_nuh[1]) > + return 0; > + > + ret = (s->vps->scalability_mask_flag & HEVC_SCALABILITY_AUXILIARY) && > + s->sei.alpha.has_alpha_channel_info; Is the SEI really necessary? I thought it's enough to have an auxiliary picture with AuxId=AUX_ALPHA. Also, I'd prefer the interaction with multiview to be clearer, with e.g. a warning message when both are present, and fewer assumptions about only one of them being present spread over the code. -- Anton Khirnov _______________________________________________ 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".