[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec h264.c,1.112,1.113
Loren Merritt CVS
lorenm
Sun Apr 24 23:06:25 CEST 2005
- Previous message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec 4xm.c, 1.14, 1.15 lcl.c, 1.10, 1.11 h263.c, 1.274, 1.275 h264.c, 1.111, 1.112 mpeg12.c, 1.233, 1.234 faad.c, 1.6, 1.7 ffv1.c, 1.31, 1.32 flac.c, 1.17, 1.18 h263dec.c, 1.165, 1.166 huffyuv.c, 1.60, 1.61 rv10.c, 1.68, 1.69 snow.c, 1.57, 1.58 wmv2.c, 1.29, 1.30 motion_est.c, 1.103, 1.104 vc9.c, 1.17, 1.18 mpegvideo.c, 1.475, 1.476 error_resilience.c, 1.28, 1.29 msmpeg4.c, 1.85, 1.86 xvmcvideo.c, 1.10, 1.11 h261.c, 1.23, 1.24 ratecontrol.c, 1.47, 1.48 mpegvideo.h, 1.221, 1.222 avcodec.h, 1.390, 1.391
- Next message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec rv10.c,1.69,1.70
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
In directory mail:/var2/tmp/cvs-serv6483
Modified Files:
h264.c
Log Message:
fix ref comparison in B-frame deblocker ('unused' and 'unavailable' were treated as different)
Index: h264.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h264.c,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- h264.c 24 Apr 2005 17:21:08 -0000 1.112
+++ h264.c 24 Apr 2005 21:06:22 -0000 1.113
@@ -6079,6 +6079,10 @@
const int mb_xy= mb_x + mb_y*s->mb_stride;
int first_vertical_edge_done = 0;
int dir;
+ /* FIXME: A given frame may occupy more than one position in
+ * the reference list. So ref2frm should be populated with
+ * frame numbers, not indices. */
+ static const int ref2frm[18] = {-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
if (h->mb_aff_frame
// left mb is in picture
@@ -6110,13 +6114,10 @@
h->non_zero_count_cache[bn_idx] != 0 ) {
bS[i] = 2;
} else {
- /* FIXME: A given frame may occupy more than one position in
- * the reference list. So we should compare the frame numbers,
- * not the indices in the ref list. */
int l;
bS[i] = 0;
for( l = 0; l < 1 + (h->slice_type == B_TYPE); l++ ) {
- if( h->ref_cache[l][b_idx] != h->ref_cache[l][bn_idx] ||
+ if( ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] ||
ABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
ABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= 4 ) {
bS[i] = 1;
@@ -6249,13 +6250,10 @@
}
else
{
- /* FIXME: A given frame may occupy more than one position in
- * the reference list. So we should compare the frame numbers,
- * not the indices in the ref list. */
int l;
bS[i] = 0;
for( l = 0; l < 1 + (h->slice_type == B_TYPE); l++ ) {
- if( h->ref_cache[l][b_idx] != h->ref_cache[l][bn_idx] ||
+ if( ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] ||
ABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
ABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= 4 ) {
bS[i] = 1;
- Previous message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec 4xm.c, 1.14, 1.15 lcl.c, 1.10, 1.11 h263.c, 1.274, 1.275 h264.c, 1.111, 1.112 mpeg12.c, 1.233, 1.234 faad.c, 1.6, 1.7 ffv1.c, 1.31, 1.32 flac.c, 1.17, 1.18 h263dec.c, 1.165, 1.166 huffyuv.c, 1.60, 1.61 rv10.c, 1.68, 1.69 snow.c, 1.57, 1.58 wmv2.c, 1.29, 1.30 motion_est.c, 1.103, 1.104 vc9.c, 1.17, 1.18 mpegvideo.c, 1.475, 1.476 error_resilience.c, 1.28, 1.29 msmpeg4.c, 1.85, 1.86 xvmcvideo.c, 1.10, 1.11 h261.c, 1.23, 1.24 ratecontrol.c, 1.47, 1.48 mpegvideo.h, 1.221, 1.222 avcodec.h, 1.390, 1.391
- Next message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec rv10.c,1.69,1.70
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the ffmpeg-cvslog
mailing list