Mesa (master): radeon/vce: implement h264 profile support

Christian König deathsimple at kemper.freedesktop.org
Wed Jun 4 15:30:54 UTC 2014


Module: Mesa
Branch: master
Commit: e074f8200e5c1e1921550c4159edbd644bc94f70
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e074f8200e5c1e1921550c4159edbd644bc94f70

Author: Leo Liu <leo.liu at amd.com>
Date:   Fri May 30 15:57:28 2014 -0400

radeon/vce: implement h264 profile support

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_40_2_2.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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 3010c5b..c67f8f9 100644
--- a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
+++ b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
@@ -44,6 +44,8 @@
 #include "radeon_video.h"
 #include "radeon_vce.h"
 
+static const unsigned profiles[7] = { 66, 77, 88, 100, 110, 122, 244 };
+
 static struct rvce_cpb_slot *current_slot(struct rvce_encoder *enc)
 {
 	return LIST_ENTRY(struct rvce_cpb_slot, enc->cpb_slots.prev, list);
@@ -104,7 +106,8 @@ static void create(struct rvce_encoder *enc)
 
 	RVCE_BEGIN(0x01000001); // create cmd
 	RVCE_CS(0x00000000); // encUseCircularBuffer
-	RVCE_CS(0x0000004d); // encProfile: Main
+	RVCE_CS(profiles[enc->base.profile -
+		PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE]); // encProfile
 	RVCE_CS(0x0000002a); // encLevel: 4.2
 	RVCE_CS(0x00000000); // encPicStructRestriction
 	RVCE_CS(enc->base.width); // encImageWidth




More information about the mesa-commit mailing list