[FFmpeg-devel] [RFC] [PATCH] hevc_ps: reorder SPS reading to allow some errors
michaelni at gmx.at
Thu Aug 21 22:13:41 CEST 2014
On Thu, Aug 21, 2014 at 07:14:03PM +0200, Christophe Gisquet wrote:
> 2014-08-21 3:06 GMT+02:00 Michael Niedermayer <michaelni at gmx.at>:
> > heres a narrower solution for this file
> > not sure its better
> > i can apply whichever you prefer, probably we wont find out which
> > is the best solution before pushing something and waiting for more
> > bug reports
> Thanks for narrowing it done, and now I have dug it further.
> When you look at what get parsed before that,
> vui->def_disp_win.left_offset gets an insane value unrelated to the
> video dimensions. I tried instead to do as if
> vui->default_display_window_flag and related syntax does not exist.
> Then, the timing info is decoded, and the values are actually normal:
> vui_num_units_in_tick = 1000
> vui_time_scale = 23976
> (rest less relevant and meaningfull)
> So I think the actual "bug" in that stream is that it does not contain
> any default_display_window information. Why is that? Probably because
> the encoder writes an older VUI syntax, and several bits get
> misinterpreted. By luck they don't bother us. It would be nice to know
> what syntax is used, but there could be so many variations...
> The attached therefore barely improves on your patch.
> hevc_ps.c | 21 ++++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
> b60bac9ae4f56940b8e219dbe735308c38b9a57a 0001-hevc_ps-check-overflow-and-test-alternate-syntax.patch
> From 80cd353f464f3785285e0c82efd3c6ccd655bf5c Mon Sep 17 00:00:00 2001
> From: Christophe Gisquet <christophe.gisquet at gmail.com>
> Date: Thu, 21 Aug 2014 18:57:18 +0200
> Subject: [PATCH] hevc_ps: check overflow and test alternate syntax
> Some streams were found to have what appeared to be truncated SPS.
> Their syntax seem to be valid at least until the end of the VUI, so
> try that syntax if the parsing would overflow the SPS in the
> conforming syntax.
> Fixes ticket #3872.
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 181 bytes
Desc: Digital signature
More information about the ffmpeg-devel