Skip to content
Snippets Groups Projects
Commit 488dba70 authored by Michael Niedermayer's avatar Michael Niedermayer
Browse files

Fix colocated map.

Originally committed as revision 21664 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent d88ea354
No related branches found
No related tags found
No related merge requests found
...@@ -71,7 +71,7 @@ static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field, ...@@ -71,7 +71,7 @@ static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field,
Picture * const ref1 = &h->ref_list[1][0]; Picture * const ref1 = &h->ref_list[1][0];
int j, old_ref, rfield; int j, old_ref, rfield;
int start= mbafi ? 16 : 0; int start= mbafi ? 16 : 0;
int end = mbafi ? 16+2*h->ref_count[list] : h->ref_count[list]; int end = mbafi ? 16+2*h->ref_count[0] : h->ref_count[0];
int interl= mbafi || s->picture_structure != PICT_FRAME; int interl= mbafi || s->picture_structure != PICT_FRAME;
/* bogus; fills in for missing frames */ /* bogus; fills in for missing frames */
...@@ -87,10 +87,10 @@ static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field, ...@@ -87,10 +87,10 @@ static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field,
poc= (poc&~3) + rfield + 1; poc= (poc&~3) + rfield + 1;
for(j=start; j<end; j++){ for(j=start; j<end; j++){
if(4*h->ref_list[list][j].frame_num + (h->ref_list[list][j].reference&3) == poc){ if(4*h->ref_list[0][j].frame_num + (h->ref_list[0][j].reference&3) == poc){
int cur_ref= mbafi ? (j-16)^field : j; int cur_ref= mbafi ? (j-16)^field : j;
map[list][2*old_ref + (rfield^field) + 16] = cur_ref; map[list][2*old_ref + (rfield^field) + 16] = cur_ref;
if(rfield == field) if(rfield == field || !interl)
map[list][old_ref] = cur_ref; map[list][old_ref] = cur_ref;
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment