mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 04:20:08 +01:00
radeonsi:create uvd hevc enc entry
Add UVD hevc encode pipe video codec creation entry Signed-off-by: James Zhu <James.Zhu@amd.com> Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
This commit is contained in:
parent
e7d51e27ed
commit
b38b208ff8
1 changed files with 12 additions and 3 deletions
|
|
@ -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)
|
||||
return radeon_uvd_create_encoder(context, templ, ctx->b.ws, si_vce_get_buffer);
|
||||
else
|
||||
return 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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue