mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
codecs: h264: Save the field_pic_flag
This flag is set when the stream is interlaced and the specific slice is made of single parity fields rather the paired at the macroblock layer. This is rarely needed in late decoding process but the Rockchip RKVDEC HW interface requires it, hence needs to be passed through V4L2 Stateless interface. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
This commit is contained in:
parent
924574a608
commit
104ae1b2e6
2 changed files with 4 additions and 0 deletions
|
@ -823,6 +823,7 @@ gst_h264_decoder_split_frame (GstH264Decoder * self, GstH264Picture * picture)
|
|||
other_field->ref = picture->ref;
|
||||
other_field->nonexisting = picture->nonexisting;
|
||||
other_field->system_frame_number = picture->system_frame_number;
|
||||
other_field->field_pic_flag = picture->field_pic_flag;
|
||||
|
||||
return other_field;
|
||||
}
|
||||
|
@ -1515,6 +1516,8 @@ gst_h264_decoder_fill_picture_from_slice (GstH264Decoder * self,
|
|||
|
||||
picture->idr = slice->nalu.idr_pic_flag;
|
||||
picture->dec_ref_pic_marking = slice_hdr->dec_ref_pic_marking;
|
||||
picture->field_pic_flag = slice_hdr->field_pic_flag;
|
||||
|
||||
if (picture->idr)
|
||||
picture->idr_pic_id = slice_hdr->idr_pic_id;
|
||||
|
||||
|
|
|
@ -142,6 +142,7 @@ struct _GstH264Picture
|
|||
gint nal_ref_idc;
|
||||
gboolean idr;
|
||||
gint idr_pic_id;
|
||||
gboolean field_pic_flag;
|
||||
GstH264PictureReference ref;
|
||||
/* Whether a reference picture. */
|
||||
gboolean ref_pic;
|
||||
|
|
Loading…
Reference in a new issue