summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2014-05-30 15:57:28 -0400
committerChristian König <[email protected]>2014-06-04 17:24:42 +0200
commite074f8200e5c1e1921550c4159edbd644bc94f70 (patch)
tree08ae492a8f85fc9e6ce1559405ae1b48018f7445
parentf588b80bbaa6aa69416f34a54364cc08c9f0636a (diff)
radeon/vce: implement h264 profile support
Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/radeon_vce_40_2_2.c5
1 files changed, 4 insertions, 1 deletions
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 3010c5b9139..c67f8f9b2a8 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