On Sat, Aug 22, 2020 at 11:39 PM Jan Ekström <jee...@gmail.com> wrote: > > Validates the set channel layout as well as verifies that the received > layout to the function matches the reference layout, so that it matches > the implemented re-ordering logic. > > Fixes #8845 > --- > libavcodec/aacdec_template.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c > index 9f7016790e..6473de4ee9 100644 > --- a/libavcodec/aacdec_template.c > +++ b/libavcodec/aacdec_template.c > @@ -266,6 +266,7 @@ static int count_paired_channels(uint8_t > (*layout_map)[3], int tags, int pos, > return num_pos_channels; > } > > +#define PREFIX_FOR_22POINT2 > (AV_CH_LAYOUT_7POINT1_WIDE_BACK|AV_CH_BACK_CENTER|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_LOW_FREQUENCY_2) > static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int tags) > { > int i, n, total_non_cc_elements; > @@ -402,46 +403,60 @@ static uint64_t sniff_channel_order(uint8_t > (*layout_map)[3], int tags) > } > > // The previous checks would end up at 8 at this point for 22.2 > - if (tags == 16 && i == 8) { > + if (layout == PREFIX_FOR_22POINT2 && tags == 16 && i == 8) { > + const uint8_t (*reference_layout_map)[3] = > aac_channel_layout_map[12]; > + for (int j = 0; j < tags; j++) { > + if (layout_map[j][0] != reference_layout_map[j][0] || > + layout_map[j][2] != reference_layout_map[j][2]) > + goto end_of_layout_definition; > + } > + > e2c_vec[i] = (struct elem_to_channel) { > .av_position = AV_CH_TOP_FRONT_CENTER, > .syn_ele = layout_map[i][0], > .elem_id = layout_map[i][1], > .aac_position = layout_map[i][2] > }; layout |= e2c_vec[i].av_position; i++; > +
These new newlines are extraneous now that the checks before each assignment are gone. I don't really care either way at this point, but I did just locally clean them up - to just make the diff smaller (and to only contain the bit that matters). Jan _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".