comparison h264.c @ 7318:cd231f79c52b libavcodec

Try to fix my latest 100l fate SVQ3 breakage.
author michael
date Sat, 19 Jul 2008 12:21:09 +0000
parents c010b69e12eb
children 927ac918cddb
comparison
equal deleted inserted replaced
7317:c010b69e12eb 7318:cd231f79c52b
2257 /* some macroblocks will be accessed before they're available */ 2257 /* some macroblocks will be accessed before they're available */
2258 if(FRAME_MBAFF || s->avctx->thread_count > 1) 2258 if(FRAME_MBAFF || s->avctx->thread_count > 1)
2259 memset(h->slice_table, -1, (s->mb_height*s->mb_stride-1) * sizeof(uint8_t)); 2259 memset(h->slice_table, -1, (s->mb_height*s->mb_stride-1) * sizeof(uint8_t));
2260 2260
2261 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1; 2261 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1;
2262 s->current_picture_ptr->reference= 0; 2262
2263 // We mark the current picture as non reference after allocating it, so
2264 // that if we break out due to an error it can be released automatically
2265 // in the next MPV_frame_start().
2266 // SVQ3 as well as most other codecs have only last/next/current and thus
2267 // get released even with set reference, besides SVQ3 and others do not
2268 // mark frames as reference later "naturally".
2269 if(s->codec_id != CODEC_ID_SVQ3)
2270 s->current_picture_ptr->reference= 0;
2263 return 0; 2271 return 0;
2264 } 2272 }
2265 2273
2266 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int simple){ 2274 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int simple){
2267 MpegEncContext * const s = &h->s; 2275 MpegEncContext * const s = &h->s;