On 09/02/18 20:35, James Zhu wrote: > Implement required IBs for UVD HEVC encode. > > Signed-off-by: James Zhu <james....@amd.com> > --- > src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c | 1115 > +++++++++++++++++++++++ > 1 file changed, 1115 insertions(+) > create mode 100644 src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c > > diff --git a/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c > b/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c > new file mode 100644 > index 0000000..2b8156e > --- /dev/null > +++ b/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c > @@ -0,0 +1,1115 @@ > ... > + > +static void > +radeon_uvd_enc_emulation_prevention(struct radeon_uvd_encoder *enc, > + unsigned char byte) > +{ > + if (enc->emulation_prevention) { > + if ((enc->num_zeros >= 2) > + && ((byte == 0x00) || (byte == 0x01) || (byte == 0x03))) {
Shouldn't { 0, 0, 2 } also trigger emulation prevention? Or am I not understanding what this function does? > + radeon_uvd_enc_output_one_byte(enc, 0x03); > + enc->bits_output += 8; > + enc->num_zeros = 0; > + } > + enc->num_zeros = (byte == 0 ? (enc->num_zeros + 1) : 0); > + } > +} > + > ... Thanks, - Mark _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev