Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  input_frame_validation.patch   Sprache: unbekannt

 
# HG changeset patch
# User Randell Jesup <rjesup@jesup.org>
# Parent  1b77af186da211485fa9c5573d843d96c708a829
Bug 1263384: validate input frames against configured resolution in vp8 r=rillian

MozReview-Commit-ID: BxDCnJe0mzs

diff --git a/vp8/vp8_cx_iface.c b/vp8/vp8_cx_iface.c
--- a/vp8/vp8_cx_iface.c
+++ b/vp8/vp8_cx_iface.c
@@ -989,20 +989,29 @@ static vpx_codec_err_t vp8e_encode(vpx_codec_alg_priv_t *ctx,
             &ctx->cpi->common.error, VPX_CODEC_INVALID_PARAM,
             "conversion of relative pts + duration to ticks would overflow");
       }
       dst_end_time_stamp =
           pts_end * ctx->timestamp_ratio.num / ctx->timestamp_ratio.den;

       res = image2yuvconfig(img, &sd);

-      if (vp8_receive_raw_frame(ctx->cpi, ctx->next_frame_flag | lib_flags, &sd,
-                                dst_time_stamp, dst_end_time_stamp)) {
-        VP8_COMP *cpi = (VP8_COMP *)ctx->cpi;
-        res = update_error_state(ctx, &cpi->common.error);
+      if (sd.y_width != ctx->cfg.g_w || sd.y_height != ctx->cfg.g_h) {
+        /* from vpx_encoder.h for g_w/g_h:
+           "Note that the frames passed as input to the encoder must have this
+           resolution"
+        */
+        ctx->base.err_detail = "Invalid input frame resolution";
+        res = VPX_CODEC_INVALID_PARAM;
+      } else {
+        if (vp8_receive_raw_frame(ctx->cpi, ctx->next_frame_flag | lib_flags,
+                                  &sd, dst_time_stamp, dst_end_time_stamp)) {
+          VP8_COMP *cpi = (VP8_COMP *)ctx->cpi;
+          res = update_error_state(ctx, &cpi->common.error);
+        }
       }

       /* reset for next frame */
       ctx->next_frame_flag = 0;
     }

     cx_data = ctx->cx_data;
     cx_data_sz = ctx->cx_data_sz;

[ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge