Module: libav
Branch: release/0.7
Commit: a2ae183a382f063c5403922b5151d865ce7252a2

Author:    Mans Rullgard <[email protected]>
Committer: Reinhard Tartler <[email protected]>
Date:      Wed May 30 04:04:54 2012 +0100

h264: allow cropping to AVCodecContext.width/height

Override the frame size from the SPS with AVCodecContext values
if the latter specify a size smaller by less than one macroblock.
This is required for correct cropping of MOV files from Canon cameras.

Signed-off-by: Mans Rullgard <[email protected]>
(cherry picked from commit 30f515091c323da59c0f1b533703dedca2f4b95d)

Conflicts:

        libavcodec/h264.c

---

 libavcodec/h264.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 90293f1..ac7eb20 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2605,6 +2605,12 @@ static int decode_slice_header(H264Context *h, 
H264Context *h0){
         s->height = s->avctx->height;
     }
 
+    if (FFALIGN(s->avctx->width,  16) == s->width &&
+        FFALIGN(s->avctx->height, 16) == s->height) {
+        s->width  = s->avctx->width;
+        s->height = s->avctx->height;
+    }
+
     if (s->context_initialized
         && (   s->width != s->avctx->width || s->height != s->avctx->height
             || av_cmp_q(h->sps.sar, s->avctx->sample_aspect_ratio))) {

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to