[mythtv] Typo in ffmpeg h264 parser?
John Pilkington
johnpilk222 at gmail.com
Wed Apr 25 19:14:54 UTC 2018
Hello: When I feed h264 from UK DVB-T2 recordings into ffmpeg I almost
always get error reports of 'illegal reordering of pic_nums_idc' or
'reference count overflow.' I'm running 30-pre-579
These reports apparently come from libavcodec/h264_parser.c, lines 186
and 194, and the if/else if combination at lines 182/184 looks very strange.
unsigned int reordering_of_pic_nums_idc =
get_ue_golomb_31(gb);
if (reordering_of_pic_nums_idc < 3)
get_ue_golomb_long(gb);
else if (reordering_of_pic_nums_idc > 3) {
while libavcodec/golomb.h has this at line 82:
/**
* read unsigned exp golomb code, constraint to a max of 31.
* the return value is undefined if the stored value exceeds 31.
*/
static inline int get_ue_golomb_31(GetBitContext *gb)
{
I think that the '3' in the 'else if' line in the parser should be 31;
any comments? Suggested action? I haven't yet tried a patch.
John P
More information about the mythtv-dev
mailing list