mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 05:16:13 +00:00
h264: drop extra code covered by built-in codecparsers.
GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that a newer version of codecparsers/ are used if the system provided one is now recent enough to have those required extensions.
This commit is contained in:
parent
d42d838388
commit
26b7c46eda
1 changed files with 0 additions and 25 deletions
|
@ -1975,37 +1975,12 @@ decode_picture_end(GstVaapiDecoderH264 *decoder, GstVaapiPictureH264 *picture)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_GST_H264_SLICE_HDR_EPB_COUNT
|
|
||||||
static guint
|
|
||||||
get_epb_count(const guint8 *buf, guint buf_size, guint header_size)
|
|
||||||
{
|
|
||||||
guint i, n = 0;
|
|
||||||
|
|
||||||
if (buf_size > header_size)
|
|
||||||
buf_size = header_size;
|
|
||||||
|
|
||||||
for (i = 2; i < buf_size; i++) {
|
|
||||||
if (!buf[i - 2] && !buf[i - 1] && buf[i] == 0x03)
|
|
||||||
i += 2, n++;
|
|
||||||
}
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline guint
|
static inline guint
|
||||||
get_slice_data_bit_offset(GstH264SliceHdr *slice_hdr, GstH264NalUnit *nalu)
|
get_slice_data_bit_offset(GstH264SliceHdr *slice_hdr, GstH264NalUnit *nalu)
|
||||||
{
|
{
|
||||||
guint epb_count;
|
guint epb_count;
|
||||||
|
|
||||||
#ifdef HAVE_GST_H264_SLICE_HDR_EPB_COUNT
|
|
||||||
epb_count = slice_hdr->n_emulation_prevention_bytes;
|
epb_count = slice_hdr->n_emulation_prevention_bytes;
|
||||||
#else
|
|
||||||
epb_count = get_epb_count(
|
|
||||||
nalu->data + nalu->offset,
|
|
||||||
nalu->size,
|
|
||||||
slice_hdr->header_size / 8
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
return 8 /* nal_unit_type */ + slice_hdr->header_size - epb_count * 8;
|
return 8 /* nal_unit_type */ + slice_hdr->header_size - epb_count * 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue