[gstreamer-msdk-master][APL] it will lose frames crossing work with checksum when decode the h264 encoded file by msdk.
Submitted by zj,wang
Link to original bug (#796232)
Description
Test Env:
Platform: APL
Arch: x86_64
Linux release 16.04
Kernel: 4.12.0-rc2
libva https://github.com/01org/libva.gitb
commit 3be72a5a110880f70626d7c3bed953cdde124b2
media_driver https://github.com/intel/media-driver
commit 1c2b0615d749c45c07f9aee6586774816989c5b3
MediaSDK: https://github.com/Intel-Media-SDK/MediaSDK
commit 7c2b069dce7bed268806f680412a2f3b09a52ce9
gst-bad master branch 0bdcf51b
Reproduce Steps:
take one case for example
- build enc as above lists
- gst-launch-1.0 -f filesrc location=/media/encoderbitstreams//SOCCER_704x576_30_orig_02.yuv '!' videoparse format=i420 width=704 height=576 framerate=30 '!' videoconvert '!' video/x-raw,format=NV12 '!' msdkh264enc rate-control=cqp qpi=26 qpp=26 qpb=26 gop-size=30 num-slices=4 b-frames=2 '!' video/x-h264,profile=main '!' h264parse '!' filesink location=./SOCCER_704x576_i420_profilemain_rc0_ipb_qp26_slice4_gop30_fps30.h264
- gst-launch-1.0 -f filesrc location=./SOCCER_704x576_i420_profilemain_rc0_ipb_qp26_slice4_gop30_fps30.h264 '!' h264parse '!' msdkh264dec '!' videoconvert '!' video/x-raw,format=I420 '!' checksumsink2 frame-checksum=FALSE file-checksum=TRUE plane-checksum=FALSE dump-output=TRUE dump-location=./dump.yuv
- gst-launch-1.0 -f filesrc location=./SOCCER_704x576_i420_profilemain_rc0_ipb_qp26_slice4_gop30_fps30.h264 '!' h264parse '!' msdkh264dec '!' videoconvert '!' video/x-raw,format=I420 '!' filesink location=gst.yuv
- compare the two dumped files, find it lose frames when cross work with checksum.
This issue can not be duplicated with hevc enc codec