Commit graph

52 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Robert Shih
ed32ff5150 Add return status to IGraphicBufferSource methods
Bug: 35449087
Test: Manual
Change-Id: I0a44630f2b5b07cfd62f41764d0ca43a924d221a
2017-03-03 22:37:42 +00:00
Hangyu Kuang
2f16dfed5d Merge "media: Update IGraphicBufferSource interface for the timestamp support." 2017-02-17 00:26:05 +00:00
Brian C. Anderson
2413ca1492 Merge "Update HIDL with CompositorTiming." 2017-02-15 22:32:45 +00:00
Brian Anderson
68214ec86d Update HIDL with CompositorTiming.
Test: Tested manually with Chrome.
Change-Id: I0e911612f4db1ae57098a5bc53afdce61dfe5837
2017-02-13 15:26:13 -08:00
Tri Vo
85120c9490 Update makefiles to use filgroup syntax.
Test: mmma hardware/interfaces
Change-Id: I9f4457c78b7820c242d46359f0debe05d1b3e482
2017-02-10 12:45:19 -08:00
TreeHugger Robot
930086babd Merge "Migrate driver/profiler to test/vts-testcase/hal." 2017-02-08 18:33:06 +00:00
TreeHugger Robot
eb1d38a5ef Merge "Update QueueBufferOutput." 2017-02-08 05:33:20 +00:00
Tri Vo
ce608bec74 Migrate driver/profiler to test/vts-testcase/hal.
Bug: 34893894
Test: mmma hardware/interfaces

Change-Id: Ic72716577a5f93700c5056986aff55a76b170b5d
2017-02-07 19:13:28 -08:00
Pawin Vongmasa
761622e5d4 Update QueueBufferOutput.
QueueBufferOutput was modified in ag/1806678.

Test: Compiles

Bug: 31399200
Bug: 34481539
Change-Id: I287a4ba84348323e2e39dcbac03c3bf17357d6bc
2017-02-06 18:22:40 -08:00
Zhuoyao Zhang
e9b43bbe2d Update Andriod.bp for hals.
* Add driver/profiler build rule for all hals.

Test: mma
Change-Id: I98325f7af14fec7dd1bb64b1668de8c7c20ace92
2017-02-03 10:03:01 -08:00
Hangyu Kuang
9ad0d00def media: Update IGraphicBufferSource interface for the timestamp support.
Test: Manual recording
Bug: 32765698

	modified:   1.0/IGraphicBufferSource.hal

Change-Id: I87935c67d161a1812629af3e0a9185bc025ce472
2017-02-01 18:51:10 -08:00
Pawin Vongmasa
120c4da82a Use HIDL's memory for shared memory and add wrapper interfaces for
IGraphicBufferProducer.

Test: Compiles
Bug: 31399200
Change-Id: I17a3b1c8f20e9c11474761d120edd2e75353cc6d
2017-01-25 17:14:20 -08:00
Yifan Hong
a18049ad13 Bp/nFoo -> Bp/nHwFoo.
Test: mma
Bug: 33554989
Change-Id: I4b3f852d20fdfc49f2da671dd3c12d618ffb4140
2017-01-11 13:14:59 -08:00
Pawin Vongmasa
38585c2532 Remove the return Status from IGraphicBufferSource's functions.
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
2016-12-19 13:04:51 +07:00
Pawin Vongmasa
cba23c6631 Change GraphicBuffer to AnwBuffer and update its fields.
The server side only needs information of type ANativeWindowBuffer, not
GraphicBuffer.

Test: Compiles

Bug: 31399200
Change-Id: Ic967c58d8c922e0c422e5b63fa5ce2188da89010
2016-12-19 13:04:44 +07:00
Pawin Vongmasa
d13c84bce7 Add an enum value to Status.
Test: Compiles.

Bug: 31399200
Change-Id: I5452f74e91d9ad83629143b9af7e56e70036cbb4
2016-12-19 13:04:37 +07:00
Yifan Hong
501839495f Update makefiles for hidlizing IBase.
A new dependency android.hidl.base@1.0 is added for
all projects.

Test: mma

Change-Id: Ia70d0eb0d74de06475a339698386d383d491a43a
2016-12-03 01:01:14 -08:00
Pawin Vongmasa
44f5c800fe Merge "Make Status an enum and move it from media to media.omx." 2016-12-02 01:00:04 +00:00
Pawin Vongmasa
2649720548 Make Status an enum and move it from media to media.omx.
Bug: 31399200

Test: None.
Change-Id: I28a891030f24b3d9aa2938ae61bf02b060feee05
2016-11-30 20:00:57 -08:00
TreeHugger Robot
a5ee7b0b93 Merge "Always specify underlying enum type." 2016-11-30 18:12:35 +00:00
Pawin Vongmasa
9e321eb5b6 Break down ColorAspects.
Test: None

Bug: 31399200
Change-Id: Iea70d4802954ce8a16205d8f7ed0a16b8f2228a5
2016-11-30 06:49:46 +00:00
Steven Moreland
d26dc50abb Always specify underlying enum type.
Bug: 33197891
Test: compiles
Change-Id: I3d4822ea9a665708302d3bd1460425fddf1dcda9
2016-11-29 14:22:10 -08:00
Steven Moreland
f8d68ec855 Update makefiles for logging.
Bug: 32943424
Test: pass
Change-Id: Ic88ce6adf04e0e36db53e4cc06ac2ec5a90c011c
2016-11-21 16:28:54 -08:00