asfenc: reduce code duplication with new variable
authorRamiro Polla <ramiro.polla@gmail.com>
Wed, 4 Apr 2012 05:50:05 +0000 (02:50 -0300)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 12 Sep 2012 14:36:57 +0000 (16:36 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f2fad251b8f0b5cfa9fa43200e72f5f9194fd620)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/asfenc.c

index 1e42e1c..d1bb07b 100644 (file)
@@ -808,6 +808,7 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt)
 
     /* check index */
     if ((!asf->is_streamed) && (flags & AV_PKT_FLAG_KEY)) {
+        uint16_t packet_count = asf->nb_packets - packet_number;
         start_sec = (int)(pts / INT64_C(10000000));
         if (start_sec != (int)(asf->last_indexed_pts / INT64_C(10000000))) {
             if (start_sec > asf->nb_index_memory_alloc) {
@@ -817,8 +818,8 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt)
             for(i=asf->nb_index_count;i<start_sec;i++) {
                 // store
                 asf->index_ptr[i].packet_number = (uint32_t)packet_number;
-                asf->index_ptr[i].packet_count  = (uint16_t)(asf->nb_packets-packet_number);
-                asf->maximum_packet = FFMAX(asf->maximum_packet, (uint16_t)(asf->nb_packets-packet_number));
+                asf->index_ptr[i].packet_count  = (uint16_t)packet_count;
+                asf->maximum_packet = FFMAX(asf->maximum_packet, (uint16_t)packet_count);
             }
             asf->nb_index_count = start_sec;
             asf->last_indexed_pts = pts;