From: Boyuan Zhang
Add vcn encode interface for HEVC, and rename radeon_enc_h264_enc_pic
to radeon_enc_pic since radeon_enc_pic is used by both H264 and HEVC.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 82 -
1 file changed, 80 inse
From: Boyuan Zhang
Pass pipe_picture_desc instead of pipe_h264_enc_picture_desc so that
it can be used for different codecs. Add functions to handle picture
parameters that will be used for HEVC encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 73 ++
From: Boyuan Zhang
Implement HEVC encode functions based on VAAPI HEVC encode interface.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture_hevc_enc.c | 130 ++-
1 file changed, 125 insertions(+), 5 deletions(-)
diff --git a/src/gallium/state_trackers/va
From: Boyuan Zhang
Logics that related to dual instances encode should only be done for
H264, not other codecs.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 3 ++-
src/gallium/state_trackers/va/surface.c | 23 +--
2 files changed, 15 insertions
From: Boyuan Zhang
Move all H264 encode related functions into separate file. Similar to
VAAPI decode side, there will be separate file for each codec on encode
side as well.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/Makefile.sources | 1 +
src/gallium/state_trackers/va
From: Boyuan Zhang
Add a separate file for HEVC encode functions.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/Makefile.sources | 1 +
src/gallium/state_trackers/va/picture.c | 56 +--
src/gallium/state_trackers/va/picture_hevc_enc.c | 69 ++
From: Boyuan Zhang
Enable vcn encode for HEVC main profile on Raven.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_get.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_get.c
b/src/gallium/drivers/radeonsi/si_get.c
index
From: Boyuan Zhang
Create a list in decoder to store all render picture buffer pointers that
currently being used in reference picture lists.
During get message buffer call, check each pointer in render_pic_list[]
within given pic->ref[] list, remove pointer that no longer being used by
pic->ref
From: Boyuan Zhang
Create a list in decoder to store all render picture buffer pointers that
currently being used in reference picture lists.
During get message buffer call, check each pointer in render_pic_list[]
within given pic->ref[] list, remove pointer that no longer being used by
pic->ref
From: Boyuan Zhang
Add HEVC encode interface
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/include/pipe/p_video_state.h | 99
1 file changed, 99 insertions(+)
diff --git a/src/gallium/include/pipe/p_video_state.h
b/src/gallium/include
From: Boyuan Zhang
Pass pipe_picture_desc instead of pipe_h264_enc_picture_desc so that
it can be used for different codecs. Add functions to handle picture
parameters that will be used for HEVC encode.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/drivers/radeon/radeo
From: Boyuan Zhang
Add HEVC picture desc, and add codec check when creating and destroying
context.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/context.c| 26 ++
src/gallium/state_trackers/va/va_private.h | 1 +
2 files
From: Boyuan Zhang
Move all H264 encode related functions into separate file. Similar to
VAAPI decode side, there will be separate file for each codec on encode
side as well.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/Makefile.sources | 1 +
sr
From: Boyuan Zhang
Implement encoding of sps, pps, vps, aud, and slice headers for HEVC
based on HEVC specs.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 348 +++-
1 file changed, 347 insertions(+), 1 deletion(
From: Boyuan Zhang
Add vcn encode interface for HEVC, and rename radeon_enc_h264_enc_pic
to radeon_enc_pic since radeon_enc_pic is used by both H264 and HEVC.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 81 +++
From: Boyuan Zhang
Implement required ibs for vcn HEVC encode.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 267
1 file changed, 222 insertions(+), 45 deletions(-)
diff --git a/src/gallium/drivers/radeon/
From: Boyuan Zhang
Implement HEVC encode functions based on VAAPI HEVC encode interface.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/picture_hevc_enc.c | 150 ++-
1 file changed, 144 insertions(+), 6 deletions(-)
diff --git a/sr
From: Boyuan Zhang
Add a separate file for HEVC encode functions.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/Makefile.sources | 1 +
src/gallium/state_trackers/va/meson.build| 2 +-
src/gallium/state_trackers/va/picture.c | 31
From: Boyuan Zhang
Add entrypoint check for HEVC to differentiate decode and encode jobs.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/context.c | 22 --
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/gallium/
From: Boyuan Zhang
Enable vcn encode for HEVC main profile on Raven.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/drivers/radeonsi/si_get.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_get.c
b/src/gallium/driv
From: Boyuan Zhang
Logics that related to dual instances encode should only be done for
H264, not other codecs.
Signed-off-by: Boyuan Zhang
Acked-by: Christian König
---
src/gallium/state_trackers/va/picture.c | 3 ++-
src/gallium/state_trackers/va/surface.c | 23 +--
2 f
From: Boyuan
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vce.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_vce.c
b/src/gallium/drivers/radeon/radeon_vce.c
index b5f9bd0..39eb3fa 100644
--- a/src/gallium/drivers/radeon/radeon_vc
From: Boyuan Zhang
vlVaGetImage should respect the width, height, and coordinates x and y that
passed in. Therefore, pipe_box should be created with the passed in values
instead of surface width/height.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/image.c | 9 ++---
1 fil
From: Boyuan Zhang
vlVaGetImage should respect the width, height, and coordinates x and y that
passed in. Therefore, pipe_box should be created with the passed in values
instead of surface width/height.
v2: add input size check, return error when size out of bounds
Signed-off-by: Boyuan Zhang
From: Boyuan Zhang
vlVaGetImage should respect the width, height, and coordinates x and y that
passed in. Therefore, pipe_box should be created with the passed in values
instead of surface width/height.
v2: add input size check, return error when size out of bounds
v3: fix the size check for vai
From: Boyuan Zhang
vlVaGetImage should respect the width, height, and coordinates x and y that
passed in. Therefore, pipe_box should be created with the passed in values
instead of surface width/height.
v2: add input size check, return error when size out of bounds
v3: fix the size check for vai
From: Boyuan Zhang
VCN jpeg requires new hw ip
Signed-off-by: Boyuan Zhang
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 520948b051..5fd7d8510d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,7 +74,7 @@ AC_SUBST([OPEN
From: Boyuan Zhang
VCN jpeg requires new hw ip
Signed-off-by: Boyuan Zhang
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 002ce35a60..35e3e934a3 100644
--- a/meson.build
+++ b/meson.build
@@ -1108,7 +1108,7 @@ dep_libdrm_etna
From: Boyuan Zhang
Move radeon_decoder definition from "radeon_vcn_dec.c" to "radeon_vcn_dec.h",
so that it can be included by other files later.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 31
src/gallium/drivers/rad
From: Boyuan Zhang
Add a new ring type for vcn jpeg.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_winsys.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/radeon/radeon_winsys.h
b/src/gallium/drivers/radeon/radeon_winsys.h
ind
From: Boyuan Zhang
Add VCN Jpeg decode interfaces and register defines.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.h | 90 +
1 file changed, 90 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.h
b/sr
From: Boyuan Zhang
Add RING_VCN_JPEG for VCN Jpeg decode, and keep RING_VCN_DEC for other codecs.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/ra
From: Boyuan Zhang
Move the previous get_mjpeg_slice_heaeder function and eoi from
"radeon/vcn" to "st/va".
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/state_trackers/va/picture.c | 13 +-
src/gallium/state_trackers/va/picture_mjpeg.c | 142 ++
src/
From: Boyuan Zhang
Add a new file to handle VCN Jpeg decode specific functions. Use Jpeg
specific cmd sending function in end_frame call.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 21 ++--
src/gallium/drivers/radeon/radeon_vcn_dec.h
From: Boyuan Zhang
Use function pointer for sending cmd in end_frame call. By doing this, we can
assign different cmd sending logics for Jpeg decode later.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 29 +++--
src/gallium/
From: Boyuan Zhang
Implement jpeg bitstream buffer cmd by programming registers directly,
since there is no firmware for VCN Jpeg decode.
Signed-off-by: Boyuan Zhang
Acked-by: Leo Liu
---
.../drivers/radeon/radeon_vcn_dec_jpeg.c | 46 ++-
1 file changed, 45 insertions(+),
From: Boyuan Zhang
Move the previous get_mjpeg_slice_heaeder function and eoi from
"radeon/vcn" to "st/va".
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_uvd.c | 157
1 file changed, 157 deletions(-)
diff --git a/src/gallium/d
From: Boyuan Zhang
Implement jpeg target buffer cmd by programming registers directly,
since there is no firmware for VCN Jpeg decode.
Signed-off-by: Boyuan Zhang
Acked-by: Leo Liu
---
.../drivers/radeon/radeon_vcn_dec_jpeg.c | 73 ++-
1 file changed, 72 insertions(+), 1
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/amd/common/ac_gpu_info.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 766ad83547..8c50738c3f 100644
--- a/src/amd
From: Boyuan Zhang
Add vcn jpeg cs support, align cs by no-op.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 12
1 file changed, 12 insertions(+)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
b/src/gallium/winsys/amdgp
From: Boyuan Zhang
Enable vcn jpeg decode for raven.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeonsi/si_get.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_get.c
b/src/gallium/drivers/radeonsi/si_get.c
index a87cb3cbc8
From: Boyuan Zhang
Adding a function for converting h264 pipe video profile to profile idc
Signed-off-by: Boyuan Zhang
---
src/gallium/auxiliary/util/u_video.h | 24
1 file changed, 24 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_video.h
b/src/gallium/auxi
From: Boyuan Zhang
Use utility function for converting h264 pipe video profile to profile idc,
instead of using array.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vce_40_2_2.c | 5 +
src/gallium/drivers/radeon/radeon_vce_52.c | 5 +
2 files changed, 2 insertio
From: Boyuan Zhang
Use utility function for converting h264 pipe video profile to profile idc,
instead of using array.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeo
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/Makefile.sources | 1 +
src/gallium/drivers/radeon/meson.build | 1 +
src/gallium/drivers/radeon/radeon_vcn_jpeg.h | 116 +++
3 files changed, 118 insertions(+)
create mode 100644 s
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_jpeg.c | 41 ++--
1 file changed, 39 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
b/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
index 72
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_winsys.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/radeon/radeon_winsys.h
b/src/gallium/drivers/radeon/radeon_winsys.h
index 0a56539..6290eef 100644
--- a/src/gallium/drivers/rade
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 12
1 file changed, 12 insertions(+)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index a3feeb9..5092f49 100644
--- a/src/gallium/w
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/Makefile.sources | 1 +
src/gallium/drivers/radeon/meson.build | 1 +
src/gallium/drivers/radeon/radeon_vcn_jpeg.c | 212 +++
3 files changed, 214 insertions(+)
create mode 100644 s
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_jpeg.c | 286 ++-
1 file changed, 281 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
b/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
index c
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_uvd.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_uvd.c
b/src/gallium/drivers/radeonsi/si_uvd.c
index b6cb4cb..f0abc36 100644
--- a/src/gallium/driv
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/amd/common/ac_gpu_info.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 73fc362..a1db3b9 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_jpeg.c | 73 +++-
1 file changed, 72 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
b/src/gallium/drivers/radeon/radeon_vcn_jpeg.c
index f71
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_get.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_get.c
b/src/gallium/drivers/radeonsi/si_get.c
index fc2be33..de587bb 100644
--- a/src/gallium/drivers/radeonsi/si_get.c
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 2 ++
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 1 +
src/gallium/drivers/radeon/radeon_vcn_enc_2_0.c | 4 ++--
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/
From: Boyuan Zhang
The quantiser matrix that VAAPI provides has been applied with inverse z-scan.
However, what we expect in MPEG2 picture description is the original order.
Therefore, we need to reverse it back to its original order.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110257
From: Boyuan Zhang
Fix max poc value with hardcoded value until new feature requires
to change this in the future.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c
From: Boyuan Zhang
Fix max poc value with hardcoded value until new feature requires
to change this in the future.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_uvd_enc.c
From: Boyuan Zhang
MaxPicOrderCntLsb should be at 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
From: Boyuan Zhang
MaxPicOrderCntLsb should be at 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
From: Boyuan Zhang
MaxPicOrderCntLsb should be at least 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop
From: Boyuan Zhang
MaxPicOrderCntLsb should be at least 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop
From: Boyuan Zhang
MaxPicOrderCntLsb should be at least 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop
From: Boyuan Zhang
MaxPicOrderCntLsb should be at least 16 according to the spec,
therefore add minimum value check.
Also use poc value passed from st instead of calculation
in slice header encoding.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop
From: Boyuan Zhang
Set cu_qp_delta_enable_flag on when rate control is enabled, and it
off when no rate control is disabled (constant qp).
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/
From: Boyuan Zhang
Set cu_qp_delta_enable_flag on when rate control is enabled, and it
off when no rate control is disabled (constant qp).
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/
From: Boyuan Zhang
Set cu_qp_delta_enable_flag on when rate control is enabled, and set it
off when rate control is disabled (e.g. constant qp).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
V2: fix typo and add bugzilla info
Signed-off-by:
From: Boyuan Zhang
Set cu_qp_delta_enable_flag on when rate control is enabled, and set it
off when rate control is disabled (e.g. constant qp).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-sta...@lists.freedesktop.org
V2: fix typo and add bugzilla info
Signed-off-by:
101 - 168 of 168 matches
Mail list logo