mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	amdgpu/nv.c - Optimize code for video codec support structure
Optimized the code for codec info structure initialization Signed-off-by: Veerabadhran Gopalakrishnan <veerabadhran.gopalakrishnan@amd.com> Reviewed-by: James Zhu <James.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
							parent
							
								
									554398174d
								
							
						
					
					
						commit
						9075096b09
					
				
					 3 changed files with 56 additions and 350 deletions
				
			
		| 
						 | 
					@ -619,6 +619,13 @@ struct amdgpu_video_codec_info {
 | 
				
			||||||
	u32 max_level;
 | 
						u32 max_level;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define codec_info_build(type, width, height, level) \
 | 
				
			||||||
 | 
								 .codec_type = type,\
 | 
				
			||||||
 | 
								 .max_width = width,\
 | 
				
			||||||
 | 
								 .max_height = height,\
 | 
				
			||||||
 | 
								 .max_pixels_per_frame = height * width,\
 | 
				
			||||||
 | 
								 .max_level = level,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct amdgpu_video_codecs {
 | 
					struct amdgpu_video_codecs {
 | 
				
			||||||
	const u32 codec_count;
 | 
						const u32 codec_count;
 | 
				
			||||||
	const struct amdgpu_video_codec_info *codec_array;
 | 
						const struct amdgpu_video_codec_info *codec_array;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,32 +64,13 @@
 | 
				
			||||||
#include "smuio_v11_0.h"
 | 
					#include "smuio_v11_0.h"
 | 
				
			||||||
#include "smuio_v11_0_6.h"
 | 
					#include "smuio_v11_0_6.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define codec_info_build(type, width, height, level) \
 | 
					 | 
				
			||||||
			 .codec_type = type,\
 | 
					 | 
				
			||||||
			 .max_width = width,\
 | 
					 | 
				
			||||||
			 .max_height = height,\
 | 
					 | 
				
			||||||
			 .max_pixels_per_frame = height * width,\
 | 
					 | 
				
			||||||
			 .max_level = level,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static const struct amd_ip_funcs nv_common_ip_funcs;
 | 
					static const struct amd_ip_funcs nv_common_ip_funcs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Navi */
 | 
					/* Navi */
 | 
				
			||||||
static const struct amdgpu_video_codec_info nv_video_codecs_encode_array[] =
 | 
					static const struct amdgpu_video_codec_info nv_video_codecs_encode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs nv_video_codecs_encode =
 | 
					static const struct amdgpu_video_codecs nv_video_codecs_encode =
 | 
				
			||||||
| 
						 | 
					@ -101,55 +82,13 @@ static const struct amdgpu_video_codecs nv_video_codecs_encode =
 | 
				
			||||||
/* Navi1x */
 | 
					/* Navi1x */
 | 
				
			||||||
static const struct amdgpu_video_codec_info nv_video_codecs_decode_array[] =
 | 
					static const struct amdgpu_video_codec_info nv_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs nv_video_codecs_decode =
 | 
					static const struct amdgpu_video_codecs nv_video_codecs_decode =
 | 
				
			||||||
| 
						 | 
					@ -161,62 +100,14 @@ static const struct amdgpu_video_codecs nv_video_codecs_decode =
 | 
				
			||||||
/* Sienna Cichlid */
 | 
					/* Sienna Cichlid */
 | 
				
			||||||
static const struct amdgpu_video_codec_info sc_video_codecs_decode_array[] =
 | 
					static const struct amdgpu_video_codec_info sc_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs sc_video_codecs_decode =
 | 
					static const struct amdgpu_video_codecs sc_video_codecs_decode =
 | 
				
			||||||
| 
						 | 
					@ -228,80 +119,20 @@ static const struct amdgpu_video_codecs sc_video_codecs_decode =
 | 
				
			||||||
/* SRIOV Sienna Cichlid, not const since data is controlled by host */
 | 
					/* SRIOV Sienna Cichlid, not const since data is controlled by host */
 | 
				
			||||||
static struct amdgpu_video_codec_info sriov_sc_video_codecs_encode_array[] =
 | 
					static struct amdgpu_video_codec_info sriov_sc_video_codecs_encode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct amdgpu_video_codec_info sriov_sc_video_codecs_decode_array[] =
 | 
					static struct amdgpu_video_codec_info sriov_sc_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 8192 * 4352,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct amdgpu_video_codecs sriov_sc_video_codecs_encode =
 | 
					static struct amdgpu_video_codecs sriov_sc_video_codecs_encode =
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,20 +88,8 @@
 | 
				
			||||||
/* Vega, Raven, Arcturus */
 | 
					/* Vega, Raven, Arcturus */
 | 
				
			||||||
static const struct amdgpu_video_codec_info vega_video_codecs_encode_array[] =
 | 
					static const struct amdgpu_video_codec_info vega_video_codecs_encode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 2304,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 2304,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs vega_video_codecs_encode =
 | 
					static const struct amdgpu_video_codecs vega_video_codecs_encode =
 | 
				
			||||||
| 
						 | 
					@ -113,48 +101,12 @@ static const struct amdgpu_video_codecs vega_video_codecs_encode =
 | 
				
			||||||
/* Vega */
 | 
					/* Vega */
 | 
				
			||||||
static const struct amdgpu_video_codec_info vega_video_codecs_decode_array[] =
 | 
					static const struct amdgpu_video_codec_info vega_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs vega_video_codecs_decode =
 | 
					static const struct amdgpu_video_codecs vega_video_codecs_decode =
 | 
				
			||||||
| 
						 | 
					@ -166,55 +118,13 @@ static const struct amdgpu_video_codecs vega_video_codecs_decode =
 | 
				
			||||||
/* Raven */
 | 
					/* Raven */
 | 
				
			||||||
static const struct amdgpu_video_codec_info rv_video_codecs_decode_array[] =
 | 
					static const struct amdgpu_video_codec_info rv_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 4096, 4096, 0)},
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs rv_video_codecs_decode =
 | 
					static const struct amdgpu_video_codecs rv_video_codecs_decode =
 | 
				
			||||||
| 
						 | 
					@ -226,55 +136,13 @@ static const struct amdgpu_video_codecs rv_video_codecs_decode =
 | 
				
			||||||
/* Renoir, Arcturus */
 | 
					/* Renoir, Arcturus */
 | 
				
			||||||
static const struct amdgpu_video_codec_info rn_video_codecs_decode_array[] =
 | 
					static const struct amdgpu_video_codec_info rn_video_codecs_decode_array[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)},
 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)},
 | 
				
			||||||
		.max_width = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)},
 | 
				
			||||||
		.max_height = 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)},
 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
 | 
				
			||||||
		.max_level = 3,
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
 | 
				
			||||||
	},
 | 
						{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 5,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 52,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 4,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 186,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
 | 
					 | 
				
			||||||
		.max_width = 4096,
 | 
					 | 
				
			||||||
		.max_height = 4096,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9,
 | 
					 | 
				
			||||||
		.max_width = 8192,
 | 
					 | 
				
			||||||
		.max_height = 4352,
 | 
					 | 
				
			||||||
		.max_pixels_per_frame = 4096 * 4096,
 | 
					 | 
				
			||||||
		.max_level = 0,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct amdgpu_video_codecs rn_video_codecs_decode =
 | 
					static const struct amdgpu_video_codecs rn_video_codecs_decode =
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue