New issue
Advanced search Search tips

Issue 613608 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Short video clip has odd blue frame at the end on Android.

Project Member Reported by dalecur...@chromium.org, May 20 2016

Issue description

https://media.giphy.com/media/l396VJuV3YmnnhCww/giphy.mp4
https://m.reddit.com/r/GetMotivated/comments/4k30be/image_its_all_about_which_way_you_look/

Doesn't seem to appear on desktop, but the Android loop looks pretty bad since the blue frame breaks the seamless loop. ffprobe shows ~4 packets and the issue doesn't appear when MediaPlayer is used.

[PACKET]
codec_type=video
stream_index=0
pts=0
pts_time=0.000000
dts=0
dts_time=0.000000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=20070
pos=48
flags=K
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=512
pts_time=0.040000
dts=512
dts_time=0.040000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=52
pos=20118
flags=_
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=1024
pts_time=0.080000
dts=1024
dts_time=0.080000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=11
pos=20170
flags=_
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=1536
pts_time=0.120000
dts=1536
dts_time=0.120000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=10185
pos=20181
flags=_
[/PACKET]
[PACKET]
codec_type=video
stream_index=0
pts=2048
pts_time=0.160000
dts=2048
dts_time=0.160000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=39
pos=30366
flags=_
[/PACKET]

 
Components: Internals>Media>Hardware
Project Member

Comment 2 by bugdroid1@chromium.org, May 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc

commit eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc
Author: dalecurtis <dalecurtis@chromium.org>
Date: Wed May 25 21:51:47 2016

Don't reset the codec state for a flush; this kills the frames.

Causing a reset after flush completes will invalidate all the
vended frames, don't do this. Instead only reset when a reset
should actually occur.

Instead, since this reset is required on JellyBean devices, we
issue the reset upon receipt of the next Decode() call. This
allows the more frequent EOS cases to not trash the last frame
on these devices will config changes will work as before.

A followup CL will move the texture matrix to the shared state
so that we don't accidentally apply the wrong matrix after the
reset case.

BUG= 613608 
TEST=no more random blue frames.

Review-Url: https://codereview.chromium.org/2000833003
Cr-Commit-Position: refs/heads/master@{#395995}

[modify] https://crrev.com/eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc/media/gpu/android_video_decode_accelerator.cc
[modify] https://crrev.com/eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc/media/gpu/android_video_decode_accelerator.h
[modify] https://crrev.com/eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc/media/gpu/avda_codec_image.cc

Project Member

Comment 3 by sheriffbot@chromium.org, Jun 1 2016

Labels: -M-52 M-53 MovedFrom-52
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -M-53 -MovedFrom-52 Merge-Request-52 M-52

Comment 5 by tin...@google.com, Jun 7 2016

Labels: -Merge-Request-52 Merge-Approved-52 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M52 (branch: 2743)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 7 2016

Labels: -merge-approved-52 merge-merged-2743
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e549f94829a31a5337d8b79d7a73bb13a1cfa910

commit e549f94829a31a5337d8b79d7a73bb13a1cfa910
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Tue Jun 07 01:35:20 2016

Merge M52: "Don't reset the codec state for a flush; this kills the frames."

Causing a reset after flush completes will invalidate all the
vended frames, don't do this. Instead only reset when a reset
should actually occur.

Instead, since this reset is required on JellyBean devices, we
issue the reset upon receipt of the next Decode() call. This
allows the more frequent EOS cases to not trash the last frame
on these devices will config changes will work as before.

A followup CL will move the texture matrix to the shared state
so that we don't accidentally apply the wrong matrix after the
reset case.

BUG= 613608 
TEST=no more random blue frames.

Review-Url: https://codereview.chromium.org/2000833003
Cr-Commit-Position: refs/heads/master@{#395995}
(cherry picked from commit eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc)

Review URL: https://codereview.chromium.org/2044773002 .

Cr-Commit-Position: refs/branch-heads/2743@{#255}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/android_video_decode_accelerator.cc
[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/android_video_decode_accelerator.h
[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/avda_codec_image.cc

Comment 7 by ajha@chromium.org, Jun 8 2016

Labels: -OS-Linux
I was unable to reproduce this on the latest M-52-post fix(52.0.2743.33/2743@{#271) on Linux Ubuntu 14.04. However couldn't repro on 52.0.2743.24 as well, the build before the fix.


Removing the Linux label therefore based on bug summary and not reproducible on Linux.
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e549f94829a31a5337d8b79d7a73bb13a1cfa910

commit e549f94829a31a5337d8b79d7a73bb13a1cfa910
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Tue Jun 07 01:35:20 2016

Merge M52: "Don't reset the codec state for a flush; this kills the frames."

Causing a reset after flush completes will invalidate all the
vended frames, don't do this. Instead only reset when a reset
should actually occur.

Instead, since this reset is required on JellyBean devices, we
issue the reset upon receipt of the next Decode() call. This
allows the more frequent EOS cases to not trash the last frame
on these devices will config changes will work as before.

A followup CL will move the texture matrix to the shared state
so that we don't accidentally apply the wrong matrix after the
reset case.

BUG= 613608 
TEST=no more random blue frames.

Review-Url: https://codereview.chromium.org/2000833003
Cr-Commit-Position: refs/heads/master@{#395995}
(cherry picked from commit eb4a8d89c1c1c3ed4b74e2afdee7ccd8dd6558bc)

Review URL: https://codereview.chromium.org/2044773002 .

Cr-Commit-Position: refs/branch-heads/2743@{#255}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/android_video_decode_accelerator.cc
[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/android_video_decode_accelerator.h
[modify] https://crrev.com/e549f94829a31a5337d8b79d7a73bb13a1cfa910/media/gpu/avda_codec_image.cc

Status: Fixed (was: Assigned)

Sign in to add a comment