From bdd95cd0d11a3b37010cdf528a20693dfd3b8650 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Mon, 18 Aug 2025 12:36:06 +0200 Subject: [PATCH] use es_format_HasVpxAlpha instead of local check --- modules/codec/avcodec/fourcc.c | 4 ++-- modules/codec/gstreamer/gstdecode.c | 4 ++-- modules/codec/omxil/mediacodec.c | 4 ++-- modules/codec/omxil/utils.c | 4 ++-- modules/codec/vpx.c | 8 ++++---- modules/codec/vpx_alpha.c | 2 +- modules/demux/mkv/matroska_segment_parse.cpp | 2 +- modules/hw/mmal/codec.c | 2 +- modules/hw/nvdec/nvdec.c | 4 ++-- modules/packetizer/avparser.c | 2 +- modules/stream_out/chromecast/cast.cpp | 5 ++--- modules/stream_out/rtpfmt.c | 2 +- 12 files changed, 21 insertions(+), 22 deletions(-) diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c index b208eac110..5c5cb27b1c 100644 --- a/modules/codec/avcodec/fourcc.c +++ b/modules/codec/avcodec/fourcc.c @@ -547,9 +547,9 @@ bool GetFfmpegCodec( const es_format_t *es, const struct vlc_avcodec_fourcc *base; size_t count; - if (es->i_codec == VLC_CODEC_VP8 && (es->i_level & 0x1000) != 0) // contains alpha extradata + if (es->i_codec == VLC_CODEC_VP8 && es_format_HasVpxAlpha(es)) // contains alpha extradata return false; - if (es->i_codec == VLC_CODEC_VP9 && (es->i_level & 0x1000) != 0) // contains alpha extradata + if (es->i_codec == VLC_CODEC_VP9 && es_format_HasVpxAlpha(es)) // contains alpha extradata return false; switch( es->i_cat ) diff --git a/modules/codec/gstreamer/gstdecode.c b/modules/codec/gstreamer/gstdecode.c index 3743e378c6..49cdb2dd4b 100644 --- a/modules/codec/gstreamer/gstdecode.c +++ b/modules/codec/gstreamer/gstdecode.c @@ -408,12 +408,12 @@ static GstStructure* vlc_to_gst_fmt( const es_format_t *p_fmt ) "systemstream", G_TYPE_BOOLEAN, FALSE, NULL ); break; case VLC_CODEC_VP8: - if ((p_fmt->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_fmt)) // contains alpha extradata return NULL; p_str = gst_structure_new_empty( "video/x-vp8" ); break; case VLC_CODEC_VP9: - if ((p_fmt->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_fmt)) // contains alpha extradata return NULL; p_str = gst_structure_new_empty( "video/x-vp9" ); break; diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c index 59372d0914..1fedaacfd3 100644 --- a/modules/codec/omxil/mediacodec.c +++ b/modules/codec/omxil/mediacodec.c @@ -864,11 +864,11 @@ static int OpenDecoder(vlc_object_t *p_this, pf_MediaCodecApi_init pf_init) case VLC_CODEC_WMV3: mime = "video/x-ms-wmv"; break; case VLC_CODEC_VC1: mime = "video/wvc1"; break; case VLC_CODEC_VP8: - if ((p_dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_dec->fmt_in)) // contains alpha extradata return VLC_ENOTSUP; mime = "video/x-vnd.on2.vp8"; break; case VLC_CODEC_VP9: - if ((p_dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_dec->fmt_in)) // contains alpha extradata return VLC_ENOTSUP; mime = "video/x-vnd.on2.vp9"; break; } diff --git a/modules/codec/omxil/utils.c b/modules/codec/omxil/utils.c index 8f12c1bac9..65b045cf53 100644 --- a/modules/codec/omxil/utils.c +++ b/modules/codec/omxil/utils.c @@ -598,9 +598,9 @@ OMX_VIDEO_CODINGTYPE GetOmxVideoFormat( const es_format_t *es ) for( size_t i = 0; i < ARRAY_SIZE(video_format_table); i++ ) if( video_format_table[i].i_fourcc == i_fourcc ) { - if (es->i_codec == VLC_CODEC_VP8 && (es->i_level & 0x1000) != 0) // contains alpha extradata + if (es->i_codec == VLC_CODEC_VP8 && es_format_HasVpxAlpha(es)) // contains alpha extradata continue; - if (es->i_codec == VLC_CODEC_VP9 && (es->i_level & 0x1000) != 0) // contains alpha extradata + if (es->i_codec == VLC_CODEC_VP9 && es_format_HasVpxAlpha(es)) // contains alpha extradata continue; return video_format_table[i].i_codec; diff --git a/modules/codec/vpx.c b/modules/codec/vpx.c index aaccbe1fb2..cc4b5e16ee 100644 --- a/modules/codec/vpx.c +++ b/modules/codec/vpx.c @@ -310,7 +310,7 @@ static int OpenDecoder(vlc_object_t *p_this) { #ifdef ENABLE_VP8_DECODER case VLC_CODEC_VP8: - if ((dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(dec->fmt_in)) // contains alpha extradata return VLC_ENOTSUP; // fallthrough case VLC_CODEC_WEBP: @@ -321,7 +321,7 @@ static int OpenDecoder(vlc_object_t *p_this) #endif #ifdef ENABLE_VP9_DECODER case VLC_CODEC_VP9: - if ((dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(dec->fmt_in)) // contains alpha extradata return VLC_ENOTSUP; // fallthrough case VLC_CODEC_VP9ALPHA_ES: @@ -413,7 +413,7 @@ static int OpenEncoder(vlc_object_t *p_this) { #ifdef ENABLE_VP8_ENCODER case VLC_CODEC_VP8: - if ((p_enc->fmt_out.i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(&p_enc->fmt_out)) // contains alpha extradata return VLC_ENOTSUP; // fallthrough case VLC_CODEC_WEBP: @@ -423,7 +423,7 @@ static int OpenEncoder(vlc_object_t *p_this) #endif #ifdef ENABLE_VP9_ENCODER case VLC_CODEC_VP9: - if ((p_enc->fmt_out.i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(&p_enc->fmt_out)) // contains alpha extradata return VLC_ENOTSUP; iface = &vpx_codec_vp9_cx_algo; vp_version = 9; diff --git a/modules/codec/vpx_alpha.c b/modules/codec/vpx_alpha.c index f8cb41700a..ab541d3ab6 100644 --- a/modules/codec/vpx_alpha.c +++ b/modules/codec/vpx_alpha.c @@ -570,7 +570,7 @@ int OpenDecoder(vlc_object_t *o) decoder_t *dec = container_of(o, decoder_t, obj); if (dec->fmt_in->i_codec != VLC_CODEC_VP8 && dec->fmt_in->i_codec != VLC_CODEC_VP9) return VLC_ENOTSUP; - if ((dec->fmt_in->i_level & 0x1000) == 0) + if (!es_format_HasVpxAlpha(dec->fmt_in)) return VLC_ENOTSUP; vpx_alpha *p_sys = vlc_obj_calloc(o, 1, sizeof(*p_sys)); diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp index 59dc414f05..c4ab25e8cb 100644 --- a/modules/demux/mkv/matroska_segment_parse.cpp +++ b/modules/demux/mkv/matroska_segment_parse.cpp @@ -1836,7 +1836,7 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk ) break; case 2: // Level if (length == 1) { - if ((vars.p_fmt->i_level & 0x1000) != 0) + if (es_format_HasVpxAlpha(vars.p_fmt)) vars.p_fmt->i_level |= VP9CodecFeatures[2]; else vars.p_fmt->i_level = VP9CodecFeatures[2]; diff --git a/modules/hw/mmal/codec.c b/modules/hw/mmal/codec.c index 8b3f6653e8..acd6c21140 100644 --- a/modules/hw/mmal/codec.c +++ b/modules/hw/mmal/codec.c @@ -151,7 +151,7 @@ static MMAL_FOURCC_T vlc_to_mmal_es_fourcc(const es_format_t *es) case VLC_CODEC_VP6: return MMAL_ENCODING_VP6; case VLC_CODEC_VP8: - if ((es->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(es)) // contains alpha extradata return 0; return MMAL_ENCODING_VP8; case VLC_CODEC_WMV1: diff --git a/modules/hw/nvdec/nvdec.c b/modules/hw/nvdec/nvdec.c index 83e0f146ee..b997afd4f8 100644 --- a/modules/hw/nvdec/nvdec.c +++ b/modules/hw/nvdec/nvdec.c @@ -817,7 +817,7 @@ static int OpenDecoder(vlc_object_t *p_this) case VLC_CODEC_MP4V: break; case VLC_CODEC_VP8: - if ((p_dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_dec->fmt_in)) // contains alpha extradata goto early_exit; break; case VLC_CODEC_VP9: @@ -826,7 +826,7 @@ static int OpenDecoder(vlc_object_t *p_this) msg_Warn(p_dec, "Unsupported VP9 profile %d", p_dec->fmt_in->i_profile); goto early_exit; } - if ((p_dec->fmt_in->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_dec->fmt_in)) // contains alpha extradata goto early_exit; break; default: diff --git a/modules/packetizer/avparser.c b/modules/packetizer/avparser.c index fffed50b2f..fabeb1945a 100644 --- a/modules/packetizer/avparser.c +++ b/modules/packetizer/avparser.c @@ -92,7 +92,7 @@ int avparser_OpenPacketizer( vlc_object_t *p_this ) * removing this constraint */ if( p_dec->fmt_in->i_codec != VLC_CODEC_VP9 ) return VLC_ENOTSUP; - if( (p_dec->fmt_in->i_level & 0x1000) != 0 ) // contains alpha extradata + if( es_format_HasVpxAlpha(p_dec->fmt_in) ) // contains alpha extradata return VLC_ENOTSUP; enum AVCodecID i_avcodec_id; diff --git a/modules/stream_out/chromecast/cast.cpp b/modules/stream_out/chromecast/cast.cpp index 7766e19d17..65c312a00e 100644 --- a/modules/stream_out/chromecast/cast.cpp +++ b/modules/stream_out/chromecast/cast.cpp @@ -773,11 +773,11 @@ bool sout_stream_sys_t::canDecodeVideo( const es_format_t *es ) const case VLC_CODEC_HEVC: return true; case VLC_CODEC_VP8: - if ((es->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(es)) // contains alpha extradata return false; return true; case VLC_CODEC_VP9: - if ((es->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(es)) // contains alpha extradata return false; return true; default: @@ -1375,4 +1375,3 @@ static void Close(sout_stream_t *p_stream) /* Delete last since p_intf and p_sys depends on httpd_host */ httpd_HostDelete(httpd_host); } - diff --git a/modules/stream_out/rtpfmt.c b/modules/stream_out/rtpfmt.c index 2d3a917123..232a3d3ac3 100644 --- a/modules/stream_out/rtpfmt.c +++ b/modules/stream_out/rtpfmt.c @@ -644,7 +644,7 @@ int rtp_get_fmt( vlc_object_t *obj, const es_format_t *p_fmt, const char *mux, rtp_fmt->fmtp = strdup( "sprop-stereo=1" ); break; case VLC_CODEC_VP8: - if ((p_fmt->i_level & 0x1000) != 0) // contains alpha extradata + if (es_format_HasVpxAlpha(p_fmt)) // contains alpha extradata return VLC_ENOTSUP; rtp_fmt->ptname = "VP8"; rtp_fmt->pf_packetize = rtp_packetize_vp8;