@@ -579,7 +579,8 @@ int ff_h264_decode_seq_parameter_set(GetBitContext *gb, AVCodecContext *avctx,
}
if (get_bits_left(gb) < 0) {
- av_log(avctx, ignore_truncation ? AV_LOG_WARNING : AV_LOG_ERROR,
+ av_log_once(avctx, ignore_truncation ? AV_LOG_WARNING : AV_LOG_ERROR,
+ &ps->overread_warning_printed[sps->vui_parameters_present_flag],
"Overread %s by %d bits\n", sps->vui_parameters_present_flag ? "VUI" : "SPS", -get_bits_left(gb));
if (!ignore_truncation)
goto fail;
@@ -144,6 +144,8 @@ typedef struct H264ParamSets {
/* currently active parameters sets */
const PPS *pps;
const SPS *sps;
+
+ int overread_warning_printed[2];
} H264ParamSets;
/**
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/h264_ps.c | 3 ++- libavcodec/h264_ps.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-)