Commit graph

24 commits

Author SHA1 Message Date
Sreerenj Balachandran
8a6cc4ed27 codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
ChromaLog2WeightDenom = luma_log2_weight_denom + delta_chroma_log2_weight_denom

The value of ChromaLog2WeightDenom should be in the range of 0 to 7 and
the value luma_log2_weight_denom  should be also in the range of 0 to 7.
Which means , delta_chroma_log2_weight_denom can have values in the range
between -7 and 7.

https://bugzilla.gnome.org/show_bug.cgi?id=753552
2015-08-12 14:11:31 +02:00
Sreerenj Balachandran
b6b2e04501 codecparsers: h265: Fix the parsing of ref_pic_lists_modification
https://bugzilla.gnome.org/show_bug.cgi?id=753552
2015-08-12 14:11:26 +02:00
Sreerenj Balachandran
e6e0702821 codecparser: h265: Fix nal unit size checking
The EOS and EOB nals have the size 2 which is the size of
nal unit header itself. The gst_h265_parser_identify_nalu()
is not required to scan start code again in this case.

In other cases, for a valid nalunit the minimum required size
is 3 bytes (2 byte header and at least 1 byte RBSP payload)
2015-04-30 21:47:38 +02:00
Sreerenj Balachandran
af7ff2bd95 codecparser: h265: Calculate crop rectangle dimensions 2015-04-30 21:46:31 +02:00
Sreerenj Balachandran
877e69c9ec codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
An SEI Nal can have more than one SEI message.

Change in API: the gst_h265_parser_parse_sei()
2015-04-30 21:45:39 +02:00
Sreerenj Balachandran
8407622c93 codecparser: h265: Fix the number of tile rows/columns parsing
The possible minimum value for num_tile_columns_minus1 and num_tile_rows_minus1
is zero (7.4.3.3).

https://bugzilla.gnome.org/show_bug.cgi?id=748641
2015-04-29 19:16:48 +02:00
Sreerenj Balachandran
989643ff7c codecparsers: h265: add helpers to convert quantization matrices
Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa

https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-26 21:46:25 +02:00
Sreerenj Balachandran
a86e7c1c1f codecparser: h265: skip byte alignment bits while parsing slice header
Skip the byte alignment bits as per the logic of byte_alignment()
provided in hevc specification. This will fix the calculation of
slice header size.

https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-26 21:45:31 +02:00
Sreerenj Balachandran
b17a026eb7 codecparser: h265: Fix the NumDeltaPocs calculation
Always use the equation provided in spec (7-57) for finding
the NumDeltaPocs

https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-26 21:45:08 +02:00
Sreerenj Balachandran
333ba075a5 codecparser: h265: Fix the NumPocTotalCurr calculation
The NumPocToalCurr should be calculated for all B and P slices.

https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-26 21:44:25 +02:00
Sreerenj Balachandran
889cc8ee31 codecparser: h265: Fix nal size calculation for EOS and EOB
https://bugzilla.gnome.org/show_bug.cgi?id=747613
2015-04-26 21:43:40 +02:00
Edward Hervey
3da1c9c8d5 codecparsers: Add READ_UE_MAX macro
READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't
make much point for unsigned integers.

Add a READ_UE_MAX variant and use that instead. Also replaced two usages
of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something)
2015-01-23 12:24:52 +01:00
Sebastian Dröge
80e02cbdf9 Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
Julien Isorce
3fb3758e7d codecparsers: fix some compiler warnings
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1

"warning: comparison is always true due to limited
range of data type"

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673
2014-11-25 23:05:15 +00:00
Gwenole Beauchesne
e84b0d626c codecparsers: cosmetics: drop TAB characters.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-25 15:48:40 +01:00
Thiago Santos
61192a1619 codecparsers: refactor common nal parsing to nalutils
Moves common code from h264 and h265 to a separate file
2014-01-24 09:30:35 -03:00
Thiago Santos
24c87b18c2 h265parser: remove trailling 0x00 bytes as the spec doesn't allow them
Just like h264, the spec doesn't allow the last bytes of a NAL to be 0x00.
So remove it as it is probably just padding.

This is related to https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 10:27:01 -03:00
duhui.lee
686c2f8e79 h265parser: Initialize pointer correctly that is never assigned but freed in error cases
Fixes crash on broken streams.

https://bugzilla.gnome.org/show_bug.cgi?id=722669
2014-01-21 09:58:18 +01:00
duhui.lee
13a397a0b9 h265parser: Fix segfault when parsing HRD parameter
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:04:23 +01:00
duhui.lee
a8151d78fc h265parser: Fix segfault when parsing VPS
https://bugzilla.gnome.org/show_bug.cgi?id=722081
2014-01-14 16:26:51 +01:00
Justin Joy
6587e924f1 h265parser: prevent to overrun chroma_weight_l0_flag
The index of elements cannot exceed or equal to the size of elements.

https://bugzilla.gnome.org/show_bug.cgi?id=722101
2014-01-13 15:04:52 +01:00
Sebastian Dröge
bacef9cbc4 h265parser: Fix debug output 2014-01-06 14:47:43 +01:00
Sebastian Dröge
2b348161ed codecparsers: Remove some unused functions 2013-11-07 09:54:40 +01:00
Sreerenj Balachandran
33451e0791 codecparsers: add H.265 HEVC bitstream parser
https://bugzilla.gnome.org/show_bug.cgi?id=708438
2013-11-06 23:14:22 +00:00