[1/4] libavcodec: Move apply_param_change up above avcodec_decode_video2

Message ID 1325848585-98200-1-git-send-email-martin@martin.st
State Committed
Commit 867f923df48f6dec76eeff9ba0444a0cb9ff0441
Headers show

Commit Message

Martin Storsjö Jan. 6, 2012, 11:16 a.m.
---
 libavcodec/utils.c |   82 ++++++++++++++++++++++++++--------------------------
 1 files changed, 41 insertions(+), 41 deletions(-)

Comments

Diego Biurrun Jan. 6, 2012, 11:25 a.m. | #1
On Fri, Jan 06, 2012 at 01:16:22PM +0200, Martin Storsjö wrote:
> ---
>  libavcodec/utils.c |   82 ++++++++++++++++++++++++++--------------------------
>  1 files changed, 41 insertions(+), 41 deletions(-)

Why?  Please explain that in the log message.

Diego
Martin Storsjö Jan. 6, 2012, 11:28 a.m. | #2
On Fri, 6 Jan 2012, Diego Biurrun wrote:

> On Fri, Jan 06, 2012 at 01:16:22PM +0200, Martin Storsjö wrote:
>> ---
>>  libavcodec/utils.c |   82 ++++++++++++++++++++++++++--------------------------
>>  1 files changed, 41 insertions(+), 41 deletions(-)
>
> Why?  Please explain that in the log message.

Amended locally with "This is in preparation for calling it from 
avcodec_decode_video2."

// Martin
Paul B Mahol Jan. 6, 2012, 3:50 p.m. | #3
On 1/6/12, Martin Storsjoe <martin@martin.st> wrote:
> On Fri, 6 Jan 2012, Diego Biurrun wrote:
>
>> On Fri, Jan 06, 2012 at 01:16:22PM +0200, Martin Storsjoe wrote:
>>> ---
>>>  libavcodec/utils.c |   82
>>> ++++++++++++++++++++++++++--------------------------
>>>  1 files changed, 41 insertions(+), 41 deletions(-)
>>
>> Why?  Please explain that in the log message.
>
> Amended locally with "This is in preparation for calling it from
> avcodec_decode_video2."

OK

Patch

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index c845a31..a1d2a01 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -842,6 +842,47 @@  int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
     return ret;
 }
 
+static void apply_param_change(AVCodecContext *avctx, AVPacket *avpkt)
+{
+    int size = 0;
+    const uint8_t *data;
+    uint32_t flags;
+
+    if (!(avctx->codec->capabilities & CODEC_CAP_PARAM_CHANGE))
+        return;
+
+    data = av_packet_get_side_data(avpkt, AV_PKT_DATA_PARAM_CHANGE, &size);
+    if (!data || size < 4)
+        return;
+    flags = bytestream_get_le32(&data);
+    size -= 4;
+    if (size < 4) /* Required for any of the changes */
+        return;
+    if (flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT) {
+        avctx->channels = bytestream_get_le32(&data);
+        size -= 4;
+    }
+    if (flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT) {
+        if (size < 8)
+            return;
+        avctx->channel_layout = bytestream_get_le64(&data);
+        size -= 8;
+    }
+    if (size < 4)
+        return;
+    if (flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE) {
+        avctx->sample_rate = bytestream_get_le32(&data);
+        size -= 4;
+    }
+    if (flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS) {
+        if (size < 8)
+            return;
+        avctx->width  = bytestream_get_le32(&data);
+        avctx->height = bytestream_get_le32(&data);
+        size -= 8;
+    }
+}
+
 int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
                          int *got_picture_ptr,
                          AVPacket *avpkt)
@@ -923,47 +964,6 @@  int attribute_align_arg avcodec_decode_audio3(AVCodecContext *avctx, int16_t *sa
 }
 #endif
 
-static void apply_param_change(AVCodecContext *avctx, AVPacket *avpkt)
-{
-    int size = 0;
-    const uint8_t *data;
-    uint32_t flags;
-
-    if (!(avctx->codec->capabilities & CODEC_CAP_PARAM_CHANGE))
-        return;
-
-    data = av_packet_get_side_data(avpkt, AV_PKT_DATA_PARAM_CHANGE, &size);
-    if (!data || size < 4)
-        return;
-    flags = bytestream_get_le32(&data);
-    size -= 4;
-    if (size < 4) /* Required for any of the changes */
-        return;
-    if (flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT) {
-        avctx->channels = bytestream_get_le32(&data);
-        size -= 4;
-    }
-    if (flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT) {
-        if (size < 8)
-            return;
-        avctx->channel_layout = bytestream_get_le64(&data);
-        size -= 8;
-    }
-    if (size < 4)
-        return;
-    if (flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE) {
-        avctx->sample_rate = bytestream_get_le32(&data);
-        size -= 4;
-    }
-    if (flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS) {
-        if (size < 8)
-            return;
-        avctx->width  = bytestream_get_le32(&data);
-        avctx->height = bytestream_get_le32(&data);
-        size -= 8;
-    }
-}
-
 int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
                                               AVFrame *frame,
                                               int *got_frame_ptr,