dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 71812] VDPAU: MPEG-4 ASP Garbling/Corruption
Date: Mon, 21 Jul 2014 18:58:26 +0000	[thread overview]
Message-ID: <bug-71812-502-T8mE7D6OYd@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-71812-502@http.bugs.freedesktop.org/>


[-- Attachment #1.1: Type: text/plain, Size: 2196 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=71812

--- Comment #13 from Fabrice Bellet <fabrice@bellet.info> ---
About this specific bug this time :)

I see a deterministic corruption in your sample too, that seems related to the
presence of sprite frames in the stream, and the result looks like these S
frames are just ignored by the hardware decoder (they are correctly passed to
the mesa level). 

For example, an effect of the corruption is the "C" of Captain, that is warped
into something that looks like the euro symbol (€), around 22.5s. Is it similar
to what you observe ? I can provide screenshot if needed.

I tried with VDPAU on radeonsi/uvd, with nouveau, and also with the proprietary
nvidia VDPAU implementation. _All_ implementations have this problem. The
radeon and the nvidia driver just silently drop S frames, and the following
non-S frames are corrupted. The nouveau driver replaces S frame by something
that looks like the rendering of an unintialized vmem buffer.

Also, I can reproduce the _same_ corruption with the ffmpeg software mpeg4
decoder, just by disabling the S-frames handling with this patch:

diff -uNrp ffmpeg-2.1.5.orig/libavcodec/mpeg4videodec.c
ffmpeg-2.1.5/libavcodec/mpeg4videodec.c
--- ffmpeg-2.1.5.orig/libavcodec/mpeg4videodec.c    2014-07-21
20:43:58.550548835 +0200
+++ ffmpeg-2.1.5/libavcodec/mpeg4videodec.c    2014-07-21 20:43:11.632103072
+0200
@@ -2105,6 +2105,8 @@ static int decode_vop_header(MpegEncCont
      }

      if(s->pict_type == AV_PICTURE_TYPE_S &&
(s->vol_sprite_usage==STATIC_SPRITE || s->vol_sprite_usage==GMC_SPRITE)){
+         printf("S frame\n");
+         return AVERROR_INVALIDDATA;
          if (mpeg4_decode_sprite_trajectory(s, gb) < 0)
              return AVERROR_INVALIDDATA;
          if(s->sprite_brightness_change) av_log(s->avctx, AV_LOG_ERROR,
"sprite_brightness_change not supported\n");

Are sprite frames supposed to be decoded by the hardware ? The radeon driver
has a sprite-related section in its ruvd_mpeg4 struct definition in
mesa/src/gallium/drivers/radeon/radeon_uvd.h.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3060 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2014-07-21 18:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19 21:27 [Bug 71812] New: VDPAU: MPEG-4 ASP Garbling/Corruption bugzilla-daemon
2013-11-19 21:27 ` [Bug 71812] " bugzilla-daemon
2013-11-19 21:28 ` bugzilla-daemon
2013-11-19 21:28 ` bugzilla-daemon
2013-11-19 21:29 ` bugzilla-daemon
2013-11-20  0:51 ` bugzilla-daemon
2013-11-20 14:34 ` bugzilla-daemon
2013-11-25 14:43 ` bugzilla-daemon
2014-04-20  8:18 ` bugzilla-daemon
2014-04-20  8:19 ` bugzilla-daemon
2014-07-16 10:30 ` bugzilla-daemon
2014-07-16 14:45 ` bugzilla-daemon
2014-07-16 18:57 ` bugzilla-daemon
2014-07-21 18:58 ` bugzilla-daemon [this message]
2014-07-21 19:24 ` bugzilla-daemon
2019-09-18 19:11 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-71812-502-T8mE7D6OYd@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox