Commit graph

75 commits

Author SHA1 Message Date
Pawin Vongmasa
dd7e4c414b Print test information to the target device's logcat
Test: make vts -j99 && \
vts-tradefed run commandAndExit vts \
--skip-all-system-status-check --primary-abi-only \
--skip-preconditions --module VtsHalMediaOmxV1_0Test -l INFO

Bug: 62885431
Change-Id: I71bfa9c5ff4825259c7452ad7ac40fef87103b5f
2017-07-06 17:29:43 -07:00
Ram Mohan M
9fe2d4c99d Increase Timeout for dequeue message
am: 4e39ff9235

Change-Id: Ia6fc966e66668b944c4a484ea413f0bc0982082f
2017-06-10 05:19:54 +00:00
Ram Mohan M
4e39ff9235 Increase Timeout for dequeue message
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
2017-06-09 20:08:13 -07:00
Ram Mohan M
0eb102a18b Merge "bug fix: fix encoder input port configuration issues" into oc-dev
am: 7d1592a732

Change-Id: I697e916574fc20e1bb9cad79d1e948854078f6bf
2017-06-10 01:28:44 +00:00
Ram Mohan M
4dc4fa7340 Merge "bug fix: configure input port format before setInputSurface" into oc-dev
am: bd5b6f8535

Change-Id: If5ee86d7d1203019b565743057c77baf1ffb96a8
2017-06-10 01:28:40 +00:00
Ram Mohan M
0113be3ac3 choose input color format between 420p, 420sp
am: 1d273b3bcf

Change-Id: I95ff1be5ec0e0f2b99a5fc21329b45b87a0f0077
2017-06-10 01:28:36 +00:00
TreeHugger Robot
7d1592a732 Merge "bug fix: fix encoder input port configuration issues" into oc-dev 2017-06-10 01:23:30 +00:00
TreeHugger Robot
bd5b6f8535 Merge "bug fix: configure input port format before setInputSurface" into oc-dev 2017-06-10 01:23:30 +00:00
Ram Mohan M
1d273b3bcf choose input color format between 420p, 420sp
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: I5fc2f5c69ca545f2ca0b444ce89a8c970f2ff98e
2017-06-09 07:48:25 -07:00
Ram Mohan M
7e4b5758b7 Merge "AudioDec Test: Ignore output port configuration" into oc-dev
am: 11e9b588c4

Change-Id: Ic9b93340791209553374de705101a2e02aed4d09
2017-06-09 03:17:20 +00:00
Ram Mohan M
9c7ba7deaf Merge "VideoEnc Test: extend lockYCbCr() to hal yuv formats" into oc-dev
am: 452fe6aef2

Change-Id: I67002961c875a6caaa8f3ffde78ca68ded46471f
2017-06-09 03:17:16 +00:00
Ram Mohan M
7b106b9c5a Merge "Vts AudioDec Test: Disable EOSTest_M" into oc-dev
am: a12a573955

Change-Id: I90035e92beb470f7910f1f43cc203c4e84d43e29
2017-06-09 03:17:13 +00:00
TreeHugger Robot
11e9b588c4 Merge "AudioDec Test: Ignore output port configuration" into oc-dev 2017-06-09 03:12:08 +00:00
TreeHugger Robot
452fe6aef2 Merge "VideoEnc Test: extend lockYCbCr() to hal yuv formats" into oc-dev 2017-06-09 03:12:08 +00:00
TreeHugger Robot
a12a573955 Merge "Vts AudioDec Test: Disable EOSTest_M" into oc-dev 2017-06-09 03:12:08 +00:00
Ram Mohan M
951c9212fb bug fix: configure input port format before setInputSurface
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: I7b48bf240a243b0b25c1c5e0f36c858b04271194
2017-06-08 16:13:22 -07:00
Ram Mohan M
79312c8aa2 bug fix: fix encoder input port configuration issues
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
2017-06-08 16:11:09 -07:00
Zhuoyao Zhang
c95851eb06 Merge "Vts Omx Tests: Disable test that are not IOMX compatible" into oc-dev
am: 6fe8953866

Change-Id: Ia9804c27bcec133b8570c7f180bce591a7a41bd3
2017-06-08 16:28:44 +00:00
Zhuoyao Zhang
cb3dc9f239 Merge "Omx vts tests" into oc-dev
am: 2e2e255125

Change-Id: Ifcf78ffd3c042e3eeab90016dc822b747a9cadc1
2017-06-08 16:28:23 +00:00
Ram Mohan M
59197e8cf9 AudioDec Test: Ignore output port configuration
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
2017-06-08 05:25:29 -07:00
Ram Mohan M
2b7a309e25 VideoEnc Test: extend lockYCbCr() to hal yuv formats
Test: VtsHalMediaOmxV1_0Host
Bug: 37501531
Change-Id: I4661f41a92aac44e8a8d2721dfebbd25045fbe1c
2017-06-08 05:23:50 -07:00
Ram Mohan M
5052e189e9 Vts AudioDec Test: Disable EOSTest_M
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
2017-06-08 05:02:28 -07:00
Ram Mohan M
2aedf7596d Vts Omx Tests: Disable test that are not IOMX compatible
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
2017-06-07 17:53:26 -07:00
Ram Mohan M
f0e839e0e7 Omx vts tests
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
2017-06-07 17:50:50 -07:00
Zhuoyao Zhang
176c564b54 Merge "Omx vts tests." into oc-dev
am: 89ed70727d

Change-Id: I83ae4865778f42a768a556bebfc6524cbfbc0918
2017-06-06 18:36:48 +00:00
Ram Mohan M
92fb9ab603 Omx vts tests.
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
2017-05-31 12:53:37 -07:00
Zhuoyao Zhang
77a91e8f08 Merge "Omx vts test." into oc-dev
am: 9a9c8da39b

Change-Id: I4ac6e9ffe3ccd4b473d7355c1c18df14f31cfc3e
2017-05-26 00:26:02 +00:00
Ram Mohan M
ccc194cffd Omx vts test.
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)
2017-05-25 17:07:10 -07:00
Steven Moreland
f203167814 Update makefiles. (2/2)
am: 76cfb84140

Change-Id: I24d21438a5b2f447d2160929c6ff6e17b2b66820
2017-05-22 17:15:20 +00:00
Steven Moreland
76cfb84140 Update makefiles. (2/2)
Adds default configuration for all hals.

Bug: 38415912
Test: pass
Change-Id: Idd1f3a2b7b16ad956d31784a513e93a066cdd02e
2017-05-19 15:54:03 -07:00
Zhuoyao Zhang
640d3f330a Merge "Omx vts tests." into oc-dev
am: 1d619f743d

Change-Id: I80b3c97d186f56210b761e1cd642c209e5071358
2017-05-16 00:08:54 +00:00
Zhuoyao Zhang
1d619f743d Merge "Omx vts tests." into oc-dev 2017-05-15 23:10:37 +00:00
Ram Mohan M
a558d9d5fd Omx vts tests.
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
2017-05-14 14:55:57 -07:00
Steven Moreland
a32ebce372 Update makefiles for c++-sources and c++-headers. (2/2)
am: bc71124120

Change-Id: Icf36068a4d863a8520854c7a83e51f960c188e12
2017-05-11 00:48:55 +00:00
Steven Moreland
bc71124120 Update makefiles for c++-sources and c++-headers. (2/2)
Test: pass
Bug: 38174080
Change-Id: Icad451f9f9ad5f46412356a4171a8a1222f8e545
2017-05-09 19:58:43 -07:00
Zhuoyao Zhang
d4e4937388 Merge "Omx VTS tests" into oc-dev
am: 9ec2c9e099

Change-Id: I59f8401168779e7b06302e6ab5ea939c7c116877
2017-05-03 16:31:23 +00:00
Ram Mohan M
23c658f118 Omx VTS tests
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
2017-05-02 23:44:26 -07:00
Steven Moreland
5c63b11f76 Remove redundant dependencies
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
2017-05-02 15:29:30 -07:00
Ram Mohan M
f9c4003fcd Basic audio/video encoder/decoder test.
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
2017-04-26 21:49:04 +00:00
Pawin Vongmasa
0048c96885 Make setTimeLapseConfig take frequencies instead of periods.
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
2017-04-20 18:28:55 -07:00
Hangyu Kuang
171bbf5ecb media: Add getStopTimeOffsetUs in GraphicBufferSource.
Test: Compiles
Bug: 35925528
Change-Id: Ie469e42c986211540880f04a5e47efc090817ba8
2017-04-20 18:17:51 -07:00
Zhuoyao Zhang
9eeda9561f Merge "media.omx VTS test baseline" into oc-dev 2017-04-13 19:24:29 +00:00
Ram Mohan M
527cf97159 media.omx VTS test baseline
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
2017-04-13 17:06:33 +00:00
Steven Moreland
17f0c0dde7 Merge changes from topic 'hidl-vendor-available' into oc-dev
* changes:
  Update makefiles (2/2).
  Update makefiles.
2017-04-12 22:13:58 +00:00
Steven Moreland
3b36a83a2e Update makefiles (2/2).
Test: pass
Change-Id: Ic7e6289c7b69785491708ce0acbb657f4c704229
2017-04-11 09:58:03 -07:00
Lajos Molnar
c8949ecf81 Add IOmxStore and remove IOmxNode::setQuirks.
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
2017-04-07 23:49:16 -07:00
Steven Moreland
561b602a99 Update makefiles for hwtypes.h
Test: pass
Change-Id: I8e17eb8fec5d2f04c526476a866c8dd54ccb556c
2017-03-28 15:18:20 +00:00
Pawin Vongmasa
4a3cd13ddc Move IGraphicBufferProducer to graphics/bufferqueue.
Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 35442034
Change-Id: Ia1ef0eb069fcd97f7afcf42bf3bb16c8c6a752c4
2017-03-15 11:42:40 -07:00
Robert Shih
a27875035c Revert "Revert "Add return status to IGraphicBufferSource methods""
This reverts commit b729637648.

Bug: 36110748
Change-Id: Ia12c00d57b9e8d4b66265018c3970416c265091a
2017-03-11 01:22:12 +00:00
Rachad Alao
b729637648 Revert "Add return status to IGraphicBufferSource methods"
Bug: 36110748

This reverts commit ed32ff5150.

Change-Id: Ibb5e72fc11f705a571491103fc5c68005cf54a30
2017-03-10 21:48:02 +00:00