summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/omx
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-04-04 14:22:16 +0200
committerChristian König <christian.koenig@amd.com>2014-04-11 11:35:03 +0200
commitd7d41ce133fa7369f7a5ea12bfc971c5ecafb3ba (patch)
treef556cf9fdfbd67c8246141cdaffb46ae89ba4e41 /src/gallium/state_trackers/omx
parentee4439c562e88446b94fbb98e9d02ad105efc01e (diff)
downloadexternal_mesa3d-d7d41ce133fa7369f7a5ea12bfc971c5ecafb3ba.zip
external_mesa3d-d7d41ce133fa7369f7a5ea12bfc971c5ecafb3ba.tar.gz
external_mesa3d-d7d41ce133fa7369f7a5ea12bfc971c5ecafb3ba.tar.bz2
vl: add interface for H264 B-frame encoding
Signed-off-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'src/gallium/state_trackers/omx')
-rw-r--r--src/gallium/state_trackers/omx/vid_enc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/omx/vid_enc.c b/src/gallium/state_trackers/omx/vid_enc.c
index 8ec0439..080730b 100644
--- a/src/gallium/state_trackers/omx/vid_enc.c
+++ b/src/gallium/state_trackers/omx/vid_enc.c
@@ -769,11 +769,17 @@ static void enc_ControlPicture(omx_base_PortType *port,
if (!(priv->frame_num % OMX_VID_ENC_IDR_PERIOD_DEFAULT) || priv->force_pic_type.IntraRefreshVOP) {
picture->picture_type = PIPE_H264_ENC_PICTURE_TYPE_IDR;
+ picture->ref_idx_l0 = 0;
+ picture->ref_idx_l1 = 0;
priv->frame_num = 0;
- } else
+ } else {
picture->picture_type = PIPE_H264_ENC_PICTURE_TYPE_P;
+ picture->ref_idx_l0 = priv->frame_num - 1;
+ picture->ref_idx_l1 = 0;
+ }
picture->frame_num = priv->frame_num++;
+ picture->pic_order_cnt = picture->frame_num;
priv->force_pic_type.IntraRefreshVOP = OMX_FALSE;
}