ref: 3ba067a4c874a517a42b1bee1e10fe60cfd4f988
parent: 6b021aed10c0b21ac34cff1ceee9b64f54af1303
parent: 1f598b892b35c3378d8f94111b2fca49610dde08
author: Ethan Hugg <[email protected]>
date: Mon Jan 13 03:29:28 EST 2014
Merge pull request #139 from varunbpatil/enc_arb_res Updated issues in README, Keep single copy of YUV test streams, enc/dec tests for arbitrary res stream
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,5 @@
testbin/test_vd_1d.yuv
testbin/test_vd_rc.264
testbin/test_vd_rc.yuv
+testbin/test.264
+testbin/test.yuv
--- a/README.md
+++ b/README.md
@@ -91,7 +91,6 @@
See the issue tracker on https://github.com/cisco/openh264/issues
- Encoder errors when resolution exceeds 3840x2160
- Encoder errors when compressed frame size exceeds half uncompressed size
-- Encoder console app only support multiple of 16 width/height for now
- Decoder errors when compressed frame size exceeds 1MB
License
binary files /dev/null b/res/Static.264 differ
--- /dev/null
+++ b/res/Static_152_100.yuv
@@ -1,0 +1,1 @@
+������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ)))))))))))))
\ No newline at end of file
--- a/test/decoder_test.cpp
+++ b/test/decoder_test.cpp
@@ -187,7 +187,8 @@
static const FileParam kFileParamArray[] = {
{"res/test_vd_1d.264", "5827d2338b79ff82cd091c707823e466197281d3"},
- {"res/test_vd_rc.264", "eea02e97bfec89d0418593a8abaaf55d02eaa1ca"}
+ {"res/test_vd_rc.264", "eea02e97bfec89d0418593a8abaaf55d02eaa1ca"},
+ {"res/Static.264", "91dd4a7a796805b2cd015cae8fd630d96c663f42"}
};
INSTANTIATE_TEST_CASE_P(DecodeFile, DecoderOutputTest,
--- a/test/encoder_test.cpp
+++ b/test/encoder_test.cpp
@@ -144,6 +144,10 @@
"res/CiscoVT2people_160x96_6fps.yuv",
"6eb53b6bfdb95dfca0575bd3efe81aa58163951c", 160, 96, 6.0f
},
+ {
+ "res/Static_152_100.yuv",
+ "c5af55647a5ead570bd5d96651e05ea699762b8e", 152, 100, 6.0f
+ },
};
INSTANTIATE_TEST_CASE_P(EncodeFile, EncoderOutputTest,
--- a/testbin/CiscoVT2people_160x96_6fps.yuv
+++ /dev/null
@@ -1,1 +1,0 @@
-��������������������v]TQOOSVWTOLOIMRXUPc�����������������������������������������������������������������������������������������������������������������������鮮������������������a`QNPVYVSPLJLLFLOROL]����������������������������������������������������������������������������������������������������������������������鯯�����������������ahYRNTZTQSJJGGGIEHKHKM[���������������������������������������������������������������������������������������������������������������������鯯�����������������Vd[UX]WNQPMLIGGFIHKHKNO���������������������������������������������������������������������������������������������������������������������魭����������������jSb_^debdbc`b\PRJPQQQNQQk��������������������������������������������������������������������������������������������������������������������뭭����������������]S\Yc�������~ld\^jl_WONTQ�������������������������������������������������������������������������{edr���������������������������������������뮮����������������WPYU����ķ���������taSCPL|�����������������������������������������������������������������}z}�yj^VSNTWfo�����������������������������������뺴����������������STW]����������������p\KHJd��������������������������������������������������������������pb`^UQWRRRVYYSNWblp�����������������������������������ɺ����������������QT]m����Ȼ�����������o\BGZ������������������������������������������������������������ybLQ]L?BGMPUWWYVQQ]nf]��������������������������������빶����������������PZdz����Ȼ�����������wuEGZ�����������������������������������������������������������pTINYWD?HJJMRWWVSUalqjUP{�������������������������������벱����������������Tcp������ı�����������{TGY����������������������������������������������������������hQKKRUM@HWKBGPTSXUTcgnhRFRy������������������������������뭮����������������ajy������ǹ�����������xWHQ���������������������������������������������������������hRMBN_\F?NWO@DLSTUX^abSMRKEO������������������������������뫫����������������wq{���緜xz�����������|YEO��������������������������������������������������������rTOBDOXWICEQPJB>HV[^cgePBFHHLc�����������������������������몪�����������������r���仙��vp����h\bq��YGT�������������������������������������������������������|WZFEEFOZSGFSNHMPDMU^ki^PB?AAFO�����������������������������몪�����������������v�����������vgdg_i|�fKq�������������������������������������������������������d^OEFD>L[XKKQSSIVRKZ_ZTSJD>;>AGX����������������������������몪����������������ļ������ۭ�����rq����}�xH�������������������������������������������������������r_[RNB:AOX[PTSZZVPcbKiYGFC>>;>AGIv���������������������������먨�����������������Ϯ����͉EVn�٤�s�������^������������������������������������������������������xd`ZUNA@DHM[^knpsi^goUOUE==;>==>AHR���������������������������맧�����������������������翓���佖xePUi���ng�����������������������������������������������������gg__^LBMJHTh~����}wodXTKB<=><=<;DGOm��������������������������먨������������������������ģ����ơ�}������g�����������������������������������������������������teY]cWDOROTe��������m_XLL@;;==;>>ADJW��������������������������먨����������������������������ʤ��������q�����������������������������������������������������daZ\_TNYYVby�������t_^LLF??==;>A>DJT��������������������������륦�����������������������Կ�����̡�������y������������������������������������������������������k_YY[MTVQbg����ɿ��zsaZTLM>>==;;C@CEMt�������������������������륦������������������������ȼ����Ъ�������������������������������������������������������������wfZ\VQJTONav�����ǻ��ki]XPQG;<<>><?CELa�������������������������뢤�����������������������κ�������������������������������������������������������������������oa^WSGJNKRi�������¶�s`]ZTLJ;<<==;>@FMR�������������������������롤�����������������|������ѷ��i��cY������������������������������������������������������������i][TODGDHYw������ο���hZ]XUI:99==;><<GK�������������������������뤢��������������}}���������ƺ��|x�����������������������������������������������������������{b[ZQJ@CBLg��������ĵ���c][VQB6:9?;;::BK|������������������������뤢��������������||zys��������ɽ���������������������������������������������������������������x
\ No newline at end of file
--- a/testbin/CiscoVT2people_320x192_12fps.yuv
+++ /dev/null
@@ -1,1 +1,0 @@
-�����������������������������������������s^XSTTPQMMOPRTVZWTQROMNQNJFJQURY[XSOVj������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������豱��������������������������������������j``[SRPPQMNRSTUVSTTUNJHIOMJIIMPPUWVRNKMTx����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������议�������������������������������������y[^h`TNMPONRVXWVTQRRRPLJMMKKJFGKOORSRKLJLY{���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������譭�������������������������������������`gbaVTLJPOPTZ[YVUUSOMLHFHJKKLECFMJOQPPQNJJT|�������������������������������������Ļ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������谰������������������������������������yVbc\QQPMKMV[YXVTRXSMIJHGFHEEHIHECIJKMIIHIIMS������������������������������������ļ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������议������������������������������������]VmkaURQQOQY[WQPONQOJFKIHFHFFHHHFEEGHIEGKNNNEP�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������误�����������������������������������yR[ff^SSUVVY][SLMNONNKIGGECGFFGFFGHEFHIDHKNLPMKx����������������������������������Ŀ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������议�����������������������������������\QV^c`XUWY[^`ZRNORSQPPOPOMMGEEGDEHJHJLMHIIHMMQP`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������譭����������������������������������YNWdfc[U^Zdc`YX]ZWY\YXZXWUSLFOKHGHJKJLPMMLKPRQOM������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뭭����������������������������������vWPU\bb\^fhjp]jlkmlkmifgljdaWTWTIOUXUVTRTSPONRRPSt�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������뭭����������������������������������hUSRX^^X`bu�|kz~�����{z{ukf^^WXOYabef`WZVROLQTRUS�����������������������������������������������������������������������������������������������������������������������������������������������������wy����������������������������������������������������������������������������������뭭����������������������������������_TTPZ]YRUt����������������sjik_aamsopqi[XTNJJOUUQJu������������������������������������������������������������������������������������������������������������������������������������������������vjVKOJJTbru~����������������������������������������������������������������������������묭����������������������������������[RMQV[\Qc������ƿ������������}�|��|z}�rpcXQPK?RPOK`�������������������������������������������������������������������������������������������������������������������������������������������~unc\USQODGNV[^hqx��������
\ No newline at end of file
--- a/testbin/CmdLineExample.sh
+++ b/testbin/CmdLineExample.sh
@@ -1,5 +1,7 @@
../h264enc welsenc_vd_1d.cfg
../h264enc welsenc_vd_rc.cfg
+../h264enc welsenc_arbitrary_res.cfg
-../h264dec test_vd_1d.264 test_vd_1d.yuv
-../h264dec test_vd_rc.264 test_vd_rc.yuv
+../h264dec ../res/test_vd_1d.264 test_vd_1d.yuv
+../h264dec ../res/test_vd_rc.264 test_vd_rc.yuv
+../h264dec ../res/Static.264 Static.yuv
--- a/testbin/CmdLineReadMe
+++ b/testbin/CmdLineReadMe
@@ -2,6 +2,7 @@
//for encoder configure files
welsenc_vd_1d.cfg
welsenc_vd_rc.cfg
+welsenc_arbitrary_res.cfg
//the actual generated decoder EXE files are in folder ../bin/win32/release/ with Release build
//user may copy "decConsole.exe" and "welsdec.dll" into ../bin
@@ -10,11 +11,12 @@
Example Command Line for encoding in Windows:
../bin/encConsole.exe welsenc_vd_1d.cfg
../bin/encConsole.exe welsenc_vd_rc.cfg
+../bin/encConsole.exe welsenc_arbitrary_res.cfg
Example Command Line for decoding in Windows
-../bin/decConsole.exe welsenc_vd_1d.264 welsenc_vd_1d.yuv
-../bin/decConsole.exe welsenc_vd_rc.264 welsenc_vd_rc.yuv
+../bin/decConsole.exe ../res/test_vd_1d.264 test_vd_1d.yuv
+../bin/decConsole.exe ../res/test_vd_rc.264 test_vd_rc.yuv
+../bin/decConsole.exe ../res/Static.264 Static.yuv
Example shell script for Linux for encoder & decoder:
CmdLineExample.sh
-
--- a/testbin/Static_152_100.yuv
+++ /dev/null
@@ -1,1 +1,0 @@
-������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ))))))))))))))))))))))������������������������������������������Ҫ������������������������������������������jjjjjjjjjjjjjjjjjjjjjjQQQQQQQQQQQQQQQQQQQQQQ)))))))))))))
\ No newline at end of file
--- a/testbin/layer2.cfg
+++ b/testbin/layer2.cfg
@@ -6,7 +6,7 @@
SourceHeight 192 # Input frame height
FrameRateIn 12 # Input frame rate [Hz]
FrameRateOut 12 # Output frame rate [Hz]
-InputFile CiscoVT2people_320x192_12fps.yuv # Input file
+InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
ReconFile rec_layer2.yuv # Reconstructed file
#============================== CODING ==============================
--- a/testbin/layer2_arbitrary_res.cfg
+++ b/testbin/layer2_arbitrary_res.cfg
@@ -6,7 +6,7 @@
SourceHeight 100 # Input frame height
FrameRateIn 12 # Input frame rate [Hz]
FrameRateOut 12 # Output frame rate [Hz]
-InputFile Static_152_100.yuv # Input file
+InputFile ../res/Static_152_100.yuv # Input file
ReconFile rec_layer2.yuv # Reconstructed file
#============================== CODING ==============================
--- a/testbin/layer2_vd.cfg
+++ b/testbin/layer2_vd.cfg
@@ -6,7 +6,7 @@
SourceHeight 192 # Input frame height
FrameRateIn 12 # Input frame rate [Hz]
FrameRateOut 12 # Output frame rate [Hz]
-InputFile CiscoVT2people_320x192_12fps.yuv # Input file
+InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
ReconFile rec_layer2.yuv # Reconstructed file
#============================== CODING ==============================
--- a/testbin/layer2_vd_rc.cfg
+++ b/testbin/layer2_vd_rc.cfg
@@ -6,7 +6,7 @@
SourceHeight 192 # Input frame height
FrameRateIn 12 # Input frame rate [Hz]
FrameRateOut 12 # Output frame rate [Hz]
-InputFile CiscoVT2people_320x192_12fps.yuv # Input file
+InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
ReconFile rec_layer2.yuv # Reconstructed file
#============================== CODING ==============================
--- a/testbin/welsenc_arbitrary_res.cfg
+++ b/testbin/welsenc_arbitrary_res.cfg
@@ -1,7 +1,7 @@
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
#============================== GENERAL ==============================
-OutputFile test.264 # Bitstream file
+OutputFile Static.264 # Bitstream file
MaxFrameRate 30 # Maximum frame rate [Hz]
FramesToBeEncoded -1 # Number of frames (at input frame rate)