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
Bug:32023356
Test: make vts.
bug fix : fix issues in port reconfiguration
soft and vendor omx components communicate differently. The existing
design doesnt cover this. This is now fixed
Change-Id: I898e60c93961f468e749ab5f13db996c5fd53967
add support for additional color formats
tested encoder for bgra & 420sp color format inputs.
added code to get/set encoder latency.
some more necessary code cleanup.
Change-Id: I05b79d0a7706e20afaf91c88caf3e523c98b4540
IOmxBufferSource callback tests
Change-Id: I2826597c6ab110a0bf52290e3c52ff3fb3c6ea23
Bug:32023356
Test: make vts.
Merged-In: I83b454b999203fb94bc4cc50c91bd99f788131b3
secure buffer allocation for secure components
As of now, we see a crash in encoder test application on secure components
This is due to nullptr access. setting property media.mediadrmservice.enable
to 1 causes a different crash sigabrt(). In decoder securebufferallocation
call passes but we havent done anything with it. This commit needs more work.
Change-Id: I19127e39ad7daf66ac5277406e3857ec45c99e0a
add debug code
This can come in handy to view the decoded/encoded content or
for computation of psnr
Change-Id: I80e60349c76c02e5098df667223a0227f59b8324
video encoder test with anw input buffer
In this commit, anw buffers are provided as input for encoding
as opposed to byte buffers. In process IOmxNode, IGraphicBufferSource api
calls are tested
Change-Id: I7ec4af0746fe59221de42e56b344852d8fadc4f2
add support for additional color formats
Change-Id: Ia88ef9c95882958a68fee5cc68e146c3502a1b48
add eos and timestamp deviation test to video encoder
Change-Id: I9ebeaa53a986ec3f8a2ef55306877aec808d2add
add metamode support for video decoders
Change-Id: I7d6d6991cdc0ed36241d0e99c7a23675664acb10
add a timeout while processing input buffers
do not wait on input buffers processing to complete for an
indefinite amount of time. wait for a predefined duration and
leave
Change-Id: Icceaf0737a52e62f47bc052367e7ddbdc1868a46
move duplicate code to a library
move routines common across audio, video, component folders to a static
library
Change-Id: I55bf21e47571490e989b52b82c48c6e9a4b23745
add end of stream test for audio encoder
add eos test for audio encoder and some more code cleanup
Change-Id: I9d670ed53f6bba5802f919ec915e67bb0fa83518
Ensure all the buffers allocated are cycled
use all buffers provided by the component (even if it is greater than the
number of buffers needed by the bitstream)
Change-Id: I83b454b999203fb94bc4cc50c91bd99f788131b3
move duplicate code to a library - II
Change-Id: I375603feb9da303adc6a2d75ef59e43a11c3bd6d
Change-Id: I83b454b999203fb94bc4cc50c91bd99f788131b3
(cherry picked from commit 1da607c513)
Bug: 32023356
Test: make vts.
cover basic encoder & decoder test to all components
Till the previous commit, few components went untested.
This commit covers all softomx components.
Test: tested on softomx components
Change-Id: I4c996a3743a6190d9c6d4c835aa89daefdc14658
enumerate profile and level for encoder components
Change-Id: I4b9d3b3106d33a0241a7e36bd7189c1b3ef40ef0
bug fix: omx android compile as 32bit on 64bit platforms
thanks lajos
Change-Id: If11b20eeb6a75319f9e0cd6a62524dadab2ba8af
Add more VTS tests for IOmxStore and IOmxNode
Change-Id: I3401025b4f0b821f469222707c75b49fe4f0b0c5
avoid false flagging of errors
If testing of the given component is not supported application do not flag
an error, instead exit gracefully.
Change-Id: Ic91a92614d18b204cc50b7d8f6dc1a0ca81ff782
Add support for g711, gsm and raw audio decoder components
Change-Id: Ied70abdabb397a7a63e13293a8b35365a6b23e4f
split eos test
the eos test in decoders handles three different cases. These are now
separated in to different test fixtures.
Change-Id: I30c102109ce60a345f878d03d481337462fc817f
Change-Id: I3401025b4f0b821f469222707c75b49fe4f0b0c5
Bug: 32023356
Test: make vts.
preload elementary stream information during decoding
instead of using extractor to get the frame boundaries, frame
flags and timestamp information, they are read from a metadata
file in the resources directory on demand. Instead of doing it
on demand, we load the entire file information and use it. This
modification comes in handy for future test fixtures
Change-Id: I3a434018111eb66008f17c24b4c2c16d0db22ed1
bug fix: wait on input consumption
after queuing all the frames that need to be processed by
the component, the application continues its job of deinitializing
the component before ensuring all the inputs were decoded.
This is corrected.
Change-Id: I09a11fd5badabe2889ba243383145be07be51953
add end of stream test for audio decoder
component is provided an input with nFlags field set OMX_BUFFERFLAG_EOS.
the application expects this flag to be returned via one of its output
buffers. this flag is passed to the component at different timings to test
the robustness.
Change-Id: I00e3fdd5ef50d93f2620d8b0e9fc3c358de428d7
add timestamp deviation test for decoder components
the list of timestamps received from the component is
compared with the list provided to the component for any
differences
Change-Id: Ifcc16b7a00f58e1c1dfdba9f538d307ddcbfcc71
add option to configure resource files path
default location of resource files is /sdcard/media/. client can provide
choice of this location via the option -P.
example: VtsHalMediaOmxV1_0TargetVideoDecTest -C <component> -R <role> -P /sdcard/res/
Change-Id: Ib8d3af03c19a171e3bbb9839f7e331cbe576b24b
add flush test for audio & video dec components
while decoding a group of frames, flush call is made and it is
checked if all the i/o buffers are sent back to client. we then
seek to the next keyframe and test for decoding. monotonous
increase of timestamps is ensured.
Change-Id: Id48c76c157ebdfdefd3003e57519da3bd9715973
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Merged-In: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Bug: 32023356
TODO: cleanup the test code b/37719510
ComponentTest :-
1. allocatePortBuffers cleanup
2. More than one test fixture performs State transitions
(Loaded <-> Idle <-> Execute). So, this is moved to a routine and
invoked when needed.
3. Dispatch input/output buffers code section is moved to a routine
4. Seperated Test fixtures StateTransitions_Flush
5. Added Doc string
6. Test component port population
AudioDecTest :-
1. Backport Cleanup changes from ComponentTest to AudioDecTest
2. Added elementary streams for the following codecs mp3, amr-nb &
Updated paths to elementary streams in audio decoder test
Test: Tested ComponentTest and AudioDecTest for mp3
Change-Id: I90decde4dfab55c3d456dfd88b474dd5abe8eebc
List Available components (roles) in android media framework
Change-Id: I210665843e997e60b167f2d680c87b1cc4f90c58
add README.md
Change-Id: I3a2a057d10b18f4f374928a996b8b4ea4b084770
add basic video decoder tests
for a given component test for successful decoding of an input clip
Test: tested for softavc decoder
Change-Id: I2f4c034c34a456e1ed0c2d32ef381ca48aeda8ff
add basic audio encoder tests
for a given component, test for successful encoding of an input clip
Test: tested on softaac, softamrnb, softamrwb & softflac components
Change-Id: I05f5646ffed37143a21ea72f0fd782c2bb5c4d82
add basic video encoder tests
For a given component test successful encoding of nframes of a
raw video clip
Test: tested on softavc encoder.
Change-Id: Ia1d754061e8362f6c08a2be3d6384c95589a36de
Test: Manual use of Camera, Movies, Photos and YouTube apps.
Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Bug: 37302530
Change-Id: I63ba807955c2e2a7ec7f6ecc2d8a832f252c0c1b
Change-Id: I0cb1997e9cc0427fdfe8091de84e8cb75c7bab14
Test GetPortIndices
Tests support for omx index type: OMX_IndexParamAudioInit,
OMX_IndexParamImageInit, OMX_IndexParamVideoInit, OMX_IndexParamOtherInit.
Change-Id: I50c7c70c8e000684ef02a6e372be32f9c178e74d
Test Port Enabling/Disabling
Enumerate the list of ports available on the component.
Test if they can be disabled and enabled. This test is carried
when the component is in Loaded state. Also, omx-il specification
allows enabling and disabling all ports at once by passing the
argument OMX_ALL. The behavior of the component on this argument
is tested. Disable and enable a port index that is not supported
by the component is also tested.
Change-Id: I1ab3cc3652a63d05bd0c3ceae92e01ebd4aae12d
Test State Transitions
Change the states of the component from loaded->idle->execute->idle->loaded
While the component is switching states, make sure the below dependencies are met.
1. When the component is switching from Loaded to Idle,
ensure this transition does not take place until the supplier has provided
the ports their necessary buffers
2. When the component is switching from Idle to execute,
change the buffer owner from Client to Component.
3. When the component is switching from execute to Idle,
ensure the client got all the buffers it supplied to the component back.
4. When the component is switching from Idle to loaded,
ensure this transition takes place only after freeing all the buffers
Change-Id: I7c3f6f65adf3afda4e54ca7cafb5bb7799a5b2d6
Test for Flush
When the component is in execute state and as buffers are being
exchanged between client and component, call a flush. Test that all
the unprocessed buffers are returned to the client
Change-Id: I00f4c356df0e832aecc457a53163532e82ead9a3
Fix object labels for master and component
This changes maintains consistency across Vts test folders
Change-Id: I0f3e40db04876a3dab170936037c42f994d67c18
Audio_enc/Audio_dec folders are removed.
The current folders needs work. We will revisit this again
Change-Id: Ic8287288d0727f1384e096b846e0066b2ec9f95f
Fix Object labels for common
Change-Id: I8f19a339983aa81d581ed3d55780180f8d976382
Test Port Definition structures
Tests support for omx index type OMX_IndexParamPortDefinition
Change-Id: I45d82199c6cf20f24aa42d9fea69bd1c88a51757
Bug fix : Pass i/o buffer structure information while dequeueing messages
Also fixed sending false port id during freeBuffer call.
Change-Id: Id5c4f67cccea6b577880e42ee0d294cc55d534ad
Test port reconfiguration and buffer flow in audio decoder
In the current commit we have added tests for audio decoder
components. The selected component decodes an elementary stream
and in this process port reconfiguration, buffer flow and flush
are tested.
Test: mma
Change-Id: I42c8397f704f5fa69878efe91932c477ac66d1b2
IOmxStore is used for passing results from parsing media_codecs.xml and
related XML files to the framework. Once XML parsing is moved to the HAL
side, IOmxNode::setQuirks will not be needed anymore.
Test: Media post-submit tests on Pixel phone.
Test: Manual use of Camera, Photos, Play Movies and YouTube apps.
Bug: 36952714
Change-Id: I6b24c486c6f8afcbef6ee88a13b2b5bb08d3e656
Now, only the transport-level status is needed, so
::android::hardware::Status is sufficient.
Also simplify IOmxNode::sendCommand().
Test: Compiles
Bug: 31399200
Change-Id: Ia4cfc16681d19eb96f89d8db715fcc14516cb41a
The server side only needs information of type ANativeWindowBuffer, not
GraphicBuffer.
Test: Compiles
Bug: 31399200
Change-Id: Ic967c58d8c922e0c422e5b63fa5ce2188da89010