aboutsummaryrefslogtreecommitdiff
path: root/accel
AgeCommit message (Collapse)Author
2020-06-23v4l2_codec2: Add support for encoding to V4L2 device.David Staessens
This CL adds support for encoding to the V4L2 device class by exposing the path to the encode device node. Bug: 143333813 Test: mmm external/v4l2_codec2 Change-Id: I66bb206fed21205ed6957a3a289baad64cbbf06a
2020-05-11Update Android.bp to use vendor property.Chih-Yu Huang
All modules in v4l2_codec2 is vendor modules. This CL changes to use "vendor" property instead of "vendor_available" or "soc_specific". Note: "vendor_available" property means a module could be depended by both system and vendor modules. "soc_specific" property means a module is specific to an certain SoC. Bug: 153403351 Test: m -j32 Change-Id: Ia719fc0e0c623bb8f2fc5578a75646b26c5f0771
2020-04-15accel: Avoid aggregate initialization for C struct.Chih-Yu Huang
When a union is initialized by aggregate initialization, only its first non-static data member is initialized. So if a C struct contains union data members, other data members are not initialized. This CL replaces aggregate initialization of all v4l2 related struct with memset(), to ensure the struct is initialized correctly. Bug: 153935975 Test: mmm external/v4l2_codec2 Change-Id: I11550e1ebcce3a69e5f0ccd814f6413f7ce8aabf
2020-03-30accel: change libv4l2_codec2_accel from cc_library_shared to cc_libraryChih-Yu Huang
We plan to link libv4l2_codec2_accel as static library in the future. This CL change its target to cc_library. Bug: 152714603 Test: mmm external/v4l2_codec2/ Change-Id: Ic3339faff154f6fe4bb3297d68a263402474d1ab
2020-03-30accel: Port Chrome helper libraries for V4L2 encode component to Android.David Staessens
This CL ports all Chrome helper libraries required for the upcoming codec2 V4L2 encode component to Android. All affected helper libraries are updated to the latest Chromium version. The initial version of the codec V4L2 encode and decode components will make heavy use of Chromium helper libraires, but these dependencies will be reduced in the future. All helper code is placed under external/v4l2_codec2/accel to avoid the code being used by other parties. Note: In a previous version the V4L2Device was merged with the GenericV4L2Device class. These classes have been split up again to make it easier to keep the Chrome and Android code in sync. Bug: 143333813 Test: m -j32 Change-Id: I3357ca9394f64b1edbd39b4a403cd9081f55d559
2019-11-26v4l2_device: Change video device name pattern to /dev/videoXKeiichi Watanabe
V4L2 registers video input/output devices as /dev/videoX. So, we can use this name pattern instead of /dev/video-decX. Bug: 140275575 Test: Play YouTube on ARCVM with virtio-vdec Change-Id: Iacd403c46ef1b1f86c8a1675624a11efe86f6c74 Signed-off-by: Keiichi Watanabe <keiichiw@google.com> (cherry picked from commit c552e9b97437a15d2311aafb14182b7a7f78bcfd)
2019-10-30accel: Fix a wrong assumption that a buffer with V4L2_BUF_FLAG_LASTHirokazu Honda
V4L2VDA assumes a buffer with V4L2_BUF_FLAG_LAST doesn't contain a decoded frame. However, the fact is a buffer with V4L2_BUF_FLAG_LAST might contain a decoded frame (not always though). This CL removes the wrong assumption. Bug: 131122595 Test: ARC++ decoder E2E test (i.e. arc_video_decoder_e2e_test) with pure Android solution Change-Id: Iaf2d425b019a3d0438552c5ea3d2fb1852043777 (cherry picked from commit fe275e331fb9afab7d04fa01881ff6b802df32b9)
2019-10-30V4L2VDA: Call NotifyEndOfBitstreamBuffer() after DQBUF on OUTPUT queueHirokazu Honda
V4L2VDA calls NotifyEndOfBitstreamBuffer() when BitstreamBufferRef is destructed. BitstreamBufferRef is destructed when a file descriptor info is registered in |input_record|. This is obviously wrong if we use a file descriptor for bitstream buffer because we don't copy the content to memory owned by v4l2 driver. Therefore, the bitstream buffer can be overwritten in a client side for a new bitstream buffer before a v4l2 driver will consume the buffer. The bitstream buffer shall not be overwritten until a v4l2 driver will consume. This CL delays NotifyEndOfBitstreamBuffer() by keeping the reference of BitstreamBufferRef until DQBUF is complete on OUTPUT queue, after which a driver should not refer the buffer defenitely. Bug: 131122595 Test: arcvideodecoder native e2e test on eve Change-Id: I5b357f9395acbad53417c843800465138d92d619 (cherry picked from commit 85e5d31bcbd6eb7d5df75355ef664e4bbb3d070a)
2019-10-30accel: port the latest video_pixel_format.(h|cc)Pin-chih Lin
Note: the original code is under video_types.(h|cc) in Chromium Bug: 73059339 Test: compile image Change-Id: I3a5a71d2a9ea076e6e6807a4bb5342f4c8279624 (cherry picked from commit 24ce720487f1c92229d50e0018631f7eef7a928a)
2019-10-30V4L2VDA: Check if the number of allocated buffers by a driver is not smaller ↵Hirokazu Honda
than requested The number of allocated buffers by a driver by VIDIOC_REQBUFS should not be smaller than requested unless the driver runs out of memory. This CL correct the exisiting check for CAPTURE queue and add the check for OUTPUT queue. Bug: None Test: ARC e2e decoder test Change-Id: I95fe5564979b77594ebbfa83815037755e85c38c (cherry picked from commit 7bbeeecb65916f75bd089e8f118b392494db0da6)
2019-09-26v4l2_codec2: rename libv4l2_codec2_vda to libv4l2_codec2_accelPin-chih Lin
We are adding video encode accelerator (VEA) related codes into this library. So we would like to rename it to *_accel. Bug: 73059339 Test: build image Change-Id: I66c574b66d4fdf9014db304b0d97c19c248718c1 (cherry picked from commit 7ba9f723f767e78b04b330f66901beeadff4915d)