aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-13Snap for 7357013 from a214d9a91854b1d144348f601c8103e961adbc99 to sc-releaseandroid-vts-12.0_r9android-vts-12.0_r8android-vts-12.0_r7android-vts-12.0_r6android-vts-12.0_r5android-vts-12.0_r4android-vts-12.0_r3android-vts-12.0_r2android-vts-12.0_r12android-vts-12.0_r11android-vts-12.0_r10android-vts-12.0_r1android-security-12.0.0_r60android-security-12.0.0_r59android-security-12.0.0_r58android-security-12.0.0_r57android-security-12.0.0_r56android-security-12.0.0_r55android-security-12.0.0_r54android-security-12.0.0_r53android-security-12.0.0_r52android-security-12.0.0_r51android-security-12.0.0_r50android-security-12.0.0_r49android-security-12.0.0_r48android-security-12.0.0_r47android-security-12.0.0_r46android-security-12.0.0_r45android-security-12.0.0_r44android-security-12.0.0_r43android-security-12.0.0_r42android-security-12.0.0_r41android-security-12.0.0_r40android-security-12.0.0_r39android-security-12.0.0_r38android-security-12.0.0_r37android-security-12.0.0_r36android-security-12.0.0_r35android-security-12.0.0_r34android-platform-12.0.0_r9android-platform-12.0.0_r8android-platform-12.0.0_r7android-platform-12.0.0_r6android-platform-12.0.0_r5android-platform-12.0.0_r4android-platform-12.0.0_r32android-platform-12.0.0_r31android-platform-12.0.0_r30android-platform-12.0.0_r3android-platform-12.0.0_r29android-platform-12.0.0_r28android-platform-12.0.0_r27android-platform-12.0.0_r26android-platform-12.0.0_r25android-platform-12.0.0_r24android-platform-12.0.0_r23android-platform-12.0.0_r22android-platform-12.0.0_r21android-platform-12.0.0_r20android-platform-12.0.0_r2android-platform-12.0.0_r19android-platform-12.0.0_r18android-platform-12.0.0_r17android-platform-12.0.0_r16android-platform-12.0.0_r15android-platform-12.0.0_r14android-platform-12.0.0_r13android-platform-12.0.0_r12android-platform-12.0.0_r11android-platform-12.0.0_r10android-platform-12.0.0_r1android-cts-12.0_r9android-cts-12.0_r8android-cts-12.0_r7android-cts-12.0_r6android-cts-12.0_r5android-cts-12.0_r4android-cts-12.0_r3android-cts-12.0_r2android-cts-12.0_r12android-cts-12.0_r11android-cts-12.0_r10android-cts-12.0_r1android-12.0.0_r9android-12.0.0_r8android-12.0.0_r34android-12.0.0_r33android-12.0.0_r31android-12.0.0_r30android-12.0.0_r3android-12.0.0_r25android-12.0.0_r2android-12.0.0_r11android-12.0.0_r10android-12.0.0_r1android12-tests-releaseandroid12-security-releaseandroid12-s5-releaseandroid12-s4-releaseandroid12-s3-releaseandroid12-s2-releaseandroid12-s1-releaseandroid12-releaseandroid12-platform-releaseandroid-build-team Robot
Change-Id: I01a1a6500f90605d6627a053c5075c6b027cf2b8
2021-05-12V4L2Decoder: setup the output pixel format when resolution changeandroid-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-devChih-Yu Huang
This CL setups the supported pixel format when resolution change. Currently the supported pixel format is flexible 420 format. Bug: 170199771 Test: android.media.cts.AdaptivePlaybackTest Change-Id: Ic1b8f5c23fa5ff14c5dba026e0d927df092a6351
2021-05-12Mark VP8 decoder as valid.Kazuhiro Inaba
It looks like the codec name was lost in ag/13694191 accidentally. Bug: 186361543 Test: Run any CTS test and check MediaDeviceInfo.deviceinfo.json Change-Id: I3ed72bb3f6ea6eb88652aca778adb2fd3fe2049a
2021-05-12v4l2_codec2: remove libv4l2_codec2_accel library.David Staessens
This CL removes the libv4l2_codec2_accel library now all files have been removed from the library, and updates dependent modules. Bug: 155138142 Test: m -j32 Change-Id: I45629ae702b12aedf9a6be256d955e702da8245d
2021-05-12v4l2_codec2: Adapt VideoPixelFormat code to Android standards.David Staessens
This CL reworks the VideoPixelFormat class that was branched from Chrome: - Removed all Chrome-specific references from comments - Removed specific numbering as we don't need compatibility with Chrome - Removed deprecated formats - Adhere to the Android coding style. - Make use of Android logging mechanisms. - Make use of Android assert macros. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I8387af0b427ebc990ec6374432f18ad732894569
2021-05-12v4l2_codec2: Move media::VideoPixelFormat to common code.David Staessens
This CL Moves the VideoPixelFormat files to the common code folder. In a next step these files will be cleaned up and reworked into proper Android code, but splitting the move into a separate CL makes the review process a lot easier. Note: the "accel" folder is now empty, but the folder and Android.bp files will be cleaned up in a next CL so we can properly clean up all dependencies on the v4l2_accel module. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: Ia4708e5dbdd11223b9a2c445850b8c0cf6ee6d37
2021-05-12v4l2_codec2: Adapt media::Fourcc code to Android standards.David Staessens
This CL reworks the Fourcc class that was branched from Chrome: - Adhere to the Android coding style. - Make use of Android logging mechanisms. - Make use of Android assert macros. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I0288d7e0ff94b378f6cbba61b15098caf738229c
2021-05-12v4l2_codec2: Move Fourcc to common code.David Staessens
This CL Moves the Fourcc files to the common code folder. In a next step these files will be cleaned up and reworked into proper Android code, but splitting the move into a separate CL makes the review process a lot easier. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I8d04b8538187c157f052dcd200f349313a64c7c6
2021-05-12v4l2_codec2: Remove media::ColorPlaneFormat and media::VideoFrameLayoutDavid Staessens
This CL removes all uses of the media::ColorPlaneFormat and media::VideoFrameLayout types that were copied from Chrome. All uses of ColorPlaneFormat are changed to the VideoFramePlane type in Common.h. To replace the Chrome VideoFrameLayout a much simpler type was introduced in Common.h. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: If601718351b7dd328bda65036b1a0525f8b7e0fb
2021-05-12v4l2_codec2: Merge VideoFrame into VideoPixelFormat.David Staessens
After the recent cleanup operations the only code left in the VideoFrame class are helper functions directly related to the VideoPixelFormat. This CL merges all these helpers into video_pixel_format.h. Additionally a helper in the VideoFrameLayout class is also moved to the video_pixel_format.h, so all VideoPixelFormat-related helpers are in one place. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I76699ecf69eb90fe890c1c272db058938b68062b
2021-05-12v4l2_codec2: Switch from media::VideoCodecProfile to C2 profiles.David Staessens
This CL changes all uses of the media::VideoCodecProfile type that was copied from Chrome to their respective C2 profile counterparts. This removes the additional conversion between C2 profiles, VideoCodecProfile and V4L2 profiles. The video_codecs.h/cc files are removed. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I0df03215e51def6379c468a4c189104d5fbde0e9
2021-05-12v4l2_codec2: Use C2Config::PROFILE_VP8_0.David Staessens
This CL changes the V4L2 encoder component to use the newly introduced C2Config::PROFILE_VP8_0 profile. This profile was initially not present, complicating code dealing with VP8. Note: Submit after ag/13976507 Bug: 155138142 Test: arc.VideoEncodeAccel.vp8_192p_i420_vm Change-Id: I4256a4871221d3f417b5f1a003cc9fcfdb3dcd0e
2021-05-12v4l2_codec2: Remove minimum H.264 profile workaround in V4L2 encoder.David Staessens
This CL removes a workaround that was added to tackle a quality issue in b/114332827. This workaround causes the android.mediav2.cts. EncoderProfileLevelTest#testValidateProfileLevel[6(video/avc)] test to fail. It's not clear whether the issue is still present so some quality check CTS tests might start failing, but we should tackle these issues at the source. Bug: 184015100 Test: android.mediav2.cts.EncoderProfileLevelTest Change-Id: I55f275af4a421509a776e39bed669365159ba2ee
2021-05-12v4l2_codec2: Adapt overflow check in common.cpp.David Staessens
This CL changes the overflow check that's used when calculating a video's area in getArea() to use base::CheckedNumeric, as the current check is depending on undefined behavior. Bug: 155138142 Test: arc.VideoDecodeAccel.h264_vm Change-Id: I1b702c663ed7d99b1199ce743196bab64302dfc3
2021-05-12V4L2DecodeComponent: abandon pending work when drain is done.Chih-Yu Huang
Originally we forced the component into error state if there are any pending frames when drain is done. That means these frames are either no-show frames or dropped. It doesn't affect the following decoding. This CL changes to abandon pending frames instead of reporting error. Bug: 184211876 Test: android.media.cts.AdaptivePlaybackTest Change-Id: I18511f14f70579718f434f316701ee1b77c1f6f0
2021-05-12v4l2_codec2: Switch from media::VideoCodec to common VideoCodec class.David Staessens
This CL removes all uses of the media::VideoCodec type that was copied from Chrome, in favor of the VideoCodec definition in common/VideoTypes.h. The media::VideoCodec type is removed. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I9a936bd54bc4232dfb5af016073c8cf8cc86077c
2021-05-12v4l2_codec2: Use Android Size instead of Chrome Size.David Staessens
This CL changes the V4L2 decoder and encoder to use the Android Size structure instead of the one copied from Chrome, the Chrome size.h file is removed. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm arc.VideoDecodeAccel.h264_vm Change-Id: I8f63e847d8cf4ffd33621706287a44c93a4864fd
2021-05-12v4l2_codec2: Use Android Rect instead of Chrome Rect.David Staessens
This CL changes the V4L2 decoder and encoder to use the Android rect structure instead of the one copied from Chrome, the Chrome rect.h file is removed. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm arc.VideoDecodeAccel.h264_vm Change-Id: Ie581deee6b4b43a27c45e48269a6902526727933
2021-05-12v4l2_codec2: Remove Chrome macros.David Staessens
This CL cleans up the macros.h file that was copied from chrome together with other helper files to make the development of the V4L2 encoder and decoder easier. Most logging has been adapted to use Android logging now, so this CL removes the last uses of these log macros. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: Ie44d7c85a15860720a5ced9b1ec4f88197cbec82
2021-05-12v4l2_codec2: Remove video_encode/decode_accelerator files.David Staessens
This CL cleans up the video_encode_accelerator.h/cc and video_decode_accelerator.h/cc files. These files were copied from Chrome to help with the development of the V4L2 encoder and decoder, but most off their functionality has already been removed in a previous CL. The remaining functionality is integrated into the V4L2Device so these files can be removed now. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I4591e3d03f5ebc6d568cc718ccde5df05af37b36
2021-05-12v4l2_codec2: Adapt V4L2 device and V4L2 device poller for Android.David Staessens
This CL reworks the V4L2 device and V4L2 device poller code that was branched from their Chrome counterparts: - Adhere to the Android coding style. - Make use of Android logging mechanisms. - Make use of Android assert macros. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I4842624e7fae9fc3f52d90dc90a5e7c026c63513
2021-05-12v4l2_codec2: Remove request-related code from V4L2 device.David Staessens
This CL removes leftover code related to V4L2 requests from the V4L2 device, as it's currently not functional nor used. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I98702a74778e84f1aec00f8f216c9c4f1c16c261
2021-05-12v4l2_codec2: Remove image processor and JPEG support from V4L2 device.David Staessens
This CL removes leftover code related to image processor support and JPEG encoding/decoding from the V4L2 device, as it's currently not used. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I34fe7819e78b93a9a9d33e4888e56aba5f9826cb
2021-05-12v4l2_codec2: Remove unused member variable from V4L2 device.David Staessens
This CL performs a small bit of cleanup by removing an unused member variable from the V4L2 device. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I3ef7c7fd28db30137ca7b4e1a52c031e6dcc0591
2021-05-12v4l2_codec2: Merge generic V4L2 device into V4L2 device.David Staessens
This CL merges the V4L2Device and GenericV4L2Device code. The code was copied from Chrome where multiple device types are possible, but in Android we only have a single implementation. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I16ee2af26f5dd89cdc44c83170b8be74baaec186
2021-05-12v4l2_codec2: Remove unused defines from V4L2 device.David Staessens
This CL performs minor cleanup and removes a few unused defines from the V4L2 device. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I8d486775f3e1b8618f6a82dd02932892f143a17a
2021-05-12v4l2_codec2: Move V4L2 device and device poller to common code.David Staessens
This CL Move the V4L2 device and V4L2 device poller files to the common code folder. In a next step these files will be cleaned up and reworked into proper Android code, but splitting the move into a separate CL makes the review process a lot easier. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I4c4c9d7f5c7e85feed10ed1e3fd9b8fa14ca67ae
2021-05-12v4l2_codec2: Reduce Chrome code dependencies.David Staessens
While developing the V4L2 encode and decode components the design was based on the V4L2 encoder and decoder in Chrome. To speed up and simplify the development process parts of the Chrome helper code was copied to Android. As the components evolved a lot over time, most of the Chrome code can now be removed. This CL removes a lot of code from the accel/ folder: - Some files are no longer used and can just be removed. - Other files are only partly used but pull in a lot of dependencies. This CL removes the unused parts of these files and the associated dependencies. - Other files have been replaced by helpers in the common/ folder and can now be removed, e.g. the H.264 NAL SPS parser in ag/13911308. Bug: 155138142 Test: arc.VideoDecodeAccel.* on hatch Change-Id: I324088846e00426c4b8e5fbd1ff5b5e7ac200e12
2021-05-12v4l2_codec2: Expand NALParser to support parsing color aspects.David Staessens
This CL expands the simple NALParser to support parsing color aspects from the SPS NAL unit. The V4L2 decode component is adapted to use this new NALParser rather than the Chrome parser. This allows us to remove the Chrome H.264 parser and its associated dependencies in a subsequent CL, removing a lot of code. Bug: 155138142 Test: arc.VideoDecodeAccel.* and arc.VideoDecodeAccelPerf.* on hatch Change-Id: Icbfa63478980ab2b2d1bf2d46697359a0ac92937
2021-05-12v4l2_codec2: Move NALParser code to separate file.David Staessens
This CL moves the simple NALParser to a dedicated file. The parser will be expanded in a subsequent CL so moving the code in a separate CL will make it easier to distinguish newly made changes. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I9691de7e610a4c9881c29dbdc337ae9d01668145
2021-05-12v4l2_codec2: Cleanup unused includes.David Staessens
This CL cleans up a few unused includes in the encode helpers. Bug: 155138142 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I41edd1d95b92410d8bb143ebb2d2da26eef0c01e
2021-05-12v4l2_codec2: Rename V4L2 encoder states.David Staessens
This CL performs a small bit of cleanup, renaming the V4L2 encoder states to better reflect their purpose. Bug: 143333813 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I273c792a653110e6c4e8ba338565280eab94d442
2021-05-12v4l2_codec2: zero v4l2_rect field before performing IOCTL.David Staessens
This CL performs a small bit of cleanup, clearing the v4l2_rect data before performing an IOCTL. Bug: 143333813 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: Ie24daa1d37b867a53acf0734c457ba47ad6e2d12
2021-05-12v4l2_codec2: use std::find_if when locating EOS buffers.David Staessens
This CL performs a small bit of cleanup, using std::find_if to locate eos buffers in the work queue. Bug: 143333813 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I521374dee4629ec155f0052de9bdd1549e0b51b9
2021-05-12v4l2_codec2: Split off H264 V4L2 configuration to separate function.David Staessens
This CL performs a small bit of cleanup, splitting all H.264-related V4L2 device configuration into a separate function. Bug: 143333813 Test: arc.VideoEncodeAccel.h264_192p_i420_vm Change-Id: I8304294d9424ff6d1f38bffd509051b25cc1a64b
2021-05-12v4l2_codec2: Split up V4L2EncodeComponent.David Staessens
This CL splits the V4L2EncodeComponent in a codec2 component and a V4L2 encoder part. This improves the encapsulation and flexibility of the encoder and makes maintenance easier. As a lot of the encode/drain/flush logic has been affected by the split, various changes needed to be made: - The drain/flush flows have been reworked. - Various changes have been made to the input/output buffer flows to match the new requirements and restrictions. - The BitstreamBuffer class is used for output, to avoid having Codec2 logic in the V4L2 encoder class. - A queue was introduced for work waiting for input format conversion. - Some outdated comments have been removed. Bug: 143333813 Test: arc.VideoEncodeAcel.* and various CTS tests Change-Id: Ie782b74daa3662a1ce1d441b5ba5e48eaa1057d3
2021-05-12v4l2_codec2: Fix small typo in VideoFrame.David Staessens
This CL fixes a minor typo in the VideoFrame.h file. Bug: 143333813 Test: m -j32 Change-Id: Id8f1a7f45097b777497824c3bb9dd9beef183c8c
2021-05-12v4l2_codec2: Remove unused include in BitstreamBuffer.h.David Staessens
This CL performs some minor cleanup by removing a unused include in the BitstreamBuffer.h file. Bug: 143333813 Test: m -j32 Change-Id: I1fa40249a36670b4563902a9b81d7a868dd27250
2021-05-12v4l2_codec2: Remove unused function declaration from V4L2Decoder.David Staessens
This CL performs some minor cleanup removing an unused function declaration from the V4L2Decoder.h file. Bug: 152714603 Test: m -j32 Change-Id: I9edc4ffc46c56659f17f3a65f4a3e1a203d6eee2
2021-04-22Snap for 7302914 from 285da16b7071d8e83c6132200fd58b0e5cafa1aa to sc-releaseandroid-build-team Robot
Change-Id: If16783ecadd130290121cdc755cc6dd44f322d08
2021-04-21[LSC] Add LOCAL_LICENSE_KINDS to external/v4l2_codec2 am: 264cc1696c am: ↵Bob Badour
b323613dc9 am: 9969e585b1 Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/1682286 Change-Id: I87be9b2580aa4f8896f3e7a27285d83c557a5cf8
2021-04-21[LSC] Add LOCAL_LICENSE_KINDS to external/v4l2_codec2 am: 264cc1696c am: ↵Bob Badour
b323613dc9 Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/1682286 Change-Id: Icf76dad7b76a7ab35fccfdf66148fa5651d533c6
2021-04-21[LSC] Add LOCAL_LICENSE_KINDS to external/v4l2_codec2 am: 264cc1696cBob Badour
Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/1682286 Change-Id: Idf2e9a57d8bbef82b1e249b8a14372218f661735
2021-04-20[LSC] Add LOCAL_LICENSE_KINDS to external/v4l2_codec2android-s-beta-2android-s-beta-1Bob Badour
Added SPDX-license-identifier-BSD legacy_unencumbered to: tests/c2_e2e_test/Android.mk Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: If900ebfbf2f8748b41b3a8a7ce9b106b1b1a0427
2021-04-03Snap for 7256110 from 2d2ba2625aa3e1ac14792c7409a27a282fb0e581 to sc-releaseandroid-build-team Robot
Change-Id: Icfffd5f8aa76adf712b86544bdaab7380b07e7b0
2021-04-02Merge "components: Add C2_PARAMKEY_COMPONENT_KIND parameter" into sc-devChih-yu Huang
2021-03-30Snap for 7243396 from 50e77c4f67e2c15ec5fa4f8d9604f5d7abf65725 to sc-releaseandroid-build-team Robot
Change-Id: I8c78f3f707c7059f23be54627da3a23fbdd7695b
2021-03-29components: Add C2_PARAMKEY_COMPONENT_KIND parameterChih-Yu Huang
This CL adds C2_PARAMKEY_COMPONENT_KIND parameter for both decode and encode components. Bug: 183910489 Test: android.media.cts.AdaptivePlaybackTest#testH264_adaptiveDrc Change-Id: I8a90ed95aefa7d6dd018ead3ec0dfa79d4960ee9
2021-03-29V4L2ComponentStore: Avoid dynamic loading shared libraryChih-Yu Huang
Originally V4L2ComponentStore and V4L2ComponentFactory depends on each other. To avoid circular dependency, V4L2ComponentStore dynamically loads the shared library of V4L2ComponentFactory. This CL removes the dependency from V4L2ComponentFactory to V4L2ComponentStore, and also avoid dynamic loading the shared library. Bug: 160110846 Test: android.media.cts.AdaptivePlaybackTest Change-Id: I864b642035ea5b1572ee1d474ad12706147cbed1
2021-03-26Snap for 7236705 from 818ead628110b5ae201c3665c93c7511701308e5 to sc-releaseandroid-build-team Robot
Change-Id: I516dd09894cadde14aab2c8351b259f7028ec119