codecparsers: h264: store quantization matrices in zig-zag order

Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.

https://bugzilla.gnome.org/show_bug.cgi?id=708629
This commit is contained in:
Sreerenj Balachandran 2013-08-20 17:03:38 +03:00 committed by Sebastian Dröge
parent 7622c9b10a
commit e943f56bf8

View file

@ -696,18 +696,15 @@ gst_h264_parser_parse_scaling_list (NalReader * nr,
READ_UINT8 (nr, scaling_list_present_flag, 1); READ_UINT8 (nr, scaling_list_present_flag, 1);
if (scaling_list_present_flag) { if (scaling_list_present_flag) {
guint8 *scaling_list; guint8 *scaling_list;
const guint8 *scan;
guint size; guint size;
guint j; guint j;
guint8 last_scale, next_scale; guint8 last_scale, next_scale;
if (i < 6) { if (i < 6) {
scaling_list = scaling_lists_4x4[i]; scaling_list = scaling_lists_4x4[i];
scan = zigzag_4x4;
size = 16; size = 16;
} else { } else {
scaling_list = scaling_lists_8x8[i - 6]; scaling_list = scaling_lists_8x8[i - 6];
scan = zigzag_8x8;
size = 64; size = 64;
} }
@ -724,7 +721,7 @@ gst_h264_parser_parse_scaling_list (NalReader * nr,
use_default = TRUE; use_default = TRUE;
break; break;
} }
last_scale = scaling_list[scan[j]] = last_scale = scaling_list[j] =
(next_scale == 0) ? last_scale : next_scale; (next_scale == 0) ? last_scale : next_scale;
} }
} else } else