On Thu, Jul 16, 2020 at 5:23 AM Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> wrote: > > The H.264 specification requires in its "Slice header semantics" > section that the following values shall be the same in all slice headers: > > pic_parameter_set_id > frame_num > field_pic_flag > bottom_field_flag > idr_pic_id > pic_order_cnt_lsb > delta_pic_order_cnt_bottom > delta_pic_order_cnt[ 0 ] > delta_pic_order_cnt[ 1 ] > sp_for_switch_flag > slice_group_change_cycle > > and can therefore be moved to the per-frame decode parameters control. I am really not a H.264 expert, so this question may not be relevant, but are these values specified for every slice header in the bitstream, or are they specified only once per frame? I am asking this because it would certainly make user-space code simpler if we could remain as close to the bitstream as possible. If these values are specified once per slice, then factorizing them would leave user-space with the burden of deciding what to do if they change across slices. Note that this is a double-edged sword, because it is not necessarily better to leave the firmware in charge of deciding what to do in such a case. :) So hopefully these are only specified once per frame in the bitstream, in which case your proposal makes complete sense.