mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
codecparsers: h264: fix pred_weight_table() parsing.
Use 16-bit signed integer values for weight values because valid ranges are -128 to +128 inclusive.
This commit is contained in:
parent
4bacba620f
commit
621fd01281
2 changed files with 10 additions and 8 deletions
|
@ -827,6 +827,7 @@ gst_h264_slice_parse_pred_weight_table (GstH264SliceHdr * slice,
|
|||
NalReader * nr, guint8 chroma_array_type)
|
||||
{
|
||||
GstH264PredWeightTable *p;
|
||||
gint16 default_luma_weight, default_chroma_weight;
|
||||
gint i;
|
||||
|
||||
GST_DEBUG ("parsing \"Prediction weight table\"");
|
||||
|
|
|
@ -474,19 +474,20 @@ struct _GstH264PredWeightTable
|
|||
guint8 luma_log2_weight_denom;
|
||||
guint8 chroma_log2_weight_denom;
|
||||
|
||||
guint8 luma_weight_l0[32];
|
||||
guint8 luma_offset_l0[32];
|
||||
gint16 luma_weight_l0[32];
|
||||
gint8 luma_offset_l0[32];
|
||||
|
||||
/* if seq->ChromaArrayType != 0 */
|
||||
guint8 chroma_weight_l0[32][2];
|
||||
guint8 chroma_offset_l0[32][2];
|
||||
gint16 chroma_weight_l0[32][2];
|
||||
gint8 chroma_offset_l0[32][2];
|
||||
|
||||
/* if slice->slice_type % 5 == 1 */
|
||||
guint8 luma_weight_l1[32];
|
||||
guint8 luma_offset_l1[32];
|
||||
gint16 luma_weight_l1[32];
|
||||
gint8 luma_offset_l1[32];
|
||||
|
||||
/* and if seq->ChromaArrayType != 0 */
|
||||
guint8 chroma_weight_l1[32][2];
|
||||
guint8 chroma_offset_l1[32][2];
|
||||
gint16 chroma_weight_l1[32][2];
|
||||
gint8 chroma_offset_l1[32][2];
|
||||
};
|
||||
|
||||
struct _GstH264RefPicMarking
|
||||
|
|
Loading…
Reference in a new issue