From: Boyuan Zhang Date: Tue, 7 Nov 2017 21:20:05 +0000 (-0500) Subject: radeon/vcn: add encode bitstream X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=47443bc9f054a31b1ba92890a25655953116e080;p=mesa.git radeon/vcn: add encode bitstream Add implementation for encode_bitstream interface for vcn encode. Signed-off-by: Boyuan Zhang Acked-by: Christian König --- diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c b/src/gallium/drivers/radeon/radeon_vcn_enc.c index 0a2c5d86de2..f78672a1b1a 100644 --- a/src/gallium/drivers/radeon/radeon_vcn_enc.c +++ b/src/gallium/drivers/radeon/radeon_vcn_enc.c @@ -155,7 +155,19 @@ static void radeon_enc_encode_bitstream(struct pipe_video_codec *encoder, struct pipe_resource *destination, void **fb) { - /* TODO*/ + struct radeon_encoder *enc = (struct radeon_encoder*)encoder; + enc->get_buffer(destination, &enc->bs_handle, NULL); + enc->bs_size = destination->width0; + + *fb = enc->fb = CALLOC_STRUCT(rvid_buffer); + + if (!si_vid_create_buffer(enc->screen, enc->fb, 4096, PIPE_USAGE_STAGING)) { + RVID_ERR("Can't create feedback buffer.\n"); + return; + } + + enc->need_feedback = true; + enc->encode(enc); } static void radeon_enc_end_frame(struct pipe_video_codec *encoder,