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

Issue 2408703002: V4L2VideoDecodeAccelerator: implement flush by VIDIOC_DECODER_CMD. (Closed)

Created:
4 years, 2 months ago by wuchengli
Modified:
4 years, 2 months ago
Reviewers:
kcwu, Pawel Osciak
CC:
chromium-reviews, posciak+watch_chromium.org, piman+watch_chromium.org, feature-media-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

V4L2VideoDecodeAccelerator: implement flush by VIDIOC_DECODER_CMD. The official V4L2 flush begins by issuing VIDIOC_DECODER_CMD with cmd=V4L2_DEC_CMD_STOP. The driver will set the last output buffer with V4L2_BUF_FLAG_LAST. BUG=558206 TEST=Run VDA unittest and CTS on elm. Run VDA unittest on peach pi and nyan big. Committed: https://crrev.com/37eabb62565c942a94dcf27e9d35867d34eec4d5 Cr-Commit-Position: refs/heads/master@{#426488}

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 6

Patch Set 3 : address kcwu's comments #

Total comments: 4

Patch Set 4 : address kcwu's comments. Remove V4L2_DEC_CMD_START #

Total comments: 1

Patch Set 5 : add V4L2_DEC_CMD_START back because it works now #

Total comments: 34

Patch Set 6 : address Kuang-che's comments #

Total comments: 14

Patch Set 7 : address Pawel and Kuang-che's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -8 lines) Patch
M media/gpu/v4l2_device.h View 1 2 3 4 5 6 1 chunk +3 lines, -3 lines 0 comments Download
M media/gpu/v4l2_video_decode_accelerator.h View 1 2 3 4 5 6 2 chunks +14 lines, -0 lines 0 comments Download
M media/gpu/v4l2_video_decode_accelerator.cc View 1 2 3 4 5 6 8 chunks +89 lines, -5 lines 0 comments Download

Messages

Total messages: 32 (14 generated)
wuchengli
PTAL
4 years, 2 months ago (2016-10-11 02:23:14 UTC) #2
kcwu
https://codereview.chromium.org/2408703002/diff/20001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/20001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1407 media/gpu/v4l2_video_decode_accelerator.cc:1407: IOCTL_OR_ERROR_RETURN(VIDIOC_DECODER_CMD, &cmd); IOCTL_OR_ERROR_RETURN_FALSE. wondering why compiler cannot catch this ...
4 years, 2 months ago (2016-10-11 08:46:05 UTC) #3
wuchengli
https://codereview.chromium.org/2408703002/diff/20001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/20001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1407 media/gpu/v4l2_video_decode_accelerator.cc:1407: IOCTL_OR_ERROR_RETURN(VIDIOC_DECODER_CMD, &cmd); On 2016/10/11 08:46:05, kcwu wrote: > IOCTL_OR_ERROR_RETURN_FALSE. ...
4 years, 2 months ago (2016-10-11 10:30:57 UTC) #4
kcwu
https://codereview.chromium.org/2408703002/diff/40001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/40001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1400 media/gpu/v4l2_video_decode_accelerator.cc:1400: if ((dqbuf.flags & V4L2_BUF_FLAG_LAST)) { IIUC, according to https://linuxtv.org/downloads/v4l-dvb-apis/vidioc-decoder-cmd.html, ...
4 years, 2 months ago (2016-10-12 02:32:39 UTC) #5
wuchengli
https://codereview.chromium.org/2408703002/diff/40001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/40001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1400 media/gpu/v4l2_video_decode_accelerator.cc:1400: if ((dqbuf.flags & V4L2_BUF_FLAG_LAST)) { On 2016/10/12 02:32:39, kcwu ...
4 years, 2 months ago (2016-10-12 03:08:23 UTC) #6
wuchengli
PTAL https://codereview.chromium.org/2408703002/diff/60001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/60001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1375 media/gpu/v4l2_video_decode_accelerator.cc:1375: if (errno == EPIPE) { We need this ...
4 years, 2 months ago (2016-10-17 16:19:00 UTC) #8
kcwu
https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1651 media/gpu/v4l2_video_decode_accelerator.cc:1651: cmd.cmd = V4L2_DEC_CMD_STOP; Do you need to add CMD_START ...
4 years, 2 months ago (2016-10-17 16:24:52 UTC) #10
wuchengli
https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc#newcode1578 media/gpu/v4l2_video_decode_accelerator.cc:1578: // Queue up an empty buffer -- this triggers ...
4 years, 2 months ago (2016-10-18 02:04:51 UTC) #11
kcwu
https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc#newcode838 media/gpu/v4l2_video_decode_accelerator.cc:838: flush_waiting_last_output_buffer_ = true; Do you need to set decoder_partial_frame_pending_=false ...
4 years, 2 months ago (2016-10-18 05:07:13 UTC) #12
wuchengli
https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc#newcode831 media/gpu/v4l2_video_decode_accelerator.cc:831: if (decoder_cmd_supported_) { Pawel. It looks like I need ...
4 years, 2 months ago (2016-10-19 08:02:08 UTC) #13
wuchengli
Kuang-che. PTAL. https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_video_decode_accelerator.cc#newcode838 media/gpu/v4l2_video_decode_accelerator.cc:838: flush_waiting_last_output_buffer_ = true; On 2016/10/18 05:07:13, kcwu ...
4 years, 2 months ago (2016-10-19 08:26:58 UTC) #17
kcwu
https://codereview.chromium.org/2408703002/diff/120001/media/gpu/v4l2_video_decode_accelerator.cc File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2408703002/diff/120001/media/gpu/v4l2_video_decode_accelerator.cc#newcode840 media/gpu/v4l2_video_decode_accelerator.cc:840: schedule_task = true; this line is redundant if you ...
4 years, 2 months ago (2016-10-19 09:18:21 UTC) #18
Pawel Osciak
https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_device.h File media/gpu/v4l2_device.h (left): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_device.h#oldcode29 media/gpu/v4l2_device.h:29: #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') Why remove VP8F, ...
4 years, 2 months ago (2016-10-19 09:23:05 UTC) #19
wuchengli
All done. PTAL. https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_device.h File media/gpu/v4l2_device.h (left): https://codereview.chromium.org/2408703002/diff/100001/media/gpu/v4l2_device.h#oldcode29 media/gpu/v4l2_device.h:29: #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') ...
4 years, 2 months ago (2016-10-20 10:14:07 UTC) #21
kcwu
lgtm
4 years, 2 months ago (2016-10-20 11:31:54 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2408703002/160001
4 years, 2 months ago (2016-10-20 15:53:52 UTC) #28
commit-bot: I haz the power
Committed patchset #7 (id:160001)
4 years, 2 months ago (2016-10-20 16:09:09 UTC) #30
commit-bot: I haz the power
4 years, 2 months ago (2016-10-21 13:18:43 UTC) #32
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/37eabb62565c942a94dcf27e9d35867d34eec4d5
Cr-Commit-Position: refs/heads/master@{#426488}

Powered by Google App Engine
This is Rietveld 408576698