/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.frame.vp8.test; import org.apache.log4j.Logger; import org.junit.Test; import com.ttProject.frame.vp8.Vp8Frame; import com.ttProject.frame.vp8.Vp8FrameAnalyzer; import com.ttProject.nio.channels.ByteReadChannel; import com.ttProject.nio.channels.IReadChannel; import com.ttProject.util.HexUtil; /** * loading test for vp8 frame * @author taktod */ public class FrameReadTest { /** logger */ private Logger logger = Logger.getLogger(FrameReadTest.class); @Test public void keyFrame() throws Exception { IReadChannel channel = new ByteReadChannel(HexUtil.makeBuffer("7020009D012A4001F0000047088585888584880202004E01FC01C101FC01F04FF10FC11FC80F601FC01FD66E203FCC3F053F6AFFD0660DFE51F861F8E9AE2FF89BEA39FC07880FF2FFC8EFECDF427F86FF01FC2BFF01E667F881F403FC97F81FF12FC56FE5FFF5FF7FFF007A807F431F9A2469CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D756737A338E635C7D0C05E14C0354654FE996FDE4A086BAB39C81F88D53AE8450027D1B06243BA9410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390140FEFFAB52F7D8728A01AF9A683AF91856ECCCC5E6C9DA4B417632AF8320F0D51D667132F5C2CEE77DD3CFADB9B8AC661A95E03B663BDE6810189D8BFFC8D529BD98E8E9827230ED4BDFFFF0C3577EF7C4D2A92AF687C57FEEA2E51B92B46CB715E858D0DD1BBE476EE7647F5807DA1BF16049E97529F30008D539939FFFE8A4E9C3E8365E8688E359FE3BB0F4CFE17A23270E97411E75344C08B3EFDEEF33C9846A3BCBF29AC522A379435587AD6109A8FFFF6FEA3B8A22DC3C7E6FD08536959ECAD3EE942B63309B03C8F5C39F45FC8EFD6DB562AC30829E2C754E203CBD250F61BA4FA2F928F1B35455FAE2F52F5C2CEE77DD3CFADA0D7902F9FDF6C8292947F407A477FFFC23BB6AFC988669F6AB1709AD0342233EAAD34EAF437B4609B716868FA5384B2E831977E12A5635947456F72476D557E6B3CB7BFFFC03A93AFC988669F6AB1709184A3B19ACB3971BEDE32DE242FA6165324C488AED84AC8ACBC1EBEB1065FF663EFFF6E3501A25D9A7CBEC7868C73FFE8704242EB80381338F62A72F4077E4C528B7C5900000")); Vp8FrameAnalyzer analyzer = new Vp8FrameAnalyzer(); Vp8Frame frame = (Vp8Frame)analyzer.analyze(channel); logger.info(HexUtil.toHex(frame.getData())); logger.info(frame.getWidth() + "x" + frame.getHeight()); } @Test public void intraFrame() throws Exception { IReadChannel channel = new ByteReadChannel(HexUtil.makeBuffer("7020009D012A4001F0000047088585888584880202004E01FC01C101FC01F04FF10FC11FC80F601FC01FD66E203FCC3F053F6AFFD0660DFE51F861F8E9AE2FF89BEA39FC07880FF2FFC8EFECDF427F86FF01FC2BFF01E667F881F403FC97F81FF12FC56FE5FFF5FF7FFF007A807F431F9A2469CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D756737A338E635C7D0C05E14C0354654FE996FDE4A086BAB39C81F88D53AE8450027D1B06243BA9410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390435D59CE410D7567390140FEFFAB52F7D8728A01AF9A683AF91856ECCCC5E6C9DA4B417632AF8320F0D51D667132F5C2CEE77DD3CFADB9B8AC661A95E03B663BDE6810189D8BFFC8D529BD98E8E9827230ED4BDFFFF0C3577EF7C4D2A92AF687C57FEEA2E51B92B46CB715E858D0DD1BBE476EE7647F5807DA1BF16049E97529F30008D539939FFFE8A4E9C3E8365E8688E359FE3BB0F4CFE17A23270E97411E75344C08B3EFDEEF33C9846A3BCBF29AC522A379435587AD6109A8FFFF6FEA3B8A22DC3C7E6FD08536959ECAD3EE942B63309B03C8F5C39F45FC8EFD6DB562AC30829E2C754E203CBD250F61BA4FA2F928F1B35455FAE2F52F5C2CEE77DD3CFADA0D7902F9FDF6C8292947F407A477FFFC23BB6AFC988669F6AB1709AD0342233EAAD34EAF437B4609B716868FA5384B2E831977E12A5635947456F72476D557E6B3CB7BFFFC03A93AFC988669F6AB1709184A3B19ACB3971BEDE32DE242FA6165324C488AED84AC8ACBC1EBEB1065FF663EFFF6E3501A25D9A7CBEC7868C73FFE8704242EB80381338F62A72F4077E4C528B7C5900000")); Vp8FrameAnalyzer analyzer = new Vp8FrameAnalyzer(); Vp8Frame frame = (Vp8Frame)analyzer.analyze(channel); logger.info(frame.getWidth() + "x" + frame.getHeight()); channel = new ByteReadChannel(HexUtil.makeBuffer("3108000D113C0018004427FFFFE4B3DFFF564FFFED883AB9500880102CCAD3F0F13CFDC99FC13F01BD1BFEC4BC0F92645FFDA1A49DDED7C80B07BBE5001CA930DBA515704CDCCD6EF8A821AFB5D69E3F298C8F1BDCDDCFB37BA07F1F3F4C9E9513D376163DF1133D3DC6FC853613C818A8BF5979682F7989A911BD44164038959CECDCDBE5AFF8B5E1C96CE2423A48DFF745B3BD80DAC94A640B676A5A7FA755B68DBF000000")); frame = (Vp8Frame)analyzer.analyze(channel); logger.info(frame.getWidth() + "x" + frame.getHeight()); } }