This "works" because the public AVCodecHWConfig is at the beginning of AVCodecHWConfigInternal.
Fixes libavcodec/decode.c:1035:61: runtime error: member access within null pointer of type 'const struct AVCodecHWConfigInternal'. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/decode.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 791940648d..cdb682cf69 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1023,6 +1023,7 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *avctx, const enum AVPixelFormat *fmt) { const AVPixFmtDescriptor *desc; + const FFCodec *const codec = ffcodec(avctx->codec); const AVCodecHWConfig *config; int i, n; @@ -1031,10 +1032,8 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *avctx, if (avctx->hw_device_ctx && ffcodec(avctx->codec)->hw_configs) { AVHWDeviceContext *device_ctx = (AVHWDeviceContext*)avctx->hw_device_ctx->data; - for (i = 0;; i++) { - config = &ffcodec(avctx->codec)->hw_configs[i]->public; - if (!config) - break; + for (size_t i = 0; codec->hw_configs[i]; i++) { + config = &codec->hw_configs[i]->public; if (!(config->methods & AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX)) continue; -- 2.40.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-requ...@ffmpeg.org with subject "unsubscribe".