Mesa (amdgpu): radeon/vce: clean up radeon_vce_40.2.2.c

Alex Deucher agd5f at kemper.freedesktop.org
Wed Jun 10 19:55:27 UTC 2015


Module: Mesa
Branch: amdgpu
Commit: 12e084b30a2d13dcd615405a5c2e5a6cd68886ac
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12e084b30a2d13dcd615405a5c2e5a6cd68886ac

Author: Leo Liu <leo.liu at amd.com>
Date:   Fri May 29 13:33:20 2015 -0400

radeon/vce: clean up radeon_vce_40.2.2.c

Change this file back to original release and only for v40.2.2

Signed-off-by: Leo Liu <leo.liu at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>

---

 src/gallium/drivers/radeon/radeon_vce.c        |    5 ----
 src/gallium/drivers/radeon/radeon_vce.h        |    1 -
 src/gallium/drivers/radeon/radeon_vce_40_2_2.c |   30 ++----------------------
 3 files changed, 2 insertions(+), 34 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c
index 964fa47..ce61639 100644
--- a/src/gallium/drivers/radeon/radeon_vce.c
+++ b/src/gallium/drivers/radeon/radeon_vce.c
@@ -401,8 +401,6 @@ struct pipe_video_codec *rvce_create_encoder(struct pipe_context *context,
 		enc->use_vm = true;
 	if ((rscreen->info.drm_major > 2) || (rscreen->info.drm_minor >= 42))
 		enc->use_vui = true;
-	if (rscreen->info.family >= CHIP_TONGA)
-		enc->use_2p = true;
 
 	enc->base = *templ;
 	enc->base.context = context;
@@ -442,9 +440,6 @@ struct pipe_video_codec *rvce_create_encoder(struct pipe_context *context,
 	cpb_size = cpb_size * align(tmp_surf->npix_y, 16);
 	cpb_size = cpb_size * 3 / 2;
 	cpb_size = cpb_size * enc->cpb_num;
-	if (enc->use_2p)
-		cpb_size +=  RVCE_MAX_AUX_BUFFER_NUM *
-			RVCE_MAX_BITSTREAM_OUTPUT_ROW_SIZE;
 	tmp_buf->destroy(tmp_buf);
 	if (!rvid_create_buffer(enc->screen, &enc->cpb, cpb_size, PIPE_USAGE_DEFAULT)) {
 		RVID_ERR("Can't create CPB buffer.\n");
diff --git a/src/gallium/drivers/radeon/radeon_vce.h b/src/gallium/drivers/radeon/radeon_vce.h
index 890930c..64f2872 100644
--- a/src/gallium/drivers/radeon/radeon_vce.h
+++ b/src/gallium/drivers/radeon/radeon_vce.h
@@ -105,7 +105,6 @@ struct rvce_encoder {
 	bool				use_vm;
 	unsigned			fw_ver;
 	bool				use_vui;
-	bool				use_2p;
 };
 
 /* CPB handling functions */
diff --git a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
index 234b2eb..71b5e89 100644
--- a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
+++ b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
@@ -44,8 +44,6 @@
 #include "radeon_video.h"
 #include "radeon_vce.h"
 
-#define FW_40_2_2 ((40 << 24) | (2 << 16) | (2 << 8))
-
 static const unsigned profiles[7] = { 66, 77, 88, 100, 110, 122, 244 };
 
 static void session(struct rvce_encoder *enc)
@@ -121,10 +119,6 @@ static void rate_control(struct rvce_encoder *enc)
 	RVCE_CS(0x00000000); // encBPicsDeltaQP
 	RVCE_CS(0x00000000); // encReferenceBPicsDeltaQP
 	RVCE_CS(0x00000000); // encRateControlReInitDisable
-	if (enc->fw_ver > FW_40_2_2) {
-		RVCE_CS(0x00000000); // encLCVBRInitQPFlag
-		RVCE_CS(0x00000000); // encLCVBRSATDBasedNonlinearBitBudgetFlag
-	}
 	RVCE_END();
 }
 
@@ -293,28 +287,8 @@ static void encode(struct rvce_encoder *enc)
 	RVCE_CS(enc->bs_size); // videoBitstreamRingSize
 	RVCE_END();
 
-	if (enc->use_2p) {
-		unsigned aux_offset = enc->cpb.res->buf->size -
-			RVCE_MAX_AUX_BUFFER_NUM * RVCE_MAX_BITSTREAM_OUTPUT_ROW_SIZE;
-		RVCE_BEGIN(0x05000002); // auxiliary buffer
-		for (i = 0; i < 4; ++i) {
-			RVCE_CS(aux_offset);
-			aux_offset += RVCE_MAX_BITSTREAM_OUTPUT_ROW_SIZE;
-		}
-		for (i = 0; i < 4; ++i)
-			RVCE_CS(0x00000000);
-		for (i = 0; i < 4; ++i)
-			RVCE_CS(RVCE_MAX_BITSTREAM_OUTPUT_ROW_SIZE);
-		for (i = 0; i < 4; ++i)
-			RVCE_CS(0x00000000);
-		RVCE_END();
-	}
-
 	RVCE_BEGIN(0x03000001); // encode
-	if ((enc->fw_ver > FW_40_2_2) && (!enc->pic.frame_num))
-		RVCE_CS(0x00000011); // insertHeaders
-	else
-		RVCE_CS(0x00000000); // insertHeaders
+	RVCE_CS(0x00000000); // insertHeaders
 	RVCE_CS(0x00000000); // pictureStructure
 	RVCE_CS(enc->bs_size); // allowedMaxBitstreamSize
 	RVCE_CS(0x00000000); // forceRefreshMap
@@ -328,7 +302,7 @@ static void encode(struct rvce_encoder *enc)
 	RVCE_CS(align(enc->luma->npix_y, 16)); // encInputFrameYPitch
 	RVCE_CS(enc->luma->level[0].pitch_bytes); // encInputPicLumaPitch
 	RVCE_CS(enc->chroma->level[0].pitch_bytes); // encInputPicChromaPitch
-	RVCE_CS(0x00000000); // encInputPic(Addr|Array)Mode,encDisable(TwoPipeMode|MBOffloading)
+	RVCE_CS(0x00000000); // encInputPic(Addr|Array)Mode
 	RVCE_CS(0x00000000); // encInputPicTileConfig
 	RVCE_CS(enc->pic.picture_type); // encPicType
 	RVCE_CS(enc->pic.picture_type == PIPE_H264_ENC_PICTURE_TYPE_IDR); // encIdrFlag




More information about the mesa-commit mailing list