VEA unittest: add a test case to test 360x360 |
||||||
Issue descriptionIn b/32690953, Hangout passed 360x360 to encoder. It failed because the size of U or V plane is not 128 aligned. We should test some video size that can catch this. The current sizes we are testing in video_VideoEncodeAccelerator are 1080p, 720p, 360p, and 180p.
,
Nov 14 2016
Load balancing. Daniel. Please help add this. Thanks.
,
Nov 19 2016
Daniel. I have another idea. Since the bug b/32690953 is not related to the content of the video, we can encode just one black input image for each resolution. For example, we can choose lots of resolutions to test and the testcase will still run fast. Some important resolutions are the minimum, maximum, odd resolution, and a resolution whose U plane is not 128 aligned. This is also easier to implement. How do you think?
,
Nov 19 2016
The point is we only need to queue one or several input buffers to catch that bug. We don't need to encode the entire input video.
,
Nov 20 2016
I already have an implementation that accepts input arguments of width and height to encode only partial visible region, and so we can fulfil your idea by specifying important resolutions as arguments instead of supplying the real videos. Also, it has the advantage of being trivial to add more resolutions in the future.
,
Nov 21 2016
,
Nov 28 2016
CL is in review.
,
Nov 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62f3a0edf9c5e19da3e59a6b2f5c402895b1805a commit 62f3a0edf9c5e19da3e59a6b2f5c402895b1805a Author: hywu <hywu@google.com> Date: Wed Nov 30 08:48:46 2016 VEA unittest: add a test case for cache line-alignment Linux refuses to accept buffers that have sizes ualigned to CPU cache line, which can be 128 bytes on certain devices. This test inputs a frame that has unaligned size of U and V planes to catch such errors. BUG= 664039 TEST=Run VEA unittest on Kevin. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2525563005 Cr-Commit-Position: refs/heads/master@{#435179} [modify] https://crrev.com/62f3a0edf9c5e19da3e59a6b2f5c402895b1805a/media/gpu/video_encode_accelerator_unittest.cc
,
Nov 30 2016
,
Nov 30 2016
I have to revert the last CL as it breaks the compilation. https://build.chromium.org/p/chromium/builders/Mac/builds/21481/steps/compile/logs/stdio [23145/48575] CXX obj/media/gpu/video_encode_accelerator_unittest/video_encode_accelerator_unittest.o FAILED: obj/media/gpu/video_encode_accelerator_unittest/video_encode_accelerator_unittest.o /b/c/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/media/gpu/video_encode_accelerator_unittest/video_encode_accelerator_unittest.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_PDF=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=287780-2 -DCR_XCODE_VERSION=0511 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DENABLE_IPC_FUZZER -DSK_IGNORE_DW_GRAY_FIX -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_MAC -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DMESA_EGL_NO_X11_HEADERS -DFEATURE_ENABLE_SSL -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_MAIN_THREAD_WRAPPING -DNO_SOUND_SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_MAC -DUNIT_TEST -I../.. -Igen -I../../third_party/libva -I../../third_party/libyuv/include -I../../third_party/khronos -I../../gpu -I../../testing/gtest/include -I../../third_party/libwebm/source -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/mesa/src/include -I../../third_party/webrtc_overrides -I../../third_party -I../../third_party/webrtc/common_video/include -I../../third_party/webrtc/common_video/libyuv/include -fno-strict-aliasing -fstack-protector -fcolor-diagnostics -arch x86_64 -Wall -Werror -Wextra -Wpartial-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -O2 -gdwarf-2 -isysroot /b/c/b/mac_ng/src/build/mac_files/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.9 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Wheader-hygiene -Wstring-conversion -fno-threadsafe-statics -fvisibility-inlines-hidden -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -c ../../media/gpu/video_encode_accelerator_unittest.cc -o obj/media/gpu/video_encode_accelerator_unittest/video_encode_accelerator_unittest.o In file included from ../../media/gpu/video_encode_accelerator_unittest.cc:11: In file included from /b/c/b/mac_ng/src/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/queue:171: /b/c/b/mac_ng/src/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/vector:435:27: error: no matching constructor for initialization of '_T2_param' (aka 'media::(anonymous namespace)::AlignedAllocator<char, 8>') __end_cap_(nullptr, __a) ^~~ /b/c/b/mac_ng/src/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/vector:1228:7: note: in instantiation of member function 'std::__1::__vector_base<char, media::(anonymous namespace)::AlignedAllocator<char, 8> >::__vector_base' requested here : __base(_VSTD::move(__x.__alloc())) ^ ../../media/gpu/video_encode_accelerator_unittest.cc:1989:7: note: in instantiation of member function 'std::__1::vector<char, media::(anonymous namespace)::AlignedAllocator<char, 8> >::vector' requested here AlignedCharVector( ^ ../../media/gpu/video_encode_accelerator_unittest.cc:188:3: note: candidate constructor not viable: requires 0 arguments, but 1 was provided AlignedAllocator() {} ^ /b/c/b/mac_ng/src/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/memory:2321:75: note: passing argument to parameter '__t2' here _LIBCPP_INLINE_VISIBILITY __compressed_pair(_T1_param __t1, _T2_param __t2) ^ 1 error generated.
,
Nov 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab2576fd118981251ac96db03d933fa4468549bd commit ab2576fd118981251ac96db03d933fa4468549bd Author: battre <battre@chromium.org> Date: Wed Nov 30 09:35:55 2016 Revert of VEA unittest: add a test case for cache line-alignment (patchset #8 id:140001 of https://codereview.chromium.org/2525563005/ ) Reason for revert: Breaks the compilation on mac. Original issue's description: > VEA unittest: add a test case for cache line-alignment > > Linux refuses to accept buffers that have sizes ualigned to > CPU cache line, which can be 128 bytes on certain devices. > This test inputs a frame that has unaligned size of U and V > planes to catch such errors. > > BUG= 664039 > TEST=Run VEA unittest on Kevin. > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > > Committed: https://crrev.com/62f3a0edf9c5e19da3e59a6b2f5c402895b1805a > Cr-Commit-Position: refs/heads/master@{#435179} TBR=wuchengli@chromium.org,hywu@chromium.org,owenlin@chromium.org,hywu@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 664039 Review-Url: https://codereview.chromium.org/2542533003 Cr-Commit-Position: refs/heads/master@{#435199} [modify] https://crrev.com/ab2576fd118981251ac96db03d933fa4468549bd/media/gpu/video_encode_accelerator_unittest.cc
,
Dec 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf4e9d86a27ed1604fbc227209381d529b679fa6 commit bf4e9d86a27ed1604fbc227209381d529b679fa6 Author: hywu <hywu@google.com> Date: Thu Dec 01 06:39:25 2016 VEA unittest: add a test case for cache line-alignment Linux refuses to accept buffers that have sizes ualigned to CPU cache line, which can be 128 bytes on certain devices. This test inputs a frame that has unaligned size of U and V planes to catch such errors. BUG= 664039 TEST=Run VEA unittest on Kevin. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/62f3a0edf9c5e19da3e59a6b2f5c402895b1805a Review-Url: https://codereview.chromium.org/2525563005 Cr-Original-Commit-Position: refs/heads/master@{#435179} Cr-Commit-Position: refs/heads/master@{#435566} [modify] https://crrev.com/bf4e9d86a27ed1604fbc227209381d529b679fa6/media/gpu/video_encode_accelerator_unittest.cc
,
Dec 5 2016
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by wuchengli@chromium.org
, Nov 14 2016Status: Assigned (was: Available)