Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Issue 22590009: EVDA: Add support for dynamic resolution change and MSE players. (Closed)

Created:
7 years, 4 months ago by Pawel Osciak
Modified:
7 years, 4 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium, feature-media-reviews_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

EVDA: Add support for dynamic resolution change and MSE players. This adds a resolution switch sequence, initiated by the driver sending us a V4L2_EVENT_RESOLUTION_CHANGED event. After receiving it, we finish processing existing output buffers and replace them with a new set for the new format, provided by MFC. Input buffers are kept intact in order to be able to continue decoding them after the switch. Also, separately, perform a dummy STREAMOFF-STREAMON cycle on Flush(). This fixes freezes in MSE player between stream chunks, as the player triggers a Flush() at end of chunk, but no Reset(). MFC requires reset to continue after flush. BUG=177422, 238488 TEST=regular playback, unittests, resolution switch streams, MSE tests NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=216969

Patch Set 1 #

Total comments: 21

Patch Set 2 : #

Total comments: 8

Patch Set 3 : #

Total comments: 1

Patch Set 4 : #

Total comments: 29

Patch Set 5 : #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+293 lines, -51 lines) Patch
M content/common/gpu/media/exynos_video_decode_accelerator.h View 1 2 3 4 5 chunks +31 lines, -4 lines 3 comments Download
M content/common/gpu/media/exynos_video_decode_accelerator.cc View 1 2 3 4 26 chunks +262 lines, -47 lines 3 comments Download

Messages

Total messages: 22 (0 generated)
Pawel Osciak
PTAL!
7 years, 4 months ago (2013-08-09 08:08:02 UTC) #1
sheu
Initial bits. https://chromiumcodereview.appspot.com/22590009/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode861 content/common/gpu/media/exynos_video_decode_accelerator.cc:861: if (ioctl(mfc_fd_, VIDIOC_G_FMT, format) != 0) { ...
7 years, 4 months ago (2013-08-09 09:23:16 UTC) #2
Pawel Osciak
https://chromiumcodereview.appspot.com/22590009/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode861 content/common/gpu/media/exynos_video_decode_accelerator.cc:861: if (ioctl(mfc_fd_, VIDIOC_G_FMT, format) != 0) { On 2013/08/09 ...
7 years, 4 months ago (2013-08-09 10:22:59 UTC) #3
sheu
Two basically nitpicky bits. Cheers. LGTM otherwise https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode260 content/common/gpu/media/exynos_video_decode_accelerator.h:260: void ResolutionChangeDestroyBuffers(); ...
7 years, 4 months ago (2013-08-09 10:41:49 UTC) #4
sheu
racy. https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1800 content/common/gpu/media/exynos_video_decode_accelerator.cc:1800: void ExynosVideoDecodeAccelerator::ResetTask() { OK, this could be a ...
7 years, 4 months ago (2013-08-09 11:04:08 UTC) #5
Pawel Osciak
https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/7001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1800 content/common/gpu/media/exynos_video_decode_accelerator.cc:1800: void ExynosVideoDecodeAccelerator::ResetTask() { On 2013/08/09 11:04:08, sheu wrote: > ...
7 years, 4 months ago (2013-08-09 11:42:36 UTC) #6
sheu
Looks good for this particular race: Reset()/resolution change.
7 years, 4 months ago (2013-08-09 11:54:38 UTC) #7
Pawel Osciak
Reverting the previously-suggested DCHECK, which is wrong after all. https://chromiumcodereview.appspot.com/22590009/diff/15001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/15001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1910 content/common/gpu/media/exynos_video_decode_accelerator.cc:1910: ...
7 years, 4 months ago (2013-08-09 12:06:02 UTC) #8
Ami GONE FROM CHROMIUM
https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode389 content/common/gpu/media/exynos_video_decode_accelerator.cc:389: // Subscribe for the resolution change event. s/for/to/ https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1207 ...
7 years, 4 months ago (2013-08-09 16:55:40 UTC) #9
Pawel Osciak
No CL yet. https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1659 content/common/gpu/media/exynos_video_decode_accelerator.cc:1659: // MSE player however triggers a ...
7 years, 4 months ago (2013-08-10 05:40:29 UTC) #10
Ami GONE FROM CHROMIUM
On Aug 9, 2013 10:40 PM, <posciak@chromium.org> wrote: > > No CL yet. > > ...
7 years, 4 months ago (2013-08-10 05:49:23 UTC) #11
Pawel Osciak
This time with a CL. https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/20001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode389 content/common/gpu/media/exynos_video_decode_accelerator.cc:389: // Subscribe for the ...
7 years, 4 months ago (2013-08-11 12:40:13 UTC) #12
sheu
https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode261 content/common/gpu/media/exynos_video_decode_accelerator.h:261: void FinishResolutionChange(); I noted before that I'd like to ...
7 years, 4 months ago (2013-08-12 03:06:17 UTC) #13
Pawel Osciak
https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode261 content/common/gpu/media/exynos_video_decode_accelerator.h:261: void FinishResolutionChange(); On 2013/08/12 03:06:17, sheu wrote: > I ...
7 years, 4 months ago (2013-08-12 03:19:10 UTC) #14
Ami GONE FROM CHROMIUM
LGTM % nit, and added a comment on 270039 to hopefully move that conversation forward. ...
7 years, 4 months ago (2013-08-12 03:46:19 UTC) #15
Pawel Osciak
https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1197 content/common/gpu/media/exynos_video_decode_accelerator.cc:1197: DVLOG(3) << "DequeueMfcEvents()"; On 2013/08/12 03:46:19, Ami Fischman wrote: ...
7 years, 4 months ago (2013-08-12 04:07:44 UTC) #16
Ami GONE FROM CHROMIUM
No need to change style in this CL. On Sun, Aug 11, 2013 at 9:07 ...
7 years, 4 months ago (2013-08-12 04:12:57 UTC) #17
Pawel Osciak
Thanks. I'll give John a chance to LGTM again before I hit commit. On 2013/08/12 ...
7 years, 4 months ago (2013-08-12 04:15:24 UTC) #18
sheu
lgtm https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/22590009/diff/27001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1197 content/common/gpu/media/exynos_video_decode_accelerator.cc:1197: DVLOG(3) << "DequeueMfcEvents()"; On 2013/08/12 04:07:45, posciak wrote: ...
7 years, 4 months ago (2013-08-12 04:49:19 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/posciak@chromium.org/22590009/27001
7 years, 4 months ago (2013-08-12 04:53:01 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/posciak@chromium.org/22590009/27001
7 years, 4 months ago (2013-08-12 11:12:32 UTC) #21
commit-bot: I haz the power
7 years, 4 months ago (2013-08-12 11:12:47 UTC) #22
Message was sent while issue was closed.
Change committed as 216969

Powered by Google App Engine
This is Rietveld 408576698