From: Boyuan Zhang
This patch enables variable bit-rate for vaapi encoding. According to va.h,
target bit-rate equals to maximum bit-rate multiplies by target_percentage.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/config.c | 2 +-
src/gallium/state_trackers/va/picture.c | 2
From: Boyuan Zhang
During dual instance encoding submission, if the second encode task and first
encode task have no reference dependency, e.g. p following with idr-frame,
there is a chance the second task will use for its reconstructed picture
buffer the same buffer used by first task for its re
From: Boyuan Zhang
cabac is only supported in the h264 main and higher profiles
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/state_trackers/va/picture.c
b/src/gallium/state_trackers/va/picture.c
index ea
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame rema
From: Boyuan Zhang
When using dual instance and rate control, driver needs to submit jobs either
in dual submissions or 2 consecutive single submissions to keep the pattern
constant for rate control
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c| 16 +++
From: Boyuan Zhang
When using dual instance and rate control, driver needs to submit jobs either
in dual submissions or 2 consecutive single submissions to keep the pattern
constant for rate control
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98005
Signed-off-by: Boyuan Zhang
---
src/
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame rema
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame rema
From: Boyuan Zhang
When using dual instance and rate control, driver needs to submit jobs either
in dual submissions or 2 consecutive single submissions to keep the pattern
constant for rate control
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98005
Signed-off-by: Boyuan Zhang
---
src/
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
The gop_size in rate control is the budget window for internal rate
control calculation, and shouldn't always equal to idr period. Define
a coefficient to let budget window contains a number of idr period for
proper rate control calculation. Adjust the number of i/p frame remai
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/va_private.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/state_trackers/va/va_private.h
b/src/gallium/state_trackers/va/va_private.h
index e9ccdbf..08e52fd 100644
--- a/src/gallium/state_tracke
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_uvd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/radeon/radeon_uvd.c
b/src/gallium/drivers/radeon/radeon_uvd.c
index d5d654a..228c20d 100644
--- a/src/gallium/drivers/radeon/radeon
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/auxiliary/util/u_video.h | 1 +
src/gallium/include/pipe/p_video_enums.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_video.h
b/src/gallium/auxiliary/util/u_video.h
index 7e743de..88af8f6 1
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/vdpau/vdpau_private.h | 4
1 file changed, 4 insertions(+)
diff --git a/src/gallium/state_trackers/vdpau/vdpau_private.h
b/src/gallium/state_trackers/vdpau/vdpau_private.h
index bcd4bb1..2780265 100644
--- a/sr
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index 0cb8e87..ab68039 10
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 11 ++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index 0b47af9..75e1891 100644
--- a
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 14 +-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index 51cef7f..053cf0e 100
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_video.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_video.c
b/src/gallium/drivers/radeon/radeon_video.c
index ea76ca1..4edd0a4 100644
--- a/src/galli
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index 053cf0e..a21deb1 100644
--- a/src
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index 437c2fc..51
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 292 ++--
1 file changed, 268 insertions(+), 24 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/include/pipe/p_video_state.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/include/pipe/p_video_state.h
b/src/gallium/include/pipe/p_video_state.h
index abd5d36..1d57165 100644
--- a/src/gallium/include/pipe/p_vid
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/state_trackers/va/picture.c
b/src/gallium/state_trackers/va/picture.c
index 7427b98..55ca16e 100644
--- a/src/gallium/state_trackers/va/pic
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_uvd.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_uvd.c
b/src/gallium/drivers/radeonsi/si_uvd.c
index 2fc5e30..09fdb23 100644
--- a/src/gallium/drivers/
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 82 -
1 file changed, 81 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index ab680
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 6 ++
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 121
2 files changed, 127 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.h
b/src/galliu
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 325
1 file changed, 325 insertions(+)
create mode 100644 src/gallium/drivers/radeon/radeon_vcn_enc.h
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.h
b/src/g
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/amd/common/ac_gpu_info.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 2e56012..b0c0a08 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/am
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 2d3f646..a14e6e3 100644
--- a/src/gallium/drivers/rade
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/Makefile.sources | 3 +
src/gallium/drivers/radeon/radeon_vcn_enc.c | 166 +
src/gallium/drivers/radeon/radeon_vcn_enc.h | 82
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c |
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index a21deb1..0cb8e87 1
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 234
1 file changed, 234 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
index 5170c67..c6
From: Boyuan Zhang
New ip info query is needed for vcn encode
Signed-off-by: Boyuan Zhang
---
src/amd/common/ac_gpu_info.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 2e56012..1962c96 100644
---
From: Boyuan Zhang
New ring type is needed for vcn encode
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 2d3f646..a14e6
From: Boyuan Zhang
Different from vce encoding, vcn encoding requires driver side to encode
bitstream header, such as pps, sps and slice header. pic_order_cnt_type
is a required variable when encoding both sps and slice header, therefore
we need to add this new variable here, and hold the value p
From: Boyuan Zhang
pic_order_cnt_type is a required variable when encoding both sps and
slice header, therefore we need to get this value from st, e.g. vaapi
interface, and then pass it to radeon driver for encoding headers.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture
From: Boyuan Zhang
New cs support is needed for vcn encode
Signed-off-by: Boyuan Zhang
---
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
From: Boyuan Zhang
Add a new header file for vcn encode interface
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.h | 325
1 file changed, 325 insertions(+)
create mode 100644 src/gallium/drivers/radeon/radeon_vcn_enc.h
diff --git a/src/
From: Boyuan Zhang
Add a skeleton pipe video interface and encode ib interface for video encode
on vcn hardware. Add function defines and structures for vcn encode. Update
Makefile.sources and meson.build with newly added files.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/Makefi
From: Boyuan Zhang
Since bitstream headers, e.g. sps, pps, slice, are encoded in driver side, we
need to add corresponding algorithms that required to generate those headers.
According to h.264 specs, signed/unsigned interger Exp-Golomb-coded syntax
element with left bit first (code_se and code_u
From: Boyuan Zhang
Add implementation for end_frame interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/gallium/drivers/rad
From: Boyuan Zhang
Implement encoding of sps, pps, and silce headers using the newly added h.264
header coding descriptors functions based on h.264 specs.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 234
1 file changed, 234 inserti
From: Boyuan Zhang
Add implementation for destroy interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/galliu
From: Boyuan Zhang
Add implementation for encode_bitstream interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 14 +-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src
From: Boyuan Zhang
Add implementation for create_encoder interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 82 -
1 file changed, 81 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn
From: Boyuan Zhang
Enable vcn encode by creating radeon_encoder for vcn.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_uvd.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_uvd.c
b/src/gallium/drivers/radeonsi/si_uvd.c
i
From: Boyuan Zhang
Add implementation for get_feedback interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b/src/ga
From: Boyuan Zhang
Add implementation for begin_frame interface for vcn encode.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c
b
From: Boyuan Zhang
Enable h.264 encode for vcn hardware (raven)
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_video.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_video.c
b/src/gallium/drivers/radeon/radeon_video.c
From: Boyuan Zhang
Implement required ibs and command buffer submission interfaces for vcn encode
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 292 ++--
1 file changed, 268 insertions(+), 24 deletions(-)
diff --git a/src/gallium/drivers
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vce.c | 25 +
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vce.c
b/src/gallium/drivers/radeon/radeon_vce.c
index 70c1e60..b97909f 100
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
tests/amdgpu/Makefile.am | 1 +
tests/amdgpu/amdgpu_test.c | 6 +
tests/amdgpu/amdgpu_test.h | 15 ++
tests/amdgpu/frame.h | 2 +-
tests/amdgpu/uvd_enc_tests.c | 500
tests/amdgpu/
From: Boyuan Zhang
Vaapi encode interface provides idr frame flags, where omx interface doesn't.
Therefore, change to use picture type to determine idr frame, which will
work for both interfaces.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 2 +-
1 file changed
From: Boyuan Zhang
Vaapi encode interface provides idr frame flags, where omx interface doesn't.
Therefore, change to use picture type to determine idr frame, which will
work for both interfaces.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
Reviewed-by: Christian König
---
src/gallium/dr
From: Boyuan Zhang
Remove is_idr flag, and use idr_pic_flag provided by vaapi directly
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/gallium/state_trackers/va/picture.c
b/src/gallium/stat
From: Boyuan Zhang
Remove is_idr flag since not being used anymore.
Signed-off-by: Boyuan Zhang
---
src/gallium/include/pipe/p_video_state.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/include/pipe/p_video_state.h
b/src/gallium/include/pipe/p_video_state.h
index 1d57165..5a
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
Vaapi encode interface provides idr frame flags, where omx interface doesn't.
Therefore, change to use picture type to determine idr frame, which will
work for both interfaces.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
Reviewed-by: Christian König
---
src/gallium/dr
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vce_52.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vce_52.c
b/src/gallium/drivers/radeon/radeon_vce_52.c
index 10bf718..a941c47 100644
--- a/src/gall
From: Boyuan Zhang
Remove is_idr flag since not being used anymore.
Signed-off-by: Boyuan Zhang
Reviewed-by: Christian König
---
src/gallium/include/pipe/p_video_state.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/include/pipe/p_video_state.h
b/src/gallium/include/pipe/p_v
From: Boyuan Zhang
Remove is_idr flag, and use idr_pic_flag provided by vaapi directly
Signed-off-by: Boyuan Zhang
Reviewed-by: Christian König
---
src/gallium/state_trackers/va/picture.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/gallium/state_trackers/va
From: Boyuan Zhang
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 dcd56ea..b7b309c 100644
--- a/src/gallium/drivers/radeon/rad
From: Boyuan Zhang
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_video.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_video.c
b/src/gallium/drivers/radeon/radeon_video.c
index 605a2c7..02e8dcf 100644
--- a/src/gallium
From: Boyuan Zhang
Previous bit-fields assignments are incorrect and will result certain mpeg4
decode failed due to wrong flag values. This patch fixes these assignments.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 18 +-
1 file changed, 9 inse
From: Boyuan Zhang
Previous bit-fields assignments are incorrect and will result certain mpeg4
decode failed due to wrong flag values. This patch fixes these assignments.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 18 +-
From: Boyuan Zhang
Previous bit-fields assignments are incorrect and will result certain mpeg4
decode failed due to wrong flag values. This patch fixes these assignments.
Cc: 18.0 18.1
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 18
From: Boyuan Zhang
All vce firmwares with major version greater than or equal to 53 are supported
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vce.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vce.c
b/src/galli
From: Boyuan Zhang
Add a new ring type for vcn jpeg.
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 10
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
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 28
src/gallium/drivers/radeon/radeon_vcn
From: Boyuan Zhang
Add VCN Jpeg decode interfaces and register defines.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_dec.h | 91 +
1 file changed, 91 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.h
b/src/gallium/driv
From: Boyuan Zhang
Add RING_VCN_JPEG for VCN Jpeg decode, and keep RING_VCN_DEC for other codecs.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c
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
---
src/gallium/drivers/radeon/radeon_vcn_dec.c | 30 -
src/gallium/drivers/radeon
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
Move the previous get_mjpeg_slice_header function from radeon/vcn to st/va.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 3 +
src/gallium/state_trackers/va/picture_mjpeg.c | 132 ++
src/gallium/state_trackers/va/va
From: Boyuan Zhang
Add vcn jpeg cs support, align cs by no-op.
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
inde
From: Boyuan Zhang
Enable vcn jpeg decode for raven.
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/sr
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
---
src/gallium/drivers/radeon/radeon_vcn_dec_jpeg.c | 73 +++-
1 file changed, 72 insertions(+), 1 deletion(-)
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
---
src/gallium/drivers/radeon/radeon_vcn_dec_jpeg.c | 46 +++-
1 file changed, 45 insertions(+), 1 deletion
From: Boyuan Zhang
Move the previous get_mjpeg_slice_header function from radeon/vcn to st/va.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_uvd.c | 136
1 file changed, 136 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_uvd.c
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
---
src/gallium/drivers/radeon/Makefile.sources | 1 +
src/gallium/drivers/radeon/meson.build | 1 +
src/galliu
From: Boyuan Zhang
Move the previous get_mjpeg_slice_heaeder function and eoi from
"radeon/vcn" to "st/va".
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/picture.c | 13 ++-
src/gallium/state_trackers/va/picture_mjpeg.c | 132 ++
src/gallium/state
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
---
src/gallium/drivers/radeon/Makefile.sources | 1 +
src/gallium/drivers/radeon/meson.build | 1 +
src/galliu
From: Boyuan Zhang
Move the previous get_mjpeg_slice_heaeder function and eoi from
"radeon/vcn" to "st/va".
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_uvd.c | 147
1 file changed, 147 deletions(-)
diff --git a/src/gallium/drivers/radeon/
From: Boyuan Zhang
Fix the wrong h264 profiles order. Previously, the constrained baseline was
added in between baseline and main profiles, which breaked the logic in
radeon/vce when converting from pipe_video_profile to profile_idc
Signed-off-by: Boyuan Zhang
---
src/gallium/include/pipe/p_vi
From: Boyuan Zhang
The previous array logic for converting pipe video profile to profile idc
relies on the order of pipe_video_profile enum defines. Adding new profile
to enum defines may break the logic. Therefore, it's better to use switch
helper function to acheive the same goal.
Signed-off-b
From: Boyuan Zhang
Previous patch missed a "return" when trying to modify the create encoder
function, which made the whole logic fail. Therefore, add the return back.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeonsi/si_uvd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
d
From: Boyuan Zhang
Picture profile might not be set in some cases. Therefore, better to use
the profile stored in encoder base.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc.c | 4 ++--
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 16
2 fi
From: Boyuan Zhang
Profile and entry point were missing in the picture structure.
Therefore, add them back.
Signed-off-by: Boyuan Zhang
Reviewed-by: Leo Liu
---
src/gallium/state_trackers/omx_bellagio/vid_enc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/state_trackers/o
From: Boyuan Zhang
Previous patch missed a "return" when trying to modify the create encoder
function, which made the whole logic fail. Therefore, add the return back.
Fixes: b38b208ff8886e799d6a2 "radeonsi:create uvd hevc enc entry"
Signed-off-by: Boyuan Zhang
Reviewed-by: Alex Deucher
Revie
From: Boyuan Zhang
Add entrypoint check for HEVC to differentiate decode and encode jobs.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/context.c | 22 --
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/gallium/state_trackers/va/context.c
From: Boyuan Zhang
Implement required ibs for vcn HEVC encode.
Signed-off-by: Boyuan Zhang
---
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/radeon_vcn_enc_1_2.c
b/src
From: Boyuan Zhang
Add HEVC encode interface
Signed-off-by: Boyuan Zhang
---
src/gallium/include/pipe/p_video_state.h | 100 +++
1 file changed, 100 insertions(+)
diff --git a/src/gallium/include/pipe/p_video_state.h
b/src/gallium/include/pipe/p_video_state.h
inde
From: Boyuan Zhang
Add HEVC picture desc, and add codec check when creating and destroying
context.
Signed-off-by: Boyuan Zhang
---
src/gallium/state_trackers/va/context.c| 26 ++
src/gallium/state_trackers/va/va_private.h | 1 +
2 files changed, 23 insertions(+),
From: Boyuan Zhang
Implement encoding of sps, pps, vps, aud, and slice headers for HEVC
based on HEVC specs.
Signed-off-by: Boyuan Zhang
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 348 +++-
1 file changed, 347 insertions(+), 1 deletion(-)
diff --git a/src/galliu
1 - 100 of 168 matches
Mail list logo