GNOME Bugzilla – Bug 674113
[0.11] Multiple issues with mpegvideoparser (+patches)
Last modified: 2012-04-16 06:42:50 UTC
1. Codec data is updated every time quantiser matrix changes in sequence header. This is not necessary, in fact it actually breaks decoders and causes decoding artifacts. 2. Frame duration and FPS is calculated wrong for telecine files. FPS doesn't have to be doubled and frame duration needs check to not be adjusted when not valid. 3. Mpegvideoparse fails to split some frames properly. First issue is that the parsing routine ignores start code at the end of buffer, second issue is that the parser doesn't split frames on start codes that don't have size set. However when such start code is encountered the mpvparse->last_sc is set to buf_size - 3 which causes the parser to skip that start code entirely in next iteration.
Created attachment 212056 [details] [review] Patch for codec data
Created attachment 212057 [details] [review] Patch for frame duration for telecine files
Created attachment 212058 [details] [review] Patch for parser not to ignore start codes at the end of buffer
Created attachment 212059 [details] [review] Patch for parser to split frames properly
commit 045e8bb506f24321bcd20933ceab8588e225ec3c Author: Matej Knopp <matej.knopp@gmail.com> Date: Sat Apr 14 21:09:25 2012 +0200 mpegvideoparse: Do not ignore start code at the end of buffer commit 19f7bd470d9ec602d706c268713384404888cd3a Author: Matej Knopp <matej.knopp@gmail.com> Date: Sat Apr 14 21:02:06 2012 +0200 mpegvideoparse: Parser fails to split some frames commit 23e312872e4131b95c7807f621cd442c3830665b Author: Matej Knopp <matej.knopp@gmail.com> Date: Sat Apr 14 20:53:47 2012 +0200 mpegvideoparse: Fix FPS and frame duration for telecine files commit 19ee94a8d15e96127885f489b1c2422b957ba65e Author: Matej Knopp <matej.knopp@gmail.com> Date: Sat Apr 14 20:46:24 2012 +0200 mpegvideoparse: Do not update codec-data when only quantiser matrix changes