aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-08-04 22:32:41 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-08-04 22:32:41 +0000
commit7762cc3dd4ee98e81c7c383f0ebe59a20de39d12 (patch)
tree6a1482225eaf427ee6a0c600d72ece02c215051b /libavcodec/h264.c
parent354de1d0b5df3b832491b00cbdfc34943033a3ab (diff)
downloadffmpeg-7762cc3dd4ee98e81c7c383f0ebe59a20de39d12.tar.gz
Fill ref_count/ref_poc for both fields of frames.
Originally committed as revision 14540 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r--libavcodec/h264.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 7eb3cd7386..f66b4925f5 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -926,6 +926,10 @@ static inline void direct_ref_list_init(H264Context * const h){
for(j=0; j<h->ref_count[list]; j++)
cur->ref_poc[sidx][list][j] = h->ref_list[list][j].poc;
}
+ if(s->picture_structure == PICT_FRAME){
+ memcpy(cur->ref_count[0], cur->ref_count[1], sizeof(cur->ref_count[0]));
+ memcpy(cur->ref_poc [0], cur->ref_poc [1], sizeof(cur->ref_poc [0]));
+ }
if(cur->pict_type != FF_B_TYPE || h->direct_spatial_mv_pred)
return;
for(list=0; list<2; list++){