]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ratecontrol.c
h264: reject unsupported 422 9 bit streams
[ffmpeg] / libavcodec / ratecontrol.c
index af8289e3128a513b0cab7efca91f2fb5e8b5b6da..41b7d97d32db358d13f490edd772c1b3c7c65a70 100644 (file)
@@ -861,11 +861,19 @@ static int init_pass2(MpegEncContext *s)
 
         /* find qscale */
         for(i=0; i<rcc->num_entries; i++){
+            RateControlEntry *rce= &rcc->entry[i];
             qscale[i]= get_qscale(s, &rcc->entry[i], rate_factor, i);
+            rcc->last_qscale_for[rce->pict_type] = qscale[i];
         }
         assert(filter_size%2==1);
 
         /* fixed I/B QP relative to P mode */
+        for(i=FFMAX(0, rcc->num_entries-300); i<rcc->num_entries; i++){
+            RateControlEntry *rce= &rcc->entry[i];
+
+            qscale[i]= get_diff_limited_q(s, rce, qscale[i]);
+        }
+
         for(i=rcc->num_entries-1; i>=0; i--){
             RateControlEntry *rce= &rcc->entry[i];