BufferPool HAL for allocating, deallocating, and recycling buffers
on behalf of media.stagefright.
Bug: 72651719
Change-Id: I30bf630e41de2c8718aaaf8cbf5ee3f48f2859bc
timestampDevTest flag can be used to disable timestamp deviation
tests. The flag is not working as intended. This is corrected.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 64743270
Bug: 65166112
Merged-In: I611e96498a4677b6ccbff33c291d56eed7b48f6f
Change-Id: I611e96498a4677b6ccbff33c291d56eed7b48f6f
(cherry picked from commit dc6270ecc1)
Components can send various kinds of port settings changed events all
at once. During a full port reconfiguration this is causing problems
due to limited flexibility in the message handling design. For now,
before committing to a full port reconfiguration defer any events
waiting in the queue to be addressed to a later point.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 64468705
Merged-In: I537cdd3e7d92cdc6d54168f091d7897afe541599
Change-Id: I537cdd3e7d92cdc6d54168f091d7897afe541599
(cherry picked from commit a230bad8d4)
The eColorFormat field in OMX_PARAM_PORTDEFINITIONTYPE structure
has no effect on the component. This has to be configured from
OMX_VIDEO_PARAM_PORTFORMATTYPE. This is corrected. This color format
information is passed to graphic buffer during its allocation
Bug: 63796949
Merged-In: I51b1e59631647d1291ecfac373781ac5e5a0ffd5
Change-Id: I51b1e59631647d1291ecfac373781ac5e5a0ffd5
(cherry picked from commit 1441864f4c)
In video decoders, size of a single input frame (elementary-stream)
is dependent on width, height, color format, profile settings, ...
Most of this information is part of sps, pps and requires parsing.
But as the max size of the stream is known ahead, use it to configure
the input buffer size requirements
Bug: 63875287
Bug: 63796949
Merged-In: Ib760c4f55b094260a0abd120f852dcf1899df4e0
Change-Id: Ib760c4f55b094260a0abd120f852dcf1899df4e0
(cherry picked from commit 9ce313a7b3)
OMX_EventBufferFlag event is sent when the component has processed a buffer
with its EOS flag set. This event is not sent by soft omx components.
Vendor components can send this. From IOMX point of view, this event is
not sent for processing
bug:64102197
Merged-In: I3a978a885b1e4446f82f2356ae677f70ea6f8150
Change-Id: I3a978a885b1e4446f82f2356ae677f70ea6f8150
(cherry picked from commit c8df8940e1)
This mirrors the audio configuration and will moves the makefile
so it is no longer in a location that hidl-gen should have been
generating makefiles to.
Bug: none
Test: none
Change-Id: If4bb8b176d0f498667d63d4161e852bf30f8affe
Accidentally removed by f390f03aa4
because it lives where auto-generated makefiles should.
Bug: none
Test: pass
Change-Id: Ied4fbc279c79d9bf64605886cee7b2fa87248896
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Resource files for avc and mpeg4 are at higher resolutions than what the
CDD requires. This CL corrects the issue.
Test: make vts -j123 && vts-tradefed run commandAndExit vts \
--skip-all-system-status-check \
--skip-preconditions -m VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 68828675
Change-Id: I5a32bccae1b14a72ae0db2ffafd4a0e86cced74b
If test application undergoes a fatal failure bypass all the omx
api calls till the application safely returns.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: If5a33672a31665db913e53c6f8ba8bea6cfd3ebd
timestamp information of opus file is incorrect.
this is resolved.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 63796949
Change-Id: I604b2ccc436125218cfc3850f8e070ee6a801867
upon unsuccessful return during timed wait, relock the mutex before
accessing message list.
Bug: 63796949
Change-Id: I84a43e148a6415e629cb39a6b9dfe27259f8f2fd
Many tests run their test with port mode configured to either
byte buffer mode or dynamic anw buffer mode but not both.
This change ensures that all test cases are tested for all
supported port mode configurations.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: I600b30e09b478fdf787f0bf0ac6914006e553203
Change port modes randomly before the start of test and see if it
effects the end behavior
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: I28c923b8e6cdc0f7bf6dd394ef6d088ff489e2e0
eostest_m was disabled during the time of o-release. This is
enabled now. Also improved logging
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: I4797fce4f5911d9f37f5c91f179d9ab9263177f0
1. omx api allows flushing all ports at once by passing the
argument OMX_ALL. This fixture tests the flush call with the
arg OMX_ALL and expects behavior to be same as when the ports
are individually flushed.
2. Flush a port that is not listed and the api call shall
return with error code OMX_ErrorBadPortIndex
3. Test the behavior of flush API call when the component is
not in Execute State (expects OMX_ErrorIncorrectStateOperation)
Note: 2, 3 tests are disabled as of now
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: I6f0cccea0c923116f7e41ed0ef7d8d584631256b
As the client sends single frame worth of data for processing all
the time, at the time of dispatch, signal eof flag for each buffer.
Also code that was repititive and doesnt serve any need is removed.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Host \
-l INFO
Bug: 63796949
Change-Id: I530cbe69c27f5e4b1fae56ab808ef63107586275
Components can send various kinds of port settings changed events all
at once. During a full port reconfiguration this is causing problems
due to limited flexibility in the message handling design. For now,
before committing to a full port reconfiguration defer any events
waiting in the queue to be addressed to a later point.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 64468705
Change-Id: I537cdd3e7d92cdc6d54168f091d7897afe541599
timestampDevTest flag can be used to disable timestamp deviation
tests. The flag is not working as intended. This is corrected.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 64743270
Bug: 65166112
Merged-In: I611e96498a4677b6ccbff33c291d56eed7b48f6f
Change-Id: I611e96498a4677b6ccbff33c291d56eed7b48f6f
Configuration of port mode of a component is allowed only when the
component is in loaded state. When the component is in idle/execute
state this operation is denied. This commit adds a test fixture that
verifies this.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 63796949
Merged-In: Ib958c671873fe1d9bb4227ce3e7214f948469f19
Change-Id: Ib958c671873fe1d9bb4227ce3e7214f948469f19
Configuration of port mode of a component is allowed only when the
component is in loaded state. When the component is in idle/execute
state this operation is denied. This commit adds a test fixture that
verifies this.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 63796949
Merged-In: Ib958c671873fe1d9bb4227ce3e7214f948469f19
Change-Id: Ib958c671873fe1d9bb4227ce3e7214f948469f19
1. For output port in video encoder and input port in video decoder,
it is allowed to configure the size of the buffer. Make adjustments
in the test application to validate this scenario.
2. useBuffer api call is allowed only after sending loaded to idle
state transition command. Ensure this requirement is met.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 63796949
Change-Id: I1aba7703e1344b87f556d3388a4cde8199898499
Components can send various kinds of port settings changed events all
at once. During a full port reconfiguration this is causing problems
due to limited flexibility in the message handling design. For now,
before committing to a full port reconfiguration defer any events
waiting in the queue to be addressed to a later point.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 64468705
Change-Id: I537cdd3e7d92cdc6d54168f091d7897afe541599
Component can support 420PackedPlanar and 420PackedSemiPlanar as
their choice of color formats. The current test application can
fail in this case. This is corrected.
Test: make vts -j99 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 \
&& vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO
Bug: 63796949
Change-Id: I38bbbb40b34dcdd4526e87708667dc116af900f1
The eColorFormat field in OMX_PARAM_PORTDEFINITIONTYPE structure
has no effect on the component. This has to be configured from
OMX_VIDEO_PARAM_PORTFORMATTYPE. This is corrected. This color format
information is passed to graphic buffer during its allocation
Bug: 63796949
Merged-In: I51b1e59631647d1291ecfac373781ac5e5a0ffd5
Change-Id: I51b1e59631647d1291ecfac373781ac5e5a0ffd5
In video decoders, size of a single input frame (elementary-stream)
is dependent on width, height, color format, profile settings, ...
Most of this information is part of sps, pps and requires parsing.
But as the max size of the stream is known ahead, use it to configure
the input buffer size requirements
Bug: 63875287
Bug: 63796949
Merged-In: Ib760c4f55b094260a0abd120f852dcf1899df4e0
Change-Id: Ib760c4f55b094260a0abd120f852dcf1899df4e0
During loaded <-> idle state transition, check for events
is done after allocating all the buffers on a port. This is now
done after allocation of every single buffer. This is done to
improve scope of testing
Bug: 63796949
Change-Id: Icf3405ac6716f9533d31189f6c4a4c4ac908da5f
In video decoders, size of a single input frame (elementary-stream)
is dependent on width, height, color format, profile settings, ...
Most of this information is part of sps, pps and requires parsing.
But as the max size of the stream is known ahead, use it to configure
the input buffer size requirements
Bug: 63875287
Bug: 63796949
Change-Id: Ib760c4f55b094260a0abd120f852dcf1899df4e0
These tests now statically link to libs not guaranteed to be on the
device, which include HAL definition libs.
Also, remove global include paths.
Bug: 64040096
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
--skip-preconditions --module VtsHalMediaOmxV1_0Host
Change-Id: Iea1dc549704f61b1416357d72dc1bf26864978d4
OMX_EventBufferFlag event is sent when the component has processed a buffer
with its EOS flag set. This event is not sent by soft omx components.
Vendor components can send this. From IOMX point of view, this event is
not sent for processing
bug:64102197
Merged-In: I3a978a885b1e4446f82f2356ae677f70ea6f8150
Change-Id: I3a978a885b1e4446f82f2356ae677f70ea6f8150
Update the Android.bp generated with hidl-gen.
Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
Allow HAL definition libs to be static.
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
The eColorFormat field in OMX_PARAM_PORTDEFINITIONTYPE structure
has no effect on the component. This has to be configured from
OMX_VIDEO_PARAM_PORTFORMATTYPE. This is corrected. This color format
information is passed to graphic buffer during its allocation
Bug: 63796949
Change-Id: I51b1e59631647d1291ecfac373781ac5e5a0ffd5