[Mesa-dev] [PATCH 7/8] drivers/radeonsi:create uvd hevc enc entry

James Zhu jamesz at amd.com
Tue Feb 6 20:10:13 UTC 2018


Updated in [Mesa-dev] [PATCH v2 0/8] The 2nd version for UVD HEVC encode


On 2018-02-06 08:56 AM, Leo Liu wrote:
> General comments:
>
> 1. The patch title: please refer to previous commits under the directory,
>
> https://cgit.freedesktop.org/mesa/mesa/log/src/gallium/drivers/radeon
>
> Normally either "radeon/uvd" or "radeonsi"
>
> Applies to changes on other directory.
>
> 2. Code style and indentation refer to:
>
> https://cgit.freedesktop.org/mesa/mesa/tree/docs/codingstyle.html
>
> 3. If you have changes on the initial version, you'd better to add v2, 
> v3. It's good practice in that way.
> please refer to lots of commits in Mesa.
>
> 4. Once you resend your v2 version, you'd better to add 
> "--in-reply-to="message-id", so that the newer patch will be in the 
> same thread with your initial patch.
>
>
> Leo
>
> On 02/05/2018 04:14 PM, James Zhu wrote:
>> Add UVD hevc encode pipe video codec creation entry
>>
>> Signed-off-by: James Zhu <James.Zhu at amd.com>
>> ---
>>   src/gallium/drivers/radeonsi/si_uvd.c | 15 ++++++++++++---
>>   1 file changed, 12 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_uvd.c 
>> b/src/gallium/drivers/radeonsi/si_uvd.c
>> index 64f2f8e..0dea60d 100644
>> --- a/src/gallium/drivers/radeonsi/si_uvd.c
>> +++ b/src/gallium/drivers/radeonsi/si_uvd.c
>> @@ -31,6 +31,8 @@
>>   #include "radeon/radeon_vce.h"
>>   #include "radeon/radeon_vcn_dec.h"
>>   #include "radeon/radeon_vcn_enc.h"
>> +#include "radeon/radeon_uvd_enc.h"
>> +#include "util/u_video.h"
>>     /**
>>    * creates an video buffer with an UVD compatible memory layout
>> @@ -146,9 +148,16 @@ struct pipe_video_codec 
>> *si_uvd_create_decoder(struct pipe_context *context,
>>       struct si_context *ctx = (struct si_context *)context;
>>       bool vcn = (ctx->b.family == CHIP_RAVEN) ? true : false;
>>   -    if (templ->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE)
>> -        return (vcn) ? radeon_create_encoder(context, templ, 
>> ctx->b.ws, si_vce_get_buffer) :
>> -               si_vce_create_encoder(context, templ, ctx->b.ws, 
>> si_vce_get_buffer);
>> +    if (templ->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE) {
>> +        if (vcn) {
>> +            radeon_create_encoder(context, templ, ctx->b.ws, 
>> si_vce_get_buffer);
>> +        } else {
>> +            if (u_reduce_video_profile(templ->profile) == 
>> PIPE_VIDEO_FORMAT_HEVC)
>> +                radeon_uvd_create_encoder(context, templ, ctx->b.ws, 
>> si_vce_get_buffer);
>> +            else
>> +                si_vce_create_encoder(context, templ, ctx->b.ws, 
>> si_vce_get_buffer);
>> +        }
>> +    }
>>         return (vcn) ?     radeon_create_decoder(context, templ) :
>>           si_common_uvd_create_decoder(context, templ, si_uvd_set_dtb);
>



More information about the mesa-dev mailing list