You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avcodec/evc_parse: use unsigned types in structs where corresponds
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -28,11 +28,11 @@ int ff_evc_parse_slice_header(GetBitContext *gb, EVCParserSliceHeader *sh,
|
|||||||
const EVCParserPPS *pps;
|
const EVCParserPPS *pps;
|
||||||
const EVCParserSPS *sps;
|
const EVCParserSPS *sps;
|
||||||
int num_tiles_in_slice = 0;
|
int num_tiles_in_slice = 0;
|
||||||
int slice_pic_parameter_set_id;
|
unsigned slice_pic_parameter_set_id;
|
||||||
|
|
||||||
slice_pic_parameter_set_id = get_ue_golomb(gb);
|
slice_pic_parameter_set_id = get_ue_golomb_31(gb);
|
||||||
|
|
||||||
if (slice_pic_parameter_set_id < 0 || slice_pic_parameter_set_id >= EVC_MAX_PPS_COUNT)
|
if (slice_pic_parameter_set_id >= EVC_MAX_PPS_COUNT)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
pps = ps->pps[slice_pic_parameter_set_id];
|
pps = ps->pps[slice_pic_parameter_set_id];
|
||||||
@@ -59,14 +59,14 @@ int ff_evc_parse_slice_header(GetBitContext *gb, EVCParserSliceHeader *sh,
|
|||||||
if (!sh->arbitrary_slice_flag)
|
if (!sh->arbitrary_slice_flag)
|
||||||
sh->last_tile_id = get_bits(gb, pps->tile_id_len_minus1 + 1);
|
sh->last_tile_id = get_bits(gb, pps->tile_id_len_minus1 + 1);
|
||||||
else {
|
else {
|
||||||
sh->num_remaining_tiles_in_slice_minus1 = get_ue_golomb(gb);
|
sh->num_remaining_tiles_in_slice_minus1 = get_ue_golomb_long(gb);
|
||||||
num_tiles_in_slice = sh->num_remaining_tiles_in_slice_minus1 + 2;
|
num_tiles_in_slice = sh->num_remaining_tiles_in_slice_minus1 + 2;
|
||||||
for (int i = 0; i < num_tiles_in_slice - 1; ++i)
|
for (int i = 0; i < num_tiles_in_slice - 1; ++i)
|
||||||
sh->delta_tile_id_minus1[i] = get_ue_golomb(gb);
|
sh->delta_tile_id_minus1[i] = get_ue_golomb_long(gb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sh->slice_type = get_ue_golomb(gb);
|
sh->slice_type = get_ue_golomb_31(gb);
|
||||||
|
|
||||||
if (nalu_type == EVC_IDR_NUT)
|
if (nalu_type == EVC_IDR_NUT)
|
||||||
sh->no_output_of_prior_pics_flag = get_bits1(gb);
|
sh->no_output_of_prior_pics_flag = get_bits1(gb);
|
||||||
|
@@ -41,27 +41,27 @@
|
|||||||
// u(n) - unsigned integer using n bits.
|
// u(n) - unsigned integer using n bits.
|
||||||
// When n is "v" in the syntax table, the number of bits varies in a manner dependent on the value of other syntax elements.
|
// When n is "v" in the syntax table, the number of bits varies in a manner dependent on the value of other syntax elements.
|
||||||
typedef struct EVCParserSliceHeader {
|
typedef struct EVCParserSliceHeader {
|
||||||
int slice_pic_parameter_set_id; // ue(v)
|
uint8_t slice_pic_parameter_set_id; // ue(v)
|
||||||
int single_tile_in_slice_flag; // u(1)
|
uint8_t single_tile_in_slice_flag; // u(1)
|
||||||
int first_tile_id; // u(v)
|
uint8_t first_tile_id; // u(v)
|
||||||
int arbitrary_slice_flag; // u(1)
|
uint8_t arbitrary_slice_flag; // u(1)
|
||||||
int last_tile_id; // u(v)
|
uint8_t last_tile_id; // u(v)
|
||||||
int num_remaining_tiles_in_slice_minus1; // ue(v)
|
uint32_t num_remaining_tiles_in_slice_minus1; // ue(v)
|
||||||
int delta_tile_id_minus1[EVC_MAX_TILE_ROWS * EVC_MAX_TILE_COLUMNS]; // ue(v)
|
uint16_t delta_tile_id_minus1[EVC_MAX_TILE_ROWS * EVC_MAX_TILE_COLUMNS]; // ue(v)
|
||||||
|
|
||||||
int slice_type; // ue(v)
|
uint8_t slice_type; // ue(v)
|
||||||
int no_output_of_prior_pics_flag; // u(1)
|
uint8_t no_output_of_prior_pics_flag; // u(1)
|
||||||
int mmvd_group_enable_flag; // u(1)
|
uint8_t mmvd_group_enable_flag; // u(1)
|
||||||
int slice_alf_enabled_flag; // u(1)
|
uint8_t slice_alf_enabled_flag; // u(1)
|
||||||
|
|
||||||
int slice_alf_luma_aps_id; // u(5)
|
uint8_t slice_alf_luma_aps_id; // u(5)
|
||||||
int slice_alf_map_flag; // u(1)
|
uint8_t slice_alf_map_flag; // u(1)
|
||||||
int slice_alf_chroma_idc; // u(2)
|
uint8_t slice_alf_chroma_idc; // u(2)
|
||||||
int slice_alf_chroma_aps_id; // u(5)
|
uint8_t slice_alf_chroma_aps_id; // u(5)
|
||||||
int slice_alf_chroma_map_flag; // u(1)
|
uint8_t slice_alf_chroma_map_flag; // u(1)
|
||||||
int slice_alf_chroma2_aps_id; // u(5)
|
uint8_t slice_alf_chroma2_aps_id; // u(5)
|
||||||
int slice_alf_chroma2_map_flag; // u(1)
|
uint8_t slice_alf_chroma2_map_flag; // u(1)
|
||||||
int slice_pic_order_cnt_lsb; // u(v)
|
uint16_t slice_pic_order_cnt_lsb; // u(v)
|
||||||
|
|
||||||
// @note
|
// @note
|
||||||
// Currently the structure does not reflect the entire Slice Header RBSP layout.
|
// Currently the structure does not reflect the entire Slice Header RBSP layout.
|
||||||
|
Reference in New Issue
Block a user