intel / libyami

Yet Another Media Infrastructure. it is core part of media codec with hardware acceleration, it is yummy to your video experience on Linux like platform.
Apache License 2.0
146 stars 106 forks source link

[R2R] one case md5 does not match with the reference which run manually on KBL #792

Open wangzj0601 opened 6 years ago

wangzj0601 commented 6 years ago

Test enc Platform: KBL Kernel version: 4.12.0-rc2 Libva: 1.8.3pre1 master branch commit f1a3296d160dbedd695f2712c97fb0dc508785f2 intel_driver:  1.8.3pre1 master branch commit 127183b7f528ead9d0f2054277e6da162c6522f2 libyami: apache branch f61cffd77eec64bbcdbb805789a0f70b10f7482f libyami-utils: master branch d6c38d3925eae30e225b7048464a61c10a95503b

Reproduce steps

  1. yamitranscode -i /media/transcode/bit/1080p_blue_sky.yuv.h264 -o 1920x1080.h264
  2. md5sum 1920x1080.h264 as reference
  3. for i in seq 1 10; do yamitranscode -i /media/transcode/bit/1080p_blue_sky.yuv.h264 -o 1920x1080.h264; md5sum 1920x1080.h264 >>zj.txt; rm -rf 1920x1080.h264; done
  4. compare md5 got by automaitc with reference

Expected Result

all md5 are same Actual Result

md5 does not match with the reference run manually

wangzj0601 commented 6 years ago

This issue also can be duplicated on SKL platform when do vp8 encode enc Kernel version: 4.12.0-rc2 Libva: 2.0.1.pre1 master branch commit cb1f254ec65954ff7585f40df4b38337c462b14c intel_driver:  2.0.1.pre1 master branch commit 37613a52e5e0ded88ded0cdf658af5bbe4ea48e0 libva-utils: 2.0.1.pre1 master branch commit 624b382df777cfa8f5dbb2c1eff07411e6ab0468 libyami: apache branch a1f863cd8f6e52787952e15d5bd60ab84784c0e0 tag:1.3.0.pre1 libyami-utils: master branch 8cfdf784719be0499b9839a6a94d277856c4ac94 tag:1.3.0.pre1

step 1.yamiencode -i /media/encoderbitstreams/4K_2013_3840_2160_300frames.yuv -s I420 -W 3840 -H 2160 --qp 80 -c VP8 --rcmode CQP --ipperiod 2 -o ./4K_2013_3840_2160_300frames.yuv_80_2.vp8

  1. yamidecode -i 4K_2013_3840_2160_300frames.yuv_80_2.vp8 -m 0 -f I420
  2. md5sum 4K_2013_3840_2160_300frames.yuv_80_2.vp8_3840x2160.I420
  3. rm -rf 4K_2013_3840_2160_300frames.yuv_80_2.vp8_3840x2160.I420
  4. yamidecode -i 4K_2013_3840_2160_300frames.yuv_80_2.vp8 -m 0 -f I420
  5. md5sum 4K_2013_3840_2160_300frames.yuv_80_2.vp8_3840x2160.I420
  6. compare the two md5 value