Add posibility to disable repeat pict warning.

This commit is contained in:
Johns 2012-02-16 21:55:14 +01:00
parent 30e903d90a
commit 09cfab3856
3 changed files with 15 additions and 3 deletions

View File

@ -1454,7 +1454,8 @@ const char *CommandLineHelp(void)
" -w workaround\tenable/disable workarounds\n" " -w workaround\tenable/disable workarounds\n"
"\tno-hw-decoder\t\tdisable hw decoder, use software decoder only\n" "\tno-hw-decoder\t\tdisable hw decoder, use software decoder only\n"
"\tno-mpeg-hw-decoder\tdisable hw decoder for mpeg 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("no-mpeg-hw-decoder", optarg)) {
} else if (!strcasecmp("alsa-driver-broken", optarg)) { } else if (!strcasecmp("alsa-driver-broken", optarg)) {
AudioAlsaDriverBroken = 1; AudioAlsaDriverBroken = 1;
} else if (!strcasecmp("ignore-repeat-pict", optarg)) {
VideoIgnoreRepeatPict = 1;
} else { } else {
fprintf(stderr, _("Workaround '%s' unsupported\n"), fprintf(stderr, _("Workaround '%s' unsupported\n"),
optarg); optarg);

View File

@ -262,6 +262,8 @@ typedef struct _video_module_
// Variables // Variables
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
char VideoIgnoreRepeatPict; ///< disable repeat pict warning
static Display *XlibDisplay; ///< Xlib X11 display static Display *XlibDisplay; ///< Xlib X11 display
static xcb_connection_t *Connection; ///< xcb connection static xcb_connection_t *Connection; ///< xcb connection
static xcb_colormap_t VideoColormap; ///< video colormap static xcb_colormap_t VideoColormap; ///< video colormap
@ -8519,8 +8521,9 @@ enum PixelFormat Video_get_format(VideoHwDecoder * decoder,
void VideoRenderFrame(VideoHwDecoder * decoder, void VideoRenderFrame(VideoHwDecoder * decoder,
const AVCodecContext * video_ctx, const AVFrame * frame) const AVCodecContext * video_ctx, const AVFrame * frame)
{ {
if (frame->repeat_pict) { if (frame->repeat_pict && !VideoIgnoreRepeatPict) {
Warning(_("video: repeated pict found, but not handled\n")); Warning(_("video: repeated pict %d found, but not handled\n"),
frame->repeat_pict);
} }
if (VideoUsedModule) { if (VideoUsedModule) {
VideoUsedModule->RenderFrame(decoder, video_ctx, frame); VideoUsedModule->RenderFrame(decoder, video_ctx, frame);

View File

@ -30,6 +30,12 @@
/// Video hardware decoder typedef /// Video hardware decoder typedef
typedef struct _video_hw_decoder_ VideoHwDecoder; typedef struct _video_hw_decoder_ VideoHwDecoder;
//----------------------------------------------------------------------------
// Variables
//----------------------------------------------------------------------------
extern char VideoIgnoreRepeatPict; ///< disable repeat pict warning
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
// Prototypes // Prototypes
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------