h264: Disallow w/h/pixfmt changes for frame threads.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Jan 2012 05:21:45 +0000 (06:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Jan 2012 14:36:38 +0000 (15:36 +0100)
Previously this was just checked in case of slice threads,
but frame threads do not support this either currently.

Making them support this is of course the long term goal

Fixes bug155

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264.c

index b65fdeb..2b18b06 100644 (file)
@@ -2727,7 +2727,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
             || s->avctx->bits_per_raw_sample != h->sps.bit_depth_luma
             || h->cur_chroma_format_idc != h->sps.chroma_format_idc
             || av_cmp_q(h->sps.sar, s->avctx->sample_aspect_ratio))) {
-        if(h != h0) {
+        if(h != h0 || (s->avctx->active_thread_type & FF_THREAD_FRAME)) {
             av_log_missing_feature(s->avctx, "Width/height/bit depth/chroma idc changing with threads is", 0);
             return -1;   // width / height changed during parallelized decoding
         }