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
1. use erase() to update iterator as it is safer
2. correct abstime (delayUs) for waitRelative() call
Bug: 63796949
Change-Id: I3aece23a6bf4bd33aebfeecd070214911b58c75b
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
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
1. Maintaining large delays between successive input/output queue calls
unnecessarily increases execution duration of the application. This is
brought down to 2ms.
2. Flush and EOS sends events via callback. So offer them some leeway
by increasing their timeout
3. No response breakout is changed to 5sec.
4. bug fix: decrement twice with in a loop removed
Change-Id: I37dbee0dbdc79044beced89077f6ef46c7075e9f
When CSD and sync frame are sent together, component parses the
CSD and allocates buffers internal to the codec and decodes the frame
sent and port reconfiguration event is sent to the client. Now if this
is the only frame in the sequence, the client reaches testEOS(). But
port reconfiguration is not handled here. This is corrected.
bug: 62930419
Change-Id: Ic0c7625e3c2b415330f37734663f0cf7689e8734
This is a follow up for 553f633762ef748d04717c3cc4b4dbfecb203620 commit
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: 62893665
Change-Id: Ic979964bff9c2240e9d9469238882efa86467399
frame dimensions are configured for input port but not output port.
As a result in qcom encoder components, the encoded image is getting
downsized to default dimensions configured for output port. This is now
corrected.
Test: make vts -j30 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: 62669756
Change-Id: Ib38006edbc82427d322632534ca78d78c5f30eff
In vp9 encoder component, the callback responses are being recevied
after timeout. This is seen only in vp9. Even when no buffer processing
is done, Flush test, state transitions test fail due to slow responses.
This behavior is not seen in other components. This requires deeper
understanding of what is main culprit. But for now increase the timeout
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: I08abfefcf0cb38d312a4a2dc10908e24f88c54fd
1. Number of P frames being INT_MAX - 1 is misleading few components.
avoid this value
2. enumerate level: The level information is obtained from
enumerateProfileandLevel. Now the component supports up to this level
or 1 step below this level is unclear. This is causing few problems in
the configuration of input port.
3. Disable few error checks for index types that are not universally
supported
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: I0c3220ec8d17d3527fa5fdae1a2f9c5add11a5de
audio dec components vorbis, opus and raw undergo auto output port
configuration and donot allow client to configure. By pass output port
configuration for these components
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: Ib1539b36589db5bdf1b6d82fcd0c50ba420a0299
Sending first buffer as EOS, is not supported across all components.
We will revisit this fixture at a later stage
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: Ic9f59f7b0a5291710bc50710ef054b0c0c49ca98
Android IOMX differs slightly from OMX. Disable tests that are not
needed (for now). We will revisit them at a later stage
Bug:32023356
Bug:37501531
Test: make vts.
Change-Id: Iad71d72a4a66d621f415731d2c0e1a3794ed3524
Bug:32023356
Test: make vts.
cleanup: move duplicate code to common
moved code shared across application to common and
removed duplicate code
Change-Id: I2dacb9d72bdf545addd2cc377dd4342c92f50f11
restrict secure component testing to VTS*ComponentTest
Change-Id: I1d2878408df2e4cbe31b3b47a3d6500a90692a7a
Master Test: test component node alloc/dealloc
Change-Id: I89ef853cf5a9f6b0a0af9e25ef484968aec614f6
Component Test: fix dispatchMsg test fixture
Change-Id: Ie1068a5d73a3a573e552cf023c9c7dc78a43ea59
AudioDec Test : missing csd in opus resource files
opus decoder test resource files have a missing csd. This is causing
timestamp list empty test to fail. This is fixed
Change-Id: I6ae3b241fbf3e384943a0e6e80838a45c1fc6687
Change-Id: Ie7775456542f12d5f5d87dded4b0a57fd0723037