After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796467 - msdk: the dumped file has garbage in every frame when decode the mpeg2 encoded file
msdk: the dumped file has garbage in every frame when decode the mpeg2 encode...
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 789886
 
 
Reported: 2018-05-31 06:58 UTC by zj,wang
Modified: 2018-06-06 05:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description zj,wang 2018-05-31 06:58:49 UTC
Test Env:
============================================
Platform:               APL/KBL
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 0bdcf51baf77926b4f29c01a2fdf133c13aad62e

Reproduce Steps:
============================================
take one case for example
1. build enc as above lists
2. gst-launch-1.0 -f filesrc location=/media/encoderbitstreams//720p5994_parkrun_ter.yuv '!' videoparse format=i420 width=1280 height=720 framerate=30 '!' videoconvert '!' video/x-raw,format=NV12 '!' msdkmpeg2enc rate-control=cqp qpi=26 qpp=26 qpb=26 gop-size=30 b-frames=0 '!' mpegvideoparse '!' mpegtsmux '!' filesink location=./720p5994_parkrun_i420_profilemain_rc0_ip_qp26_slice1_gop30_fps30.mpg
3. gst-launch-1.0 -f -q filesrc location=./720p5994_parkrun_i420_profilemain_rc0_ip_qp26_slice1_gop30_fps30.mpg '!' mpegvideoparse '!' msdkmpeg2dec '!' videoconvert '!' ximagesink
Comment 1 zj,wang 2018-05-31 07:01:51 UTC
1. gst-launch-1.0 -f filesrc location=/media/encoderbitstreams//720p5994_parkrun_ter.yuv '!' videoparse format=i420 width=1280 height=720 framerate=30 '!' videoconvert '!' video/x-raw,format=NV12 '!' msdkmpeg2enc rate-control=cqp qpi=26 qpp=26 qpb=26 gop-size=30 b-frames=0 '!' mpegvideoparse '!' mpegtsmux '!' filesink location=./720p5994_parkrun_i420_profilemain_rc0_ip_qp26_slice1_gop30_fps30.mpg
2. gst-launch-1.0 -f -q filesrc location=./720p5994_parkrun_i420_profilemain_rc0_ip_qp26_slice1_gop30_fps30.mpg '!' mpegvideoparse '!' mfxmpeg2dec '!' videoconvert '!' ximagesink


mplayer ./720p5994_parkrun_i420_profilemain_rc0_ip_qp26_slice1_gop30_fps30.mpg

use mfx instead of msdk, it also has garbage
use mplayer to play the encoded file, the file can be palyed clearly.
Comment 2 U. Artie Eoff 2018-06-06 02:53:33 UTC
If using mpegtsmux during encode, you need to use tsdemux before mpegvideoparse in decode pipeline.
Comment 3 U. Artie Eoff 2018-06-06 03:06:55 UTC
Or just remove mpegtsmux from encode pipeline
Comment 4 zj,wang 2018-06-06 05:39:20 UTC
 The option "mpegtsmux" should using conjunction with "tsdemux", after remove "mpegtsmux" from encode pipeline, this issue can not be duplicated, so close it.