|
|
Created:
4 years, 4 months ago by wuchengli Modified:
4 years, 2 months ago CC:
chromium-reviews, posciak+watch_chromium.org, piman+watch_chromium.org, feature-media-reviews_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionV4L2VideoDecodeAccelerator: support external buffer import
Add support of external buffer import to V4L2VideoDecodeAccelerator
when V4L2ImageProcessor is used. Buffer import for V4L2VDA only
is not implemented yet. V4L2ImageProcessor adds the support of
importing output buffer dmabuf fds.
BUG=b/29059119
TEST=Run VDA test and play video on elm.
TEST=Run VDA/VEA tests and play video on peach pi.
Committed: https://crrev.com/d8b5dcd98ccea5e9e88f6f9a9924406b69ac0945
Cr-Commit-Position: refs/heads/master@{#420873}
Patch Set 1 #Patch Set 2 #Patch Set 3 : V4L2VideoDecodeAccelerator: support external buffer import #
Total comments: 3
Patch Set 4 : address kcwu's comments in PS3 #Patch Set 5 : remove the use of base::WrapUnique #Patch Set 6 : small refactor #
Total comments: 39
Patch Set 7 : address Pawel's comments in PS6 #
Total comments: 6
Patch Set 8 : address Pawel's comments in PS7 #Patch Set 9 : rebase #Patch Set 10 : rebase and simplify some code #Patch Set 11 : small improvement #
Messages
Total messages: 30 (16 generated)
Patchset #1 (id:1) has been deleted
wuchengli@chromium.org changed reviewers: + kcwu@chromium.org, posciak@chromium.org
PTAL.
Please give me the CL number which you cherry picked from. https://codereview.chromium.org/2191263002/diff/60001/media/gpu/v4l2_video_de... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/60001/media/gpu/v4l2_video_de... media/gpu/v4l2_video_decode_accelerator.cc:371: CreateImageProcessor(); return if CreateImageProcessor failed. https://codereview.chromium.org/2191263002/diff/60001/media/gpu/v4l2_video_de... media/gpu/v4l2_video_decode_accelerator.cc:557: CreateImageProcessor(); return if CreateImageProcessor failed. https://codereview.chromium.org/2191263002/diff/60001/media/gpu/v4l2_video_de... media/gpu/v4l2_video_decode_accelerator.cc:1329: // DCHECK_NE(output_record.egl_image, EGL_NO_IMAGE_KHR); remove
This CL is ported from https://codereview.chromium.org/1822983002.
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import BUG=b/29059119 TEST=Run VDA test and play video on oak without image processor. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import BUG=b/29059119 TEST=Run VDA test and play video on oak. ==========
Patchset #5 (id:100001) has been deleted
Patchset #5 (id:120001) has been deleted
https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:233: DCHECK_EQ(expected_num_fds, output_dmabuf_fds.size()); Interesting, I would've expected this to give an unused variable warning on non-debug build... Also, what would you think of having an if() here instead? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:251: output_record.dmabuf_fds = std::move(job_record->output_dmabuf_fds); Probably simpler to just say: output_buffer_map[index].dmabuf_fds = std::move(... https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.h (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.h:91: std::vector<base::ScopedFD> output_dmabuf_fds, Please document. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:260: DVLOG(1) << "No GL callbacks provided, initializing without GL support"; DVLOGF()? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:418: DVLOGF(3) << "AssignPictureBuffers(): buffer[" << i s/AssignPictureBuffers(): // https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:434: DLOG(ERROR) << "GL callbacks required for binding to EGLImages"; DLOGF() ? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:499: DVLOG(1) << "Change state to kDecoding"; DVLOGF() ? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:560: egl_image_size_.set_width(stride); stride is in bytes, and is not the same as size in pixels for all formats... If not calculate, we need to at least check that we are using only the expected formats perhaps? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:583: LOGF(ERROR) << "Cannot import buffer that not owned by client"; s/that not/not/ https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:613: DVLOG(1) << "Change state to kDecoding"; DVLOGF() ? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1346: LOGF(ERROR) << "Process frame failed"; DLOGF() https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1432: DVLOG(2) << "qbuf.index=" << qbuf.index DVLOGF() https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1433: << ", output_mode_=" << (int)output_mode_ static_cast<>() https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2126: LOGF(ERROR) << "Import mode is unsupported without image processor."; Is this because we haven't implemented it yet without processor? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2196: DVLOGF(3); DCHECK(!image_processor_) https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2214: DCHECK(image_processor_->output_allocated_size() == egl_image_size_); DCHECK_EQ https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2250: if (!processor_output_fds.back().is_valid()) { This should be inside the for() and check all fds? https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2251: PLOG(ERROR) << "Failed duplicating a dmabuf fd"; PLOGF() ?
I'll address the rest of the comments. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2126: LOGF(ERROR) << "Import mode is unsupported without image processor."; On 2016/09/12 08:54:26, Pawel Osciak wrote: > Is this because we haven't implemented it yet without processor? Yes. It's just not implemented. I don't have a way to test ARC hardware decode end-to-end without processor.
Patchset #7 (id:180001) has been deleted
All done. PTAL. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:233: DCHECK_EQ(expected_num_fds, output_dmabuf_fds.size()); On 2016/09/12 08:54:26, Pawel Osciak wrote: > Interesting, I would've expected this to give an unused variable warning on > non-debug build... I found this code didn't generate unused warning. I don't know why. int test = 1; LOG(ERROR) << "test=" << (0 ? test : 0); DCHECK macros uses ?: and DCHECK_IS_ON is 0. #define DCHECK(condition) \ LAZY_STREAM(LOG_STREAM(DCHECK), DCHECK_IS_ON() ? !(condition) : false) \ << "Check failed: " #condition ". " > > Also, what would you think of having an if() here instead? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:251: output_record.dmabuf_fds = std::move(job_record->output_dmabuf_fds); On 2016/09/12 08:54:26, Pawel Osciak wrote: > Probably simpler to just say: > > output_buffer_map[index].dmabuf_fds = std::move(... Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.h (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.h:91: std::vector<base::ScopedFD> output_dmabuf_fds, On 2016/09/12 08:54:26, Pawel Osciak wrote: > Please document. Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:260: DVLOG(1) << "No GL callbacks provided, initializing without GL support"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > DVLOGF()? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:418: DVLOGF(3) << "AssignPictureBuffers(): buffer[" << i On 2016/09/12 08:54:26, Pawel Osciak wrote: > s/AssignPictureBuffers(): // Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:434: DLOG(ERROR) << "GL callbacks required for binding to EGLImages"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > DLOGF() ? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:499: DVLOG(1) << "Change state to kDecoding"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > DVLOGF() ? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:583: LOGF(ERROR) << "Cannot import buffer that not owned by client"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > s/that not/not/ Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:613: DVLOG(1) << "Change state to kDecoding"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > DVLOGF() ? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1346: LOGF(ERROR) << "Process frame failed"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > DLOGF() Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1432: DVLOG(2) << "qbuf.index=" << qbuf.index On 2016/09/12 08:54:26, Pawel Osciak wrote: > DVLOGF() Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:1433: << ", output_mode_=" << (int)output_mode_ On 2016/09/12 08:54:26, Pawel Osciak wrote: > static_cast<>() Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2196: DVLOGF(3); On 2016/09/12 08:54:26, Pawel Osciak wrote: > DCHECK(!image_processor_) Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2214: DCHECK(image_processor_->output_allocated_size() == egl_image_size_); On 2016/09/12 08:54:26, Pawel Osciak wrote: > DCHECK_EQ DCHECK_EQ cannot compile. DCHECK_EQ uses logging::MakeCheckOpString, which calls MakeCheckOpValueString (#1), which uses ostream << egl_image_size_ (#2). But gfx::Size doesn't support it. We need to use ostream << egl_image_size_.ToString() if we want to log it. #1: https://cs.chromium.org/chromium/src/base/logging.h?q=MakeCheckOpValueString&... #2: https://cs.chromium.org/chromium/src/base/logging.h?q=MakeCheckOpValueString&... https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2250: if (!processor_output_fds.back().is_valid()) { On 2016/09/12 08:54:26, Pawel Osciak wrote: > This should be inside the for() and check all fds? Done. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2251: PLOG(ERROR) << "Failed duplicating a dmabuf fd"; On 2016/09/12 08:54:26, Pawel Osciak wrote: > PLOGF() ? Done.
https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2126: LOGF(ERROR) << "Import mode is unsupported without image processor."; On 2016/09/12 09:15:57, wuchengli wrote: > On 2016/09/12 08:54:26, Pawel Osciak wrote: > > Is this because we haven't implemented it yet without processor? > Yes. It's just not implemented. I don't have a way to test ARC hardware decode > end-to-end without processor. I'd prefer to clearly mention that here. Otherwise this may suggest it's not possible to do import without an image processor. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2214: DCHECK(image_processor_->output_allocated_size() == egl_image_size_); On 2016/09/12 11:56:52, wuchengli wrote: > On 2016/09/12 08:54:26, Pawel Osciak wrote: > > DCHECK_EQ > DCHECK_EQ cannot compile. DCHECK_EQ uses logging::MakeCheckOpString, which calls > MakeCheckOpValueString (#1), which uses ostream << egl_image_size_ (#2). But > gfx::Size doesn't support it. We need to use ostream << > egl_image_size_.ToString() if we want to log it. > > > #1: > https://cs.chromium.org/chromium/src/base/logging.h?q=MakeCheckOpValueString&... > > #2: > https://cs.chromium.org/chromium/src/base/logging.h?q=MakeCheckOpValueString&... Acknowledged. https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.cc (right): https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:232: DCHECK_EQ(output_planes_count_, output_dmabuf_fds.size()); Sorry, I meant an if instead of DCHECK. The doc requires output_dmabuf_fds to be nonempty and perhaps it'd be a good idea to verify that? https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:555: V4L2Device::V4L2PixFmtToVideoPixelFormat(egl_image_format_fourcc_), 0); We should probably verify plane_horiz_bits_per_pixel != 0 https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:556: int adjusted_coded_width = stride * 8 / plane_horiz_bits_per_pixel; Do we need to align up or error out in case (stride * 8) % plane_horiz_bits_per_pixel != 0?
All done. PTAL. https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:2126: LOGF(ERROR) << "Import mode is unsupported without image processor."; On 2016/09/14 04:17:28, Pawel Osciak wrote: > On 2016/09/12 09:15:57, wuchengli wrote: > > On 2016/09/12 08:54:26, Pawel Osciak wrote: > > > Is this because we haven't implemented it yet without processor? > > Yes. It's just not implemented. I don't have a way to test ARC hardware decode > > end-to-end without processor. > > I'd prefer to clearly mention that here. Otherwise this may suggest it's not > possible to do import without an image processor. I changed the log to "Import mode without image processor is not implemented yet". Is that more clear? https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.cc (right): https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:232: DCHECK_EQ(output_planes_count_, output_dmabuf_fds.size()); On 2016/09/14 04:17:29, Pawel Osciak wrote: > Sorry, I meant an if instead of DCHECK. The doc requires output_dmabuf_fds to be > nonempty and perhaps it'd be a good idea to verify that? I see. I added a boolean return value to indicate the failure. https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... File media/gpu/v4l2_video_decode_accelerator.cc (right): https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:555: V4L2Device::V4L2PixFmtToVideoPixelFormat(egl_image_format_fourcc_), 0); On 2016/09/14 04:17:29, Pawel Osciak wrote: > We should probably verify plane_horiz_bits_per_pixel != 0 Done. https://codereview.chromium.org/2191263002/diff/200001/media/gpu/v4l2_video_d... media/gpu/v4l2_video_decode_accelerator.cc:556: int adjusted_coded_width = stride * 8 / plane_horiz_bits_per_pixel; On 2016/09/14 04:17:29, Pawel Osciak wrote: > Do we need to align up or error out in case (stride * 8) % > plane_horiz_bits_per_pixel != 0? Done.
https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... File media/gpu/v4l2_image_processor.cc (right): https://codereview.chromium.org/2191263002/diff/160001/media/gpu/v4l2_image_p... media/gpu/v4l2_image_processor.cc:233: DCHECK_EQ(expected_num_fds, output_dmabuf_fds.size()); On 2016/09/12 11:56:51, wuchengli wrote: > On 2016/09/12 08:54:26, Pawel Osciak wrote: > > Interesting, I would've expected this to give an unused variable warning on > > non-debug build... > I found this code didn't generate unused warning. I don't know why. > int test = 1; > LOG(ERROR) << "test=" << (0 ? test : 0); > > DCHECK macros uses ?: and DCHECK_IS_ON is 0. > > #define DCHECK(condition) \ > LAZY_STREAM(LOG_STREAM(DCHECK), DCHECK_IS_ON() ? !(condition) : false) \ > << "Check failed: " #condition ". " > > > > Also, what would you think of having an if() here instead? > Done. foo is considered as "used" by compiler in if (0) foo; and 0?foo:0;
lgtm
Patchset #9 (id:240001) has been deleted
lgtm
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import BUG=b/29059119 TEST=Run VDA test and play video on oak. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator+V4L2ImageProcessor. BUG=b/29059119 TEST=Run VDA test and play video on oak. ==========
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator+V4L2ImageProcessor. BUG=b/29059119 TEST=Run VDA test and play video on oak. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. BUG=b/29059119 TEST=Run VDA test and play video on oak. ==========
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. BUG=b/29059119 TEST=Run VDA test and play video on oak. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on oak. ==========
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on oak. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on oak. ==========
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on oak. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on elm. TEST=Run VDA/VEA tests and play video on peach pi. ==========
The CQ bit was checked by wuchengli@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from kcwu@chromium.org, posciak@chromium.org Link to the patchset: https://codereview.chromium.org/2191263002/#ps300001 (title: "small improvement")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on elm. TEST=Run VDA/VEA tests and play video on peach pi. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on elm. TEST=Run VDA/VEA tests and play video on peach pi. ==========
Message was sent while issue was closed.
Committed patchset #11 (id:300001)
Message was sent while issue was closed.
Description was changed from ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on elm. TEST=Run VDA/VEA tests and play video on peach pi. ========== to ========== V4L2VideoDecodeAccelerator: support external buffer import Add support of external buffer import to V4L2VideoDecodeAccelerator when V4L2ImageProcessor is used. Buffer import for V4L2VDA only is not implemented yet. V4L2ImageProcessor adds the support of importing output buffer dmabuf fds. BUG=b/29059119 TEST=Run VDA test and play video on elm. TEST=Run VDA/VEA tests and play video on peach pi. Committed: https://crrev.com/d8b5dcd98ccea5e9e88f6f9a9924406b69ac0945 Cr-Commit-Position: refs/heads/master@{#420873} ==========
Message was sent while issue was closed.
Patchset 11 (id:??) landed as https://crrev.com/d8b5dcd98ccea5e9e88f6f9a9924406b69ac0945 Cr-Commit-Position: refs/heads/master@{#420873} |