comparison h264.c @ 2935:b564bb15e63c libavcodec

check MPV_frame_start() return value
author michael
date Wed, 09 Nov 2005 11:29:29 +0000
parents 16d67170715c
children e63bbb945ebd
comparison
equal deleted inserted replaced
2934:6ade4702eb97 2935:b564bb15e63c
3087 } 3087 }
3088 3088
3089 return 0; 3089 return 0;
3090 } 3090 }
3091 3091
3092 static void frame_start(H264Context *h){ 3092 static int frame_start(H264Context *h){
3093 MpegEncContext * const s = &h->s; 3093 MpegEncContext * const s = &h->s;
3094 int i; 3094 int i;
3095 3095
3096 MPV_frame_start(s, s->avctx); 3096 if(MPV_frame_start(s, s->avctx) < 0)
3097 return -1;
3097 ff_er_frame_start(s); 3098 ff_er_frame_start(s);
3098 3099
3099 assert(s->linesize && s->uvlinesize); 3100 assert(s->linesize && s->uvlinesize);
3100 3101
3101 for(i=0; i<16; i++){ 3102 for(i=0; i<16; i++){
3113 * FIXME: redo bipred weight to not require extra buffer? */ 3114 * FIXME: redo bipred weight to not require extra buffer? */
3114 if(!s->obmc_scratchpad) 3115 if(!s->obmc_scratchpad)
3115 s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize); 3116 s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize);
3116 3117
3117 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1; 3118 // s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1;
3119 return 0;
3118 } 3120 }
3119 3121
3120 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize){ 3122 static inline void backup_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize){
3121 MpegEncContext * const s = &h->s; 3123 MpegEncContext * const s = &h->s;
3122 int i; 3124 int i;
4288 s->avctx->time_base= (AVRational){h->sps.num_units_in_tick, h->sps.time_scale}; 4290 s->avctx->time_base= (AVRational){h->sps.num_units_in_tick, h->sps.time_scale};
4289 } 4291 }
4290 } 4292 }
4291 4293
4292 if(h->slice_num == 0){ 4294 if(h->slice_num == 0){
4293 frame_start(h); 4295 if(frame_start(h) < 0)
4296 return -1;
4294 } 4297 }
4295 4298
4296 s->current_picture_ptr->frame_num= //FIXME frame_num cleanup 4299 s->current_picture_ptr->frame_num= //FIXME frame_num cleanup
4297 h->frame_num= get_bits(&s->gb, h->sps.log2_max_frame_num); 4300 h->frame_num= get_bits(&s->gb, h->sps.log2_max_frame_num);
4298 4301