Disable cropping for the brainfart case.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 30 Aug 2011 08:31:14 +0000 (10:31 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 30 Aug 2011 08:46:50 +0000 (10:46 +0200)
This fixes ticket #348 for the few users who have a playback application
that supports Sisvel 3D. The other 99% have to wait until FFmpeg
supports arbitrary cropping.

libavcodec/h264_ps.c

index fa99372..ba16e1c 100644 (file)
@@ -406,7 +406,14 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
             av_log(h->s.avctx, AV_LOG_ERROR, "insane cropping not completely supported, this could look slightly wrong ... (left: %d, top: %d)\n", sps->crop_left, sps->crop_top);
         }
         if(sps->crop_right >= crop_horizontal_limit || sps->crop_bottom >= crop_vertical_limit){
-            av_log(h->s.avctx, AV_LOG_ERROR, "brainfart cropping not supported, this could look slightly wrong ... (right: %d, bottom: %d)\n", sps->crop_right, sps->crop_bottom);
+            av_log(h->s.avctx, AV_LOG_ERROR, "brainfart cropping not supported, cropping disabled (right: %d, bottom: %d)\n", sps->crop_right, sps->crop_bottom);
+        /* It is very unlikely that partial cropping will make anybody happy.
+         * Not cropping at all fixes for example playback of Sisvel 3D streams
+         * in applications supporting Sisvel 3D. */
+        sps->crop_left  =
+        sps->crop_right =
+        sps->crop_top   =
+        sps->crop_bottom= 0;
         }
     }else{
         sps->crop_left  =