[02/13] rtpdec_jpeg: Merge two if statements

Message ID 1347363979-4676-2-git-send-email-martin@martin.st
State Committed
Commit 932d8300d38587ebc223e3bacc3c33ed68bf3cf6
Headers show

Commit Message

Martin Storsjö Sept. 11, 2012, 11:46 a.m.
This makes the code more readable and robust.

If viewed without reindenting, this change is pretty small.
---
 libavformat/rtpdec_jpeg.c |   61 ++++++++++++++++++++++-----------------------
 1 file changed, 30 insertions(+), 31 deletions(-)

Comments

Luca Barbato Sept. 11, 2012, 1:36 p.m. | #1
On 9/11/12 1:46 PM, Martin Storsjö wrote:
> This makes the code more readable and robust.
>
> If viewed without reindenting, this change is pretty small.
> ---
>   libavformat/rtpdec_jpeg.c |   61 ++++++++++++++++++++++-----------------------
>   1 file changed, 30 insertions(+), 31 deletions(-)

Ok

Patch

diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c
index 19ecbf4..0513b09 100644
--- a/libavformat/rtpdec_jpeg.c
+++ b/libavformat/rtpdec_jpeg.c
@@ -252,44 +252,43 @@  static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg,
     }
 
     /* Parse the quantization table header. */
-    if (q > 127 && off == 0) {
-        uint8_t precision;
-
-        if (len < 4) {
-            av_log(ctx, AV_LOG_ERROR, "Too short RTP/JPEG packet.\n");
-            return AVERROR_INVALIDDATA;
-        }
+    if (off == 0) {
+        /* Start of JPEG data packet. */
+        uint8_t new_qtables[128];
+        uint8_t hdr[1024];
 
-        /* The first byte is reserved for future use. */
-        precision  = AV_RB8(buf + 1);    /* size of coefficients */
-        qtable_len = AV_RB16(buf + 2);   /* length in bytes */
-        buf += 4;
-        len -= 4;
+        if (q > 127) {
+            uint8_t precision;
+            if (len < 4) {
+                av_log(ctx, AV_LOG_ERROR, "Too short RTP/JPEG packet.\n");
+                return AVERROR_INVALIDDATA;
+            }
 
-        if (precision)
-            av_log(ctx, AV_LOG_WARNING, "Only 8-bit precision is supported.\n");
+            /* The first byte is reserved for future use. */
+            precision  = AV_RB8(buf + 1);    /* size of coefficients */
+            qtable_len = AV_RB16(buf + 2);   /* length in bytes */
+            buf += 4;
+            len -= 4;
 
-        if (q == 255 && qtable_len == 0) {
-            av_log(ctx, AV_LOG_ERROR,
-                   "Invalid RTP/JPEG packet. Quantization tables not found.\n");
-            return AVERROR_INVALIDDATA;
-        }
+            if (precision)
+                av_log(ctx, AV_LOG_WARNING, "Only 8-bit precision is supported.\n");
 
-        if (qtable_len > 0) {
-            if (len < qtable_len) {
-                av_log(ctx, AV_LOG_ERROR, "Too short RTP/JPEG packet.\n");
+            if (q == 255 && qtable_len == 0) {
+                av_log(ctx, AV_LOG_ERROR,
+                       "Invalid RTP/JPEG packet. Quantization tables not found.\n");
                 return AVERROR_INVALIDDATA;
             }
-            qtables = buf;
-            buf += qtable_len;
-            len -= qtable_len;
-        }
-    }
 
-    if (off == 0) {
-        /* Start of JPEG data packet. */
-        uint8_t new_qtables[128];
-        uint8_t hdr[1024];
+            if (qtable_len > 0) {
+                if (len < qtable_len) {
+                    av_log(ctx, AV_LOG_ERROR, "Too short RTP/JPEG packet.\n");
+                    return AVERROR_INVALIDDATA;
+                }
+                qtables = buf;
+                buf += qtable_len;
+                len -= qtable_len;
+            }
+        }
 
         /* Skip the current frame in case of the end packet
          * has been lost somewhere. */