- Nov 26, 2024
-
-
Since this is version of C2DmaBufAllocator will use a different dmabuf heap, rename it to C2CarveoutDmaBufAllocator to reflect a different usage. Having a different name will be helpful when skimming through logcat. Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by:
Guillaume La Roque <glaroque@baylibre.com>
-
The C2 DmaBufAllocator provided by libcodec2_vndk does not allow any customization of the dmabuf heap name. Since we need to use a different dmabuf heap (video_carveout) for the wave5 chip, make a copy here that we can customize it. This has been copied over from: //frameworks/av/media/codec2/vndk branch: android-14.0.0_r21 Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by:
Guillaume La Roque <glaroque@baylibre.com>
-
In V4L2Decoder::start(), we call setupInputFormat() to configure the initial decoding resolution. This is done by passing a default Size() class, which has a size of (-1,-1). According to [1], when calling VIDIOC_S_FMT, the driver can adapt the requested format, which is what the wave5 driver does. By default, the wave5 driver picks up the maximum available resolution: [ 1047.307387][ T3573] wave5_update_pix_fmt 8192x4320 sizeimage: 53084160 Because of that, the initial buffers are too big and connot be allocated by the kernel: [ 1047.981455][ T3573] videobuf2_common: [out-00000000d79789f3] __prepare_dmabuf: failed to attach dmabuf [ 1047.990842][ T3573] videobuf2_common: [out-00000000d79789f3] __buf_prepare: buffer preparation failed: -14 Fix this by using a hard-coding 1080p as an initial input size. [1] https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/vidioc-g-fmt.html#c.V4L.VIDIOC_S_FMT Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by:
Guillaume La Roque <glaroque@baylibre.com>
-
The AM62P gralloc implementation defaults to NV12 when the YCBCR_420_888 format is requested. This is a requirement for using libcamera. Make sure we configure the video decoder to use the same pixel format. Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by:
Guillaume La Roque <glaroque@baylibre.com>
-
- Sep 30, 2024
-
-
Treehugger Robot authored
-
Mattijs Korpershoek authored
The client can crash the V4L2EncodeComponent by passing an input with one buffer where buffer==nullptr: F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F DEBUG : Build fingerprint: 'TI/am62p/am62p:14/UQ1A.240105.002/eng.mkorpe.20240325.115051:userdebug/test-keys' F DEBUG : Revision: '0' F DEBUG : ABI: 'arm64' F DEBUG : Timestamp: 2024-04-09 07:53:02.494446645+0000 F DEBUG : Process uptime: 8s F DEBUG : Cmdline: /vendor/bin/hw/android.hardware.media.c2@1.0-service-v4l2 F DEBUG : pid: 4949, tid: 4955, name: V4L2EncodeCompo >>> /vendor/bin/hw/android.hardware.media.c2@1.0-service-v4l2 <<< F DEBUG : uid: 1013 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE) F DEBUG : signal 0 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr -------- F DEBUG : Cause: null pointer dereference F DEBUG : x0 0000000000000000 x1 b400007acbed72e8 x2 b400007a3beda7f0 x3 0000000000000010 F DEBUG : x4 020000797bedb2c0 x5 b400007a2bed1878 x6 0000000000000001 x7 7f7f7f7f7f7fff7f F DEBUG : x8 00000078e68d0710 x9 b40000795bed9990 x10 b40000795bed99a0 x11 0000000000000003 F DEBUG : x12 0000000000000000 x13 0000000000000004 x14 0000000000000276 x15 0000000000000000 F DEBUG : x16 0000007b7c1eac60 x17 0000007b80a6c770 x18 00000078e5aa2000 x19 b400007a0bede5a0 F DEBUG : x20 00000078e68d07e0 x21 0000000000000000 x22 0000000000000000 x23 b400007a9bed6210 F DEBUG : x24 0000000000000000 x25 00000078e68d1000 x26 0000000000000002 x27 0000007b8a387b88 F DEBUG : x28 00000000000fc000 x29 00000078e68d0680 F DEBUG : lr 0000007b7c1cbb20 sp 00000078e68d0680 pc 0000007b80a6c778 pst 0000000080000000 F DEBUG : 12 total frames F DEBUG : backtrace: F DEBUG : #00 pc 0000000000069778 /vendor/lib64/libcodec2_vndk.so (C2Buffer::data() const+8) (BuildId: 1d42f8105aac0515945328329706c2e1) F DEBUG : #01 pc 0000000000042b1c /vendor/lib64/libv4l2_codec2_components.so (android::V4L2EncodeComponent::queueTask(std::__1::unique_ptr<C2Work, std::__1::default_delete<C2Work> >)+348) (BuildId: 2f6128320f05c503e8ee6dc9e05df980) F DEBUG : #02 pc 00000000000470a8 /vendor/lib64/libv4l2_codec2_components.so (base::internal::Invoker<base::internal::BindState<void (android::V4L2EncodeComponent::*)(std::__1::unique_ptr<C2Work, std::__1::default_delete<C2Work> >), base::WeakPtr<android::V4L2EncodeComponent>, std::__1::unique_ptr<C2Work, std::__1::default_delete<C2Work> > >, void ()>::RunOnce(base::internal::BindStateBase*)+120) (BuildId: 2f6128320f05c503e8ee6dc9e05df980) F DEBUG : #03 pc 00000000000acca0 /vendor/lib64/libchrome.so (base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)+192) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #04 pc 00000000000cc9ac /vendor/lib64/libchrome.so (base::MessageLoop::RunTask(base::PendingTask*)+348) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #05 pc 00000000000ccd84 /vendor/lib64/libchrome.so (base::MessageLoop::DoWork()+468) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #06 pc 00000000000ce080 /vendor/lib64/libchrome.so (base::MessagePumpDefault::Run(base::MessagePump::Delegate*)+96) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #07 pc 00000000000f1fec /vendor/lib64/libchrome.so (base::RunLoop::Run()+60) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #08 pc 0000000000111e88 /vendor/lib64/libchrome.so (base::Thread::ThreadMain()+392) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #09 pc 000000000010f040 /vendor/lib64/libchrome.so (base::(anonymous namespace)::ThreadFunc(void*)+128) (BuildId: 87e214635dddac0ae594ee401576361a) F DEBUG : #10 pc 00000000000d6fb0 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: 218db69eb66aeb253a34d956906a8bba) F DEBUG : #11 pc 000000000006ad90 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 218db69eb66aeb253a34d956906a8bba) This is tested by VtsHalMediaC2V1_0TargetComponentTest#testInputBuffer(). Fix this by guarding against this condition, as done in SimpleC2Component[1] [1] https://android.googlesource.com/platform/frameworks/av/+/refs/heads/main/media/codec2/components/base/SimpleC2Component.cpp#1141 Test: atest VtsHalMediaC2V1_0TargetComponentTest Change-Id: I407f8f7fb420bd993a665c0a7cb10ad1e224d0fb Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com>
-
Mattijs Korpershoek authored
Right now, the reset() operation just calls stop(). When a client calls stop() followed by reset(), reset() returns a C2_BAD_STATE error. (since we are already STOPPED). According to the framework documentation (C2Component.h), reset can *only* return C2_BAD_STATE when the component is in release state. Test if we are already STOPPPED and if so, do a no-op by returning C2_OK. Test: atest VtsHalMediaC2V1_0TargetComponentTest Change-Id: I4095c0a9db43a017d3476224d33534748e2251f5 Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com>
-
- Sep 06, 2024
-
-
Xin Li authored
Bug: 357762254 Merged-In: Ieec0794c4bd537a334196f4fb773631fc0cf76b1 Change-Id: Ideb7482713852a769966e68c0ab978250a1c2d3c
-
- Sep 04, 2024
-
-
Michał Krawczyk authored
Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/3252909 Change-Id: I322e2c78cd0550cfc9a426d16363e735918592fd Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Michał Krawczyk authored
The user app can provide buffers to the encoder directly via MediaCodec API (queueInputBuffer) or via InputSurface. In case the input surface is used, the timestamps of the encoded frames are automatically generated, as they're being considered as a real-time traffic (for example - from screen capture session or the camera input). Also the Component is supposed to dynamically adjust the framerate based on the input frames timestamps (see b/192419592). The dynamic framerate calculation may provide extreme framerate values, which will cause encoder failures because of too high MBPS for the given profile. One such case was detected by test android.media.codec.cts.MediaCodecTest#testAbruptStop after OMX removal. As the CTS test itself can generate such values, the encoder was updated to calculate the maximum allowed framerate for the input frame size and output level. Then this value is used to limit the dynamic framerate calculations. As it can be potentially an app error, the warning is printed whenever this happens. Note: this is currently done only for H264. For other codecs the clamping won't be effective, as the maximum allowed framerate is set to uint32_t::max(). Bug: 295339810 Bug: 362902868 Test: android.media.codec.cts.MediaCodecTest#testAbruptStop Test: com.google.android.media.gts.RtcVideoCodecTest#testDynamicFramerateChangeVp8 Change-Id: I783493453d762886a10996d0ad9821149cafb014
-
- Jun 18, 2024
-
-
Xin Li authored
Bug: 347831320 Merged-In: Ieec0794c4bd537a334196f4fb773631fc0cf76b1 Change-Id: I621bfeb5126c0042624deb2fff96db50fcb8251c
-
- Jun 17, 2024
-
-
Xin Li authored
am skip reason: Merged-In Ie336e0729fb3194f7fb81a26ccbaa3e53f100f35 with SHA-1 e8c76749 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/3131859 Change-Id: Ia1d98346b8e87dc910bc1771cb8be84035ca99fa Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Jun 13, 2024
-
-
Xin Li authored
Bug: 346855327 Merged-In: Ie336e0729fb3194f7fb81a26ccbaa3e53f100f35 Change-Id: I425af3755c0b231f4f610bf34879c574df894db0
-
- May 29, 2024
-
-
Xin Li authored
[automerger skipped] Merge Android 24Q2 Release (ab/11526283) to aosp-main-future am: e8c76749 -s ours am skip reason: Merged-In I4c2d06da588d2a12a593bbba3461384d8b3dffca with SHA-1 7e15865d is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/v4l2_codec2/+/27273368 Change-Id: Id1fb3f63c0581de824d63da3ae339ad805034e59 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- May 14, 2024
-
-
Garfield Tan authored
Bug: 299845985 Test: They are installed in the ARC++ system image. Change-Id: Ieec0794c4bd537a334196f4fb773631fc0cf76b1
-
- May 06, 2024
-
-
Xin Li authored
Bug: 337098550 Merged-In: I4c2d06da588d2a12a593bbba3461384d8b3dffca Change-Id: Ie336e0729fb3194f7fb81a26ccbaa3e53f100f35
-
- Mar 07, 2024
-
-
Xin Li authored
[automerger skipped] Merge Android 14 QPR2 to AOSP main am: b1539bd8 -s ours am: 033a420e -s ours am skip reason: Merged-In Id57ac546595fde736a32d17f61039b44107f413e with SHA-1 3bde35bb is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2990909 Change-Id: I80c9d7d883f0787cdfdeea6ed4899af2d04f6b7f Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Xin Li authored
am skip reason: Merged-In Id57ac546595fde736a32d17f61039b44107f413e with SHA-1 3bde35bb is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2990909 Change-Id: I312a86b90b99aa4bfc042a5d8192eadc645e1eb9 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Mar 06, 2024
-
-
Xin Li authored
Bug: 319669529 Merged-In: Id57ac546595fde736a32d17f61039b44107f413e Change-Id: I2f803594c587ed291e5f86f82779cadc5c1a77e4
-
- Feb 28, 2024
-
-
Hubert Mazur authored
The allocated buffer size for the encoded bitstream is always set to 1MB which might not be always accurate. It is possible to exceed it when high bitrates are used, like 10Mb/s. The encoder might put zeros to the output buffer to meet required bitstream. Also in case of slow devices the encoder might put zeros to meet the time constraints. For the sake of compatibility, set it to the same values as the Chrome browser does for a 1080p stream. Bug: 326164993 Test: CtsMediaCodecTestCases Change-Id: I4c2d06da588d2a12a593bbba3461384d8b3dffca
-
- Jan 31, 2024
-
-
Xin Li authored
am skip reason: Merged-In I25a226b8eb962138489f30cd0fa1a42c3e599bdf with SHA-1 aa357b36 is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/v4l2_codec2/+/25973939 Change-Id: I09d6df84f5344a0e6d2b70c5310c17beec177683 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Jan 24, 2024
-
-
Xin Li authored
Bug: 319669529 Merged-In: I25a226b8eb962138489f30cd0fa1a42c3e599bdf Change-Id: Id57ac546595fde736a32d17f61039b44107f413e
-
- Jan 23, 2024
-
-
Bartłomiej Grzesik authored
Bug: 320907404 Test: lunch bertha_x86_64-trunk_staging-userdebug && m Change-Id: Ibd77b0db966a296eae166e211c24e7a58a4cc000
-
- Jan 22, 2024
-
-
yangbill authored
Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2897625 Change-Id: I5793eec08472570ecc93403d7d635678890c2b21 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
yangbill authored
Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2897625 Change-Id: I568ddf8da4f521b1547ca8abeb8d718b1775fd9c Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Jan 05, 2024
-
-
yangbill authored
Bug: 318786916 Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug ; \ m C2E2ETest (Can not find module) Test: Add "PRODUCT_SOONG_NAMESPACES += external/v4l2_codec2" to device/google/cuttlefish/shared/device.mk lunch aosp_cf_x86_64_phone-trunk_staging-userdebug ; \ m C2E2ETest (Build Pass) Change-Id: Ie8ffae13b763b0e1190b46cc7b09daf14d61524c
-
- Dec 06, 2023
-
-
Michał Krawczyk authored
* changes: V4L2Decoder: do not check for DRC for secure codec Reland: "V4L2Decoder: Check if waiting for DRC needed"" V4L2Decoder: Terminate drain if host is not streaming
-
- Dec 05, 2023
-
-
Prameet Shah authored
The original change ag/25539865 was submitted in `main`. Backporting it to this branch to reduce divergence. Bug: 314693926 Bug: 314784915 Test: m Change-Id: I25a226b8eb962138489f30cd0fa1a42c3e599bdf
-
- Dec 04, 2023
-
-
Daichi Hirono authored
The upstream includes these headers after declaring android::base namespace, which resulted in confusing the compiler libchrome's ::base v.s. android::base Bug: 314693926 Test: m Change-Id: I25a226b8eb962138489f30cd0fa1a42c3e599bdf
-
- Nov 28, 2023
-
-
Michał Krawczyk authored
It's not possible to access the frame data if the secure codec is used. An attempt to map() such data will result in an error, and attempt to wait for the DRC will cause a nullptr dereference. This patch adds a workaround, which skips the DRC verification if the secure codec is used. Bug: 280853786 Bug: 274864105 Test: GtsExoPlayerTestCases Change-Id: I5b9d990c87b8afef2817f6bb9b9d8afb42017ca9 (cherry picked from commit 8fce6a632586b49aa23b14235363dca0f1fe0a7c)
-
Zyta Szpak authored
This reverts commit c69b69e501cc928a7bcb1867f26ae9423744c709. Reason for revert: this original commit revealed another bug that got fixed in Chrome and verified by security tests. It can now be safely relanded. Bug: 280853786 Bug: 274864105 Test: android.media.cts.DecoderTest#testEOSBehaviorVP9 Change-Id: I6de423c5b8e6b9d11208d71d279b8ae31cf73f2d (cherry picked from commit ea9b7f077241a75f461f73e292298a6797e72276)
-
Zyta Szpak authored
While testing ARM devices a corner case was discovered that before the first resolution change event is dequeued Chrome output queues and host driver CAPTURE queues are not streaming but ARCVM has no knowledge of it. Drain never finishes because output EOS is expected. Marking that the resolution change was dequeued allows to recognize this state and act accordingly when handling drain. Bug: 280853786 Bug: 232395110 Test: android.mediav2.cts.CodecDecoderTest#testOnlyEos[15(video/avc)] Change-Id: I27d0f73a26d31f32a7e4cb473e685278b07f72a3 (cherry picked from commit 05f380eb88f25cb6d598b01ca80a18860de527c7)
-
- Oct 07, 2023
-
-
Xin Li authored
[automerger skipped] Merge Android 14 am: d5ebe784 -s ours am: e7cec7d1 -s ours am: 6b095085 -s ours am: d5434eaf -s ours am: 427f802e -s ours am skip reason: Merged-In I580dd68913bf43b1f14c0bed17d6990d733b3977 with SHA-1 6a3ebb92 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2775963 Change-Id: I8fb3b20999a2f645f9f0958a05a852eda1a07d0f Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Oct 06, 2023
-
-
Xin Li authored
[automerger skipped] Merge Android 14 am: d5ebe784 -s ours am: e7cec7d1 -s ours am: 6b095085 -s ours am: d5434eaf -s ours am skip reason: Merged-In I580dd68913bf43b1f14c0bed17d6990d733b3977 with SHA-1 6a3ebb92 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2775963 Change-Id: I210e6772b191ae327e32f64a3e40449bad47acda Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Xin Li authored
[automerger skipped] Merge Android 14 am: d5ebe784 -s ours am: e7cec7d1 -s ours am: 6b095085 -s ours am skip reason: Merged-In I580dd68913bf43b1f14c0bed17d6990d733b3977 with SHA-1 6a3ebb92 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2775963 Change-Id: Ibca56ef222d590965b0858200466e2823e8d8b2b Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Xin Li authored
am skip reason: Merged-In I580dd68913bf43b1f14c0bed17d6990d733b3977 with SHA-1 6a3ebb92 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2775963 Change-Id: I7c57189786999eb353104d0877c2afa3d6d174b4 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Xin Li authored
am skip reason: Merged-In I580dd68913bf43b1f14c0bed17d6990d733b3977 with SHA-1 6a3ebb92 is already in history Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2775963 Change-Id: I79bf5bc5ab83aa765eb3afa46f65b2f885c244b9 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Xin Li authored
Bug: 298295554 Merged-In: I580dd68913bf43b1f14c0bed17d6990d733b3977 Change-Id: I8500d93d40c47305e9a20cca47d2c632f4c8e608
-
- Oct 02, 2023
-
-
Roman Stratiienko authored
v4l2_codec2: Add RGBA video pixel format am: 6a3ebb92 am: 676e4ac1 am: 501b1dec am: 066c5810 am: 88bd461d Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2767863 Change-Id: I40825f978044d31617e65a806eb1e6814b1e66ce Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Roman Stratiienko authored
v4l2_codec2: Add RGBA video pixel format am: 6a3ebb92 am: 676e4ac1 am: 501b1dec am: 066c5810 Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/2767863 Change-Id: If822a3b49c0a547e92c8c8b919379c48ac8ac060 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-