nouveau/video: update h264 picparm field names based on usage
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 7 Dec 2013 17:00:47 +0000 (12:00 -0500)
committerMaarten Lankhorst <maarten.lankhorst@canonical.com>
Mon, 9 Dec 2013 14:11:42 +0000 (15:11 +0100)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.0" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/nouveau_vp3_video_vp.c

index a0f5332..ad4a586 100644 (file)
@@ -118,10 +118,10 @@ struct h264_picparm_vp { // 700..a00
        uint32_t bucket_size; // 28 bucket size
        uint32_t inter_ring_data_size; // 2c
 
-       unsigned f0 : 1; // 0 0x01: into 640 shifted by 3, 540 shifted by 5, half size something?
-       unsigned f1 : 1; // 1 0x02: into vuc ofs 56
+       unsigned mb_adaptive_frame_field_flag : 1; // 0
+       unsigned direct_8x8_inference_flag : 1; // 1 0x02: into vuc ofs 56
        unsigned weighted_pred_flag : 1; // 2 0x04
-       unsigned f3 : 1; // 3 0x08: into vuc ofs 68
+       unsigned constrained_intra_pred_flag : 1; // 3 0x08: into vuc ofs 68
        unsigned is_reference : 1; // 4
        unsigned interlace : 1; // 5 field_pic_flag
        unsigned bottom_field_flag : 1; // 6
@@ -144,15 +144,13 @@ struct h264_picparm_vp { // 700..a00
        uint32_t field_order_cnt[2]; // 38, 3c
 
        struct { // 40
-               // 0x00223102
-               // nfi (needs: top_is_reference, bottom_is_reference, is_long_term, maybe some other state that was saved..
                unsigned fifo_idx : 7; // 00 0..6
                unsigned tmp_idx : 5; // 00 7..11
-               unsigned unk12 : 1; // 00 12 not seen yet, but set, maybe top_is_reference
-               unsigned unk13 : 1; // 00 13 not seen yet, but set, maybe bottom_is_reference?
+               unsigned top_is_reference : 1; // 00 12
+               unsigned bottom_is_reference : 1; // 00 13
                unsigned unk14 : 1; // 00 14 skipped?
                unsigned notseenyet : 1; // 00 15 pad?
-               unsigned unk16 : 1; // 00 16
+               unsigned field_pic_flag : 1; // 00 16
                unsigned unk17 : 4; // 00 17..20
                unsigned unk21 : 4; // 00 21..24
                unsigned pad : 7; // 00 d25..31
@@ -340,10 +338,10 @@ nouveau_vp3_fill_picparm_h264_vp(struct nouveau_vp3_decoder *dec,
    nouveau_vp3_inter_sizes(dec, 1, &ring, &h->bucket_size, &h->inter_ring_data_size);
 
    h->u220 = 0;
-   h->f0 = d->pps->sps->mb_adaptive_frame_field_flag;
-   h->f1 = d->pps->sps->direct_8x8_inference_flag;
+   h->mb_adaptive_frame_field_flag = d->pps->sps->mb_adaptive_frame_field_flag;
+   h->direct_8x8_inference_flag = d->pps->sps->direct_8x8_inference_flag;
    h->weighted_pred_flag = d->pps->weighted_pred_flag;
-   h->f3 = d->pps->constrained_intra_pred_flag;
+   h->constrained_intra_pred_flag = d->pps->constrained_intra_pred_flag;
    h->is_reference = d->is_reference;
    h->interlace = d->field_pic_flag;
    h->bottom_field_flag = d->bottom_field_flag;
@@ -376,12 +374,12 @@ nouveau_vp3_fill_picparm_h264_vp(struct nouveau_vp3_decoder *dec,
       h->refs[j].field_order_cnt[1] = d->field_order_cnt_list[i][1];
       h->refs[j].frame_idx = d->frame_num_list[i];
       if (!dec->refs[refs[j]->valid_ref].field_pic_flag) {
-         h->refs[j].unk12 = d->top_is_reference[i];
-         h->refs[j].unk13 = d->bottom_is_reference[i];
+         h->refs[j].top_is_reference = d->top_is_reference[i];
+         h->refs[j].bottom_is_reference = d->bottom_is_reference[i];
       }
       h->refs[j].unk14 = 0;
       h->refs[j].notseenyet = 0;
-      h->refs[j].unk16 = dec->refs[refs[j]->valid_ref].field_pic_flag;
+      h->refs[j].field_pic_flag = dec->refs[refs[j]->valid_ref].field_pic_flag;
       h->refs[j].unk17 = dec->refs[refs[j]->valid_ref].decoded_top &&
                          d->top_is_reference[i];
       h->refs[j].unk21 = dec->refs[refs[j]->valid_ref].decoded_bottom &&
@@ -395,7 +393,7 @@ nouveau_vp3_fill_picparm_h264_vp(struct nouveau_vp3_decoder *dec,
    assert(d->num_ref_frames <= dec->base.max_references);
 
    for (; i < d->num_ref_frames; ++i)
-      h->refs[j].unk16 = d->field_pic_flag;
+      h->refs[j].field_pic_flag = d->field_pic_flag;
    *(struct h264_picparm_vp *)map = *h;
 
    return 0x1113;