From 09cfab3856fa0104f0375b32a67e6b5fbea1c094 Mon Sep 17 00:00:00 2001 From: Johns Date: Thu, 16 Feb 2012 21:55:14 +0100 Subject: Add posibility to disable repeat pict warning. --- softhddev.c | 5 ++++- video.c | 7 +++++-- video.h | 6 ++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/softhddev.c b/softhddev.c index 85a9b1a..3a83099 100644 --- a/softhddev.c +++ b/softhddev.c @@ -1454,7 +1454,8 @@ const char *CommandLineHelp(void) " -w workaround\tenable/disable workarounds\n" "\tno-hw-decoder\t\tdisable hw decoder, use software decoder only\n" "\tno-mpeg-hw-decoder\tdisable hw decoder for mpeg only\n" - "\talsa-driver-broken\tdisable broken alsa driver message\n"; + "\talsa-driver-broken\tdisable broken alsa driver message\n" + "\tignore-repeat-pict\tdisable repeat pict message\n"; } /** @@ -1504,6 +1505,8 @@ int ProcessArgs(int argc, char *const argv[]) } else if (!strcasecmp("no-mpeg-hw-decoder", optarg)) { } else if (!strcasecmp("alsa-driver-broken", optarg)) { AudioAlsaDriverBroken = 1; + } else if (!strcasecmp("ignore-repeat-pict", optarg)) { + VideoIgnoreRepeatPict = 1; } else { fprintf(stderr, _("Workaround '%s' unsupported\n"), optarg); diff --git a/video.c b/video.c index 990a043..aa28210 100644 --- a/video.c +++ b/video.c @@ -262,6 +262,8 @@ typedef struct _video_module_ // Variables //---------------------------------------------------------------------------- +char VideoIgnoreRepeatPict; ///< disable repeat pict warning + static Display *XlibDisplay; ///< Xlib X11 display static xcb_connection_t *Connection; ///< xcb connection static xcb_colormap_t VideoColormap; ///< video colormap @@ -8519,8 +8521,9 @@ enum PixelFormat Video_get_format(VideoHwDecoder * decoder, void VideoRenderFrame(VideoHwDecoder * decoder, const AVCodecContext * video_ctx, const AVFrame * frame) { - if (frame->repeat_pict) { - Warning(_("video: repeated pict found, but not handled\n")); + if (frame->repeat_pict && !VideoIgnoreRepeatPict) { + Warning(_("video: repeated pict %d found, but not handled\n"), + frame->repeat_pict); } if (VideoUsedModule) { VideoUsedModule->RenderFrame(decoder, video_ctx, frame); diff --git a/video.h b/video.h index 4018ad2..d9fd608 100644 --- a/video.h +++ b/video.h @@ -30,6 +30,12 @@ /// Video hardware decoder typedef typedef struct _video_hw_decoder_ VideoHwDecoder; +//---------------------------------------------------------------------------- +// Variables +//---------------------------------------------------------------------------- + +extern char VideoIgnoreRepeatPict; ///< disable repeat pict warning + //---------------------------------------------------------------------------- // Prototypes //---------------------------------------------------------------------------- -- cgit v1.2.3