Mercurial > libavcodec.hg
comparison mpeg12.c @ 1799:95612d423fde libavcodec
multithreaded/SMP motion estimation
multithreaded/SMP encoding for MPEG1/MPEG2/MPEG4/H263
all pthread specific code is in pthread.c
to try it, run configure --enable-pthreads and ffmpeg ... -threads <num>
the internal thread API is a simple AVCodecContext.execute() callback which executes a given function pointer with different arguments and returns after finishing all, that way no mutexes or other thread-mess is needed outside pthread.c
author | michael |
---|---|
date | Fri, 13 Feb 2004 17:54:10 +0000 |
parents | b7340afa261a |
children | 45a7f6690782 |
comparison
equal
deleted
inserted
replaced
1798:a3da4b429984 | 1799:95612d423fde |
---|---|
417 put_bits(&s->pb, 4, s->b_code); | 417 put_bits(&s->pb, 4, s->b_code); |
418 }else{ | 418 }else{ |
419 put_bits(&s->pb, 8, 255); | 419 put_bits(&s->pb, 8, 255); |
420 } | 420 } |
421 put_bits(&s->pb, 2, s->intra_dc_precision); | 421 put_bits(&s->pb, 2, s->intra_dc_precision); |
422 put_bits(&s->pb, 2, s->picture_structure= PICT_FRAME); | 422 |
423 assert(s->picture_structure == PICT_FRAME); | |
424 put_bits(&s->pb, 2, s->picture_structure); | |
423 if (s->progressive_sequence) { | 425 if (s->progressive_sequence) { |
424 put_bits(&s->pb, 1, 0); /* no repeat */ | 426 put_bits(&s->pb, 1, 0); /* no repeat */ |
425 } else { | 427 } else { |
426 put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first); | 428 put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first); |
427 } | 429 } |