当前位置: 首页 > news >正文

我想做个百度网站怎么做的免费推广的网站

我想做个百度网站怎么做的,免费推广的网站,怎样做网络营销,网站设计培训学校有哪家1. 背景 接下来进行正式的VTS测试。本章节还是以Media模块相关进行介绍。 VTS主要测的是内核和HAL层#xff0c;media的hal层是以openMax#xff08;即将废弃#xff0c;今日2023.12#xff09; 和 Codec2 (后续主流) 接口为主。 这里我们只看Codec2的要求#xff0c;CDD…1. 背景 接下来进行正式的VTS测试。本章节还是以Media模块相关进行介绍。 VTS主要测的是内核和HAL层media的hal层是以openMax即将废弃今日2023.12 和 Codec2 (后续主流) 接口为主。 这里我们只看Codec2的要求CDD里也只要求了这个。 2. 参考文档 供应商测试套件 (VTS) 和基础架构 | Android 开源项目 | Android Open Source Project 3. 测试步骤 3.1 VTS测试包获取 3.1.1 自行编译 谷歌官网没有提供测试包需要自行编译 . build/envsetup.sh lunch aosp_arm64-userdebug make vts -j32生成的文件在 \out\host\linux-x86\vts 把zip包拷贝到 X86宿主机上解压即可使用。 如果是windows主机的话要改下 vts-tradefed 里的环境识别具体改法参照第2章节 3.2 VTS测试包文件结构 初次解压的android-vts.zip包中只有testcases 和 tools 两个文件夹其他文件夹都是后续运行生成的解压后的android-vts文件夹名称不能修改但可以放在别的文件夹路径下运行。 android-vts| ---- jdk : 包含一些运行所需要的软件| ---- logs 每次测试抓取的日志文件| ---- latest 一个快捷方式指向最新结果| ---- 2023.11.17_22.46.43| ---- 2023.11.17_22.10.44| ---- ……| ---- results : 每次测试生成的结果报告有时间戳可以分辨| ---- latest 一个快捷方式指向最新结果| ---- 2023.11.17_22.46.43| ---- 2023.11.17_22.10.44| ---- ……| ---- subplans生成的测试计划| ---- testcases测试用例每个文件夹对应VTS里的一个module| ---- android.hardware.tests.msgq1.0-service-test| ---- arm| ---- arm64| ---- ApkVerityTest| ---- ……| ---- VtsHalMediaC2V1_0TargetVideoDecTest| ---- VtsHalMediaC2V1_0TargetVideoDecTest.config功能模块的配置文件| ---- arm| ---- arm64 64位系统的测试进程| ---- VtsHalMediaC2V1_0TargetVideoEncTest| ---- tools测试工具一些jar以及VTS的测试入口 | ---- vts-tradefed 测试入口| ---- ……3.3 测试命令 优先敲 vts-tradefed 进入concoles之后再执行命令 cd tools ./vts-tradefed XXXXX如果这样运行有异常windows HOST 有时候运行有问题也可以直接1条命令运行 cd tools ./vts-tradefed run commandAndExit vts --abi arm64-v8a --module VtsHalMediaC2V1_0TargetVideoDecTest --disable-reboot --skip-device-info --skip-all-system-status-check --skip-preconditions3.3.1 常见命令 直接运行 跑 VtsHalMediaC2V1_0TargetVideoDecTest 模块 ./vts-tradefed run commandAndExit vts --abi arm64-v8a --module VtsHalMediaC2V1_0TargetVideoDecTest --disable-reboot 建立测试subplan ./vts-tradefed l r 查看刚才测试结果的session号注意是小写字母L不是数字1 l r 意思是 list results ./vts-tradefed add subplan --session 158 --name VtsHalMediaC2V1_0TargetVideoDecTest_20230915-10 --result-type not_executed ./vts-tradefed run commandAndExit vts --abi arm64-v8a --module VtsHalMediaC2V1_0TargetVideoDecTest --disable-reboot -o --subplan VtsHalMediaC2V1_0TargetVideoDecTest_20230915-103.3.2 一些常见的option –abi arm64-v8a 只测试arm64 的case, FPGA android 固件只支持64位。 如果在参考平台Inception 平板–disable-reboot防止Android系统重启.FPGA 版本Android 不支持reboot 功能需要在运行XTS 测试时–skip-device-info --skip-all-system-status-check --skip-preconditions跳过检测 FPGA 版本Android 系统检测较慢 如果运行完整的vts测试需要加上以下参数 跳过fastboot 测试 **–exclude-filter FastbootGetvarUserspaceTest --exclude-filter FastbootVerifyUserspaceTest 4. 测试结果说明 4.1 结果result 测试结果位于\android-vts\results\对应时间戳子文件夹下。 打开 test_result.html 文件。 整个测试结果显示我分为4个区。 区域1 Summary整体记录这次测试的一些信息 区域2测试结果记录一共跑了哪些模块通过多少失败多少Assumption Failure多少忽略多少是否完成了整个测试。 这里介绍下 Assumption Failure 和 Done。 Assumption Failure 是指这个caseVTS判断就是应该失败的比如设备不是TV类的没有TV相关的系统进程但是VTS跑了TV类的模块测试这些就都是 Assumption Failure。所以这类case不计入失败率的。 Done 标志 这个模块的测试有没有完成可能中间检测到一些系统级别的异常比如设备断开响应超时等等导致这个模块里的case没有测试完。 区域3失败case这里会单独把所有的失败用例列出来并抓取失败时的报错信息进行显示比区域4的details更详细一点 区域4所有case模块里的所有case测试结果都在这里有显示包含所有的成功和失败。 4.2 日志log 测试日志位于android-vts\log\对应时间戳子文件夹下。 5. 测试用例说明 5.1 VTS 用例介绍 VTS的case用例类型分为好几种 Gtest绝大多数都是GtestC编写也是谷歌强烈建议的方式Linux内核测试Junitpython3 具体的区别可以参见谷歌文档 5.2 VTS media 相关模块 media 中 VTS 相关的模块有 VtsHalMediaC2V1_0TargetComponentTest VtsHalMediaC2V1_0TargetMasterTest VtsHalMediaC2V1_0TargetVideoDecTest VtsHalMediaC2V1_0TargetVideoEncTest VtsHalMediaOmxV1_0TargetComponentTest VtsHalMediaOmxV1_0TargetStoreTest VtsHalMediaOmxV1_0TargetVideoDecTest VtsHalMediaOmxV1_0TargetVideoEncTest vts_mediaCodecs_validate_test vts_mediaProfiles_validate_test 看名字能看出来前面4个都是codec2接口的测试后面4个是OpenMax接口的测试。 这里我们主要关注codec2接口相关的验证。 5.3 VTS测试流程 先看一下 tools文件夹下的 vts-tradefed这是整个测试的入口。 VTS也是基于谷歌的 Trade Federation 测试框架进行的。 vts-tradefed文件比较简单自己丢到文心一言里按行分析一下就可以得到具体的结果。 前面就是check一些环境变量和行为之类的没什么好说的。 重点关注最下面的2句话 VTS_TESTCASES${VTS_ROOT}/android-vts/testcases/ VTS_TESTCASES${VTS_TESTCASES} ${JAVA_BINARY} $RDBG_FLAG -Xmx4096m -XX:HeapDumpOnOutOfMemoryError -cp ${JAR_PATH} -DVTS_ROOT${VTS_ROOT} com.android.compatibility.common.tradefed.command.CompatibilityConsole $就是使用java虚拟机启动 com.android.compatibility.common.tradefed.command.CompatibilityConsole 把所有入参都传过去。$ com.android.compatibility.common.tradefed.command.CompatibilityConsole 进程通常在运行 CTS 测试时启动。它提供了一个控制台界面用于显示测试结果、日志和其他相关信息。开发者可以使用这个界面来监视和调试 CTS 测试的执行过程以确保他们的应用程序在各种 Android 设备上都能够正常运行。这个进程通常只在运行 CTS 测试时出现并且只会在特定情况下启动。在常规使用 Android 设备时这个进程通常不会运行。 以 VtsHalMediaC2V1_0TargetVideoDecTest 测试为例 使用的测试资源是 \android-vts\testcases\VtsHalMediaC2V1_0TargetVideoDecTest\ 可以看到有2个文件夹arm 和 arm64 分别针对32位和64位系统。 VtsHalMediaC2V1_0TargetVideoDecTest.config 是测试使用的资源包括媒体资源码流文件视频文件测试进程 vts_media_c2_v1_0_video_dec_test。 可以看出文件除了 视频文件(.vp9/.vp8/.m2v……)之外还有 .info 和 .md5 两类。 看了下info里应该放的是每一帧的时间戳.md5放的是文件的校验码 去代码看一下。 每个case里依赖的文件对应关系。 然后在getFileNames中根据index可以对应拿到每个case的 inputFile输入文件infoFile时间戳文件CheckSumFile校验文件 然后mChksumFile在DecodeTest中会用到。 if (!mChksumFile.compare(sResourceDir)) mMd5Enable false; 说明这个case在gCompToFiles数组中没有对应的md5文件因此不进行Md5检测。 把md5这个文件按二进制读取到mRefMd5这块内存中 然后在这里 void compareMd5Chksm(std::unique_ptrC2Work work)中分YUV平面去计算独立的md5然后进行memcpy 原理是啥 为什么解码结果可以按bit来compare不同的解码器参数会不会不一样 VtsHalMediaC2V1_0TargetVideoDecTest.config 记录的是 需要push的文件push的位置测试的用例option。 测试进程会解析这个config文件进行case配置。 基本可以看出流程是 先cleanup测试环境 然后adb push 测试用例 vts_media_c2_v1_0_video_dec_test 到 /data/local/tmp/vts_media_c2_v1_0_video_dec_test 然后把一堆依赖的资源文件 push进去 /data/local/tmp/media/ 最后运行 vts_media_c2_v1_0_video_dec_test -P /data/local/tmp/media/ 那究竟 VtsHalMediaC2V1_0TargetVideoDecTest 这个进程做了什么呢 这就需要去framework代码里看一下了。 VtsHalMediaC2V1_0TargetVideoDecTest 位于 frameworks/av/media/codec2/hal/hidl/1.0/vts/functional/video/ 打开 frameworks/av/media/codec2/hal/hidl/1.0/vts/functional/video/VtsHalMediaC2V1_0TargetVideoDecTest.cpp 文件 在线代码链接 可以发现有很多 TEST_P 开头的函数这都是GTEST框架 比如 TEST_P(Codec2VideoDecHidlTest, validateCompName) TEST_P(Codec2VideoDecHidlTest, configureTunnel) TEST_P(Codec2VideoDecDecodeTest, DecodeTest) TEST_P(Codec2VideoDecHidlTest, AdaptiveDecodeTest) TEST_P(Codec2VideoDecHidlTest, ThumbnailTest) TEST_P(Codec2VideoDecHidlTest, EOSTest) TEST_P(Codec2VideoDecHidlTest, FlushTest) TEST_P(Codec2VideoDecHidlTest, DecodeTestEmptyBuffersInserted) TEST_P(Codec2VideoDecCsdInputTests, CSDFlushTest)这些对应的就是 测试结果中的一个个部分 截了个图能看到 TEST_P(Codec2VideoDecHidlTest, validateCompName) 对应就有很多 PerInstance/Codec2VideoDecHidlTest#validateCompName/software_c2_XXXX 的 测试用例 整体来说 每个TEST_P的入口上都有很多测试。 测试会去遍历所有的解码用的C2 component进行测试。 5.4 VtsHalMediaC2V1_0TargetVideoDecTest 主要模块 Media的codec2在vts这边主要就是Dec和Enc两个模块其中 VtsHalMediaC2V1_0TargetVideoDecTest 主要包含了以下几个模块 PerInstance/Codec2VideoDecHidlTest#validateCompName验证注册的有效解码器名字是否合规包含软解和硬解PerInstance/Codec2VideoDecHidlTest#configureTunnel验证Tunnel配置是否正常验证bufferQ相关。确保数据能正确传输对应代码PerInstance/Codec2VideoDecHidlTest.AdaptiveDecodeTest 自适应测试不同比特率不同分辨率不同帧率对应代码PerInstance/Codec2VideoDecHidlTest.ThumbnailTest多个流发送对应代码PerInstance/Codec2VideoDecHidlTest.EOSTest直接发EOS来测试PerInstance/Codec2VideoDecHidlTest.FlushTestPerInstance/Codec2VideoDecHidlTest.DecodeTestEmptyBuffersInserted 插入空的一帧测丢帧等等StreamIndexAndEOS/Codec2VideoDecDecodeTest.DecodeTest解码测试CsdInputs/Codec2VideoDecCsdInputTests.CSDFlushTestEOS01结束符 SPS PPS 我们也可以通过 gtest_list_tests 查支持的测试用例 ./vts_media_c2_v1_0_video_dec_test --gtest_list_tests 依赖的资源 不需要单独提供资源包VTS这两个模块需要的资源包都在VTS的包里了会自动push到/data/local/tmp下去运行。 5.5 VtsHalMediaC2V1_0TargetVideoEncTest 主要模块 PerInstance/Codec2VideoEncHidlTest/validateCompNamePerInstance/Codec2VideoEncHidlTest/EOSTestPerInstance/Codec2VideoEncHidlTest/FlushTestInvalidBufferTestAdaptiveBitrateTestEncodeTestwithEOS/Codec2VideoEncEncodeTest/EncodeTestNonStdSizes/Codec2VideoEncResolutionTest/ResolutionTest Case命名原则 看result的时候发现大量的case命名为 XXXXX_数字A_数字B_数字C_数字D 的格式 比如 那这些数字是代表什么意思的呢 看VtsHalMediaC2V1_0TargetVideoEncTest.cpp的main。 从0(000)~7111进行循环生成 000, 001,010,011,100,101,110,111 共8种参数配置连上原有的参数0和参数1凑成5个参数进行测试。 后面在resolution测试中插入了一些固定的参数测试 对应结果中的这些测试用例 在模块中每个组件测试中 会拿到这些参数进行单独测试使用。 比如EncodeTest参数2就是代表发不发EOS参数3代表第一帧是不是空帧参数4代表有没有B帧等等。 5.6 单用例调试方法 在vts出问题进行程序调试的时候我们需要运行指定用例。 TF测试套件 如果使用tf测试套件 手动执行单个case 从调试方便的角度还是直接运行GTEST用例更方便。 如果使用手动运行Gtest可以使用GTEST支持的filter来指定如我想跑 可以运行 ./vts_media_c2_v1_0_video_dec_test --gtest_filter*.validateCompName/default_c2_mtk_av1_decoder_0 注意的是如果缺少一些库 需要自己export路径比如 export LD_LIBRARY_PATH/apex/com.android.art/lib64/:/vendor/lib64:/system/lib64;等等 5.7 一些常见报错 环境问题 Wrong java version. ATF框架依赖的安卓版本不对。按照使用的CTS测试包中建议重新安装对应的JDK模拟器版本即可。我这边安卓13用的11安卓14用的17。 外部存储无法mounted 查看/sdcard路径挂载了没有 运行vts-tradefed 无法进入 有时候windows上运行有问题可以直接跑命令 ./vts-tradefed run commandAndExit vts --abi arm64-v8a --module VtsHalGraphicsMapperV4_0TargetTest --disable-reboot --skip-device-info --skip-all-system-status-check --skip-preconditions运行问题 vts程序挂死、卡住无法打印帮助信息等 A基本上都是因为没有启动c2服务器进程手动启动c2服务进程后vts进程可以恢复正常 went over its timeout for outputing a response 怀疑是这里的超时参数设置的太小因为FPGA上case运行的非常慢导致获取结果超时。 在线代码NativeDeviceStateMonitor | Android Open Source Project
http://www.dnsts.com.cn/news/96307.html

相关文章:

  • 自己做免流网站对于做房产做网站的感悟
  • 广州网站建设-信科分公司网站外链建设分析
  • 东莞公司网站制作网站建设优化服务平台
  • 甘孜建设网站建筑网址导航
  • 无锡高端网站建设机构郑州建设网站建站
  • 做网站付款方式网络营销为导向的企业网站
  • wap网站解析做音乐的网站
  • 临沂网站公众号建设热搜榜百度一下你就知道
  • 泰安58同城招聘网找工作招聘信息大连关键词优化报价
  • 交友免费网站建设系统自动删除了wordpress
  • 主机搭建网站教程建设网站的价钱
  • 网站制作平台有哪些wordpress Honey 主题
  • 网站公司备案通知网站宣传工作
  • 微信支付 企业网站挖掘企业构思的途径
  • 织梦网站换空间网站建设期末题答案
  • 网站案例分析教育如何自己做外贸网站
  • 张氏万家网站建设免费行情网站链接
  • 中园建设银行网站wordpress+跳转+微信支付宝
  • 黑龙江省建设集团网站wordpress手机版中文
  • 数字媒体应用 网站开发机械东莞网站建设0769
  • 嘉兴商城网站开发设计室内设计师上网第一站
  • 360推广做网站企业seo排名外包
  • 网站建设维护多少钱哪个公司的网络最好用
  • 网站设计和建设自考题深圳外贸网站建设服务商
  • 某企业电子商务网站建设wordpress文章名字相同的不发布
  • 做catia数据的网站网页设计兼职平台
  • 合肥专业网站制百度投诉电话24小时
  • 哪里有做微商网站网站建设jw100
  • 孝感住房和城乡建设部网站如何把网站推广出去
  • 网站建设几点关门seo人人网