Mercurial > libavcodec.hg
comparison h264.h @ 5642:d2598034f2a9 libavcodec
Add slice-based parallel H.264 decoding
Patch by Andreas ªÓman % andreas A olebyn P nu %
NB: depends on having a thread library activated at config time, and on
having a source encoded with multiple slices
Original threads:
date: May 18, 2007 11:00 PM
subject: [FFmpeg-devel] Parallelized h264 proof-of-concept
date: Jun 15, 2007 10:10 PM
subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)
date: Jun 25, 2007 7:02 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized
author | gpoirier |
---|---|
date | Wed, 05 Sep 2007 16:18:15 +0000 |
parents | 4a26dc4ca11d |
children | b45894d869da |
comparison
equal
deleted
inserted
replaced
5641:1e93e637fa21 | 5642:d2598034f2a9 |
---|---|
378 const uint8_t *field_scan_q0; | 378 const uint8_t *field_scan_q0; |
379 const uint8_t *field_scan8x8_q0; | 379 const uint8_t *field_scan8x8_q0; |
380 const uint8_t *field_scan8x8_cavlc_q0; | 380 const uint8_t *field_scan8x8_cavlc_q0; |
381 | 381 |
382 int x264_build; | 382 int x264_build; |
383 | |
384 /** | |
385 * @defgroup multithreading Members for slice based multithreading | |
386 * @{ | |
387 */ | |
388 struct H264Context *thread_context[MAX_THREADS]; | |
389 | |
390 /** | |
391 * current slice number, used to initalize slice_num of each thread/context | |
392 */ | |
393 int current_slice; | |
394 | |
395 /** | |
396 * Max number of threads / contexts. | |
397 * This is equal to AVCodecContext.thread_count unless | |
398 * multithreaded decoding is impossible, in which case it is | |
399 * reduced to 1. | |
400 */ | |
401 int max_contexts; | |
402 | |
403 /** | |
404 * 1 if the single thread fallback warning has already been | |
405 * displayed, 0 otherwise. | |
406 */ | |
407 int single_decode_warning; | |
408 | |
409 int last_slice_type; | |
410 /** @} */ | |
411 | |
383 }H264Context; | 412 }H264Context; |
384 | 413 |
385 #endif /* H264_H */ | 414 #endif /* H264_H */ |