On 09/06/16 17:12, Diego Biurrun wrote: > From: Alexandra Hájková <[email protected]> > > --- > libavcodec/dxva2_h264.c | 3 ++- > libavcodec/dxva2_mpeg2.c | 14 ++++++++------ > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c > index e2e987d..281134c 100644 > --- a/libavcodec/dxva2_h264.c > +++ b/libavcodec/dxva2_h264.c > @@ -20,6 +20,7 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > */ > > +#include "bitstream.h" > #include "h264.h" > #include "h264data.h" > #include "mpegutils.h" > @@ -230,7 +231,7 @@ static void fill_slice_long(AVCodecContext *avctx, > DXVA_Slice_H264_Long *slice, > > slice->first_mb_in_slice = (sl->mb_y >> FIELD_OR_MBAFF_PICTURE(h)) * > h->mb_width + sl->mb_x; > slice->NumMbsForSlice = 0; /* XXX it is set once we have all > slices */ > - slice->BitOffsetToSliceData = get_bits_count(&sl->gb); > + slice->BitOffsetToSliceData = bitstream_tell(&sl->bc); > slice->slice_type = ff_h264_get_slice_type(sl); > if (sl->slice_type_fixed) > slice->slice_type += 5; > diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c > index 2d88f9b..4e32742 100644 > --- a/libavcodec/dxva2_mpeg2.c > +++ b/libavcodec/dxva2_mpeg2.c > @@ -21,6 +21,8 @@ > */ > > #include "libavutil/log.h" > + > +#include "bitstream.h" > #include "mpegutils.h" > #include "mpegvideo.h" > > @@ -130,7 +132,7 @@ static void fill_slice(AVCodecContext *avctx, > const uint8_t *buffer, unsigned size) > { > int is_field = s->picture_structure != PICT_FRAME; > - GetBitContext gb; > + BitstreamContext bc; > > memset(slice, 0, sizeof(*slice)); > slice->wHorizontalPosition = s->mb_x; > @@ -143,13 +145,13 @@ static void fill_slice(AVCodecContext *avctx, > slice->wNumberMBsInSlice = (s->mb_y >> is_field) * s->mb_width + > s->mb_x; > slice->wBadSliceChopping = 0; > > - init_get_bits(&gb, &buffer[4], 8 * (size - 4)); > + bitstream_init(&bc, &buffer[4], 8 * (size - 4)); > > - slice->wQuantizerScaleCode = get_bits(&gb, 5); > - while (get_bits1(&gb)) > - skip_bits(&gb, 8); > + slice->wQuantizerScaleCode = bitstream_read(&bc, 5); > + while (bitstream_read_bit(&bc)) > + bitstream_skip(&bc, 8); > > - slice->wMBbitOffset = 4 * 8 + get_bits_count(&gb); > + slice->wMBbitOffset = 4 * 8 + bitstream_tell(&bc); > } > static int commit_bitstream_and_slice_buffer(AVCodecContext *avctx, > DECODER_BUFFER_DESC *bs, >
Should be folded with the h264/hevc patch. lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
