Browse code

Merge remote-tracking branch 'qatar/master'

* qatar/master:
flacenc: ensure the order is within the min/max range in LPC order search
avconv: rescale packet duration to muxer time base when flushing encoders
add 24-bit FLAC encoding to Changelog
rtpenc_aac: Fix calculation of the header size
x86: h264_intrapred: port to cpuflags

Conflicts:
Changelog
libavformat/rtpenc_aac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>

Michael Niedermayer authored on 2012/11/09 18:29:51
Showing 4 changed files
... ...
@@ -13,6 +13,7 @@ version <next>:
13 13
 - remove -same_quant, it hasn't worked for years
14 14
 - FFM2 support
15 15
 - X-Face image encoder and decoder
16
+- 24-bit FLAC encoding
16 17
 - metadata (INFO tag) support in WAV muxer
17 18
 - subtitles raw text decoder
18 19
 - support for building DLLs using MSVC
... ...
@@ -822,14 +822,16 @@ static int encode_residual_ch(FlacEncodeContext *s, int ch)
822 822
         omethod == ORDER_METHOD_8LEVEL) {
823 823
         int levels = 1 << omethod;
824 824
         uint64_t bits[1 << ORDER_METHOD_8LEVEL];
825
-        int order;
825
+        int order       = -1;
826 826
         int opt_index   = levels-1;
827 827
         opt_order       = max_order-1;
828 828
         bits[opt_index] = UINT32_MAX;
829 829
         for (i = levels-1; i >= 0; i--) {
830
+            int last_order = order;
830 831
             order = min_order + (((max_order-min_order+1) * (i+1)) / levels)-1;
831
-            if (order < 0)
832
-                order = 0;
832
+            order = av_clip(order, min_order - 1, max_order - 1);
833
+            if (order == last_order)
834
+                continue;
833 835
             s->flac_dsp.lpc_encode(res, smp, n, order+1, coefs[order],
834 836
                                    shift[order]);
835 837
             bits[i] = find_subframe_rice_params(s, sub, order+1);
... ...
@@ -52,7 +52,8 @@ cextern pw_32
52 52
 ; void pred16x16_vertical(uint8_t *src, int stride)
53 53
 ;-----------------------------------------------------------------------------
54 54
 
55
-cglobal pred16x16_vertical_8_mmx, 2,3
55
+INIT_MMX mmx
56
+cglobal pred16x16_vertical_8, 2,3
56 57
     sub   r0, r1
57 58
     mov   r2, 8
58 59
     movq mm0, [r0+0]
... ...
@@ -67,7 +68,8 @@ cglobal pred16x16_vertical_8_mmx, 2,3
67 67
     jg .loop
68 68
     REP_RET
69 69
 
70
-cglobal pred16x16_vertical_8_sse, 2,3
70
+INIT_XMM sse
71
+cglobal pred16x16_vertical_8, 2,3
71 72
     sub   r0, r1
72 73
     mov   r2, 4
73 74
     movaps xmm0, [r0]
... ...
@@ -122,7 +124,6 @@ INIT_MMX mmx2
122 122
 PRED16x16_H
123 123
 INIT_XMM ssse3
124 124
 PRED16x16_H
125
-INIT_XMM
126 125
 
127 126
 ;-----------------------------------------------------------------------------
128 127
 ; void pred16x16_dc(uint8_t *src, int stride)
... ...
@@ -185,13 +186,12 @@ INIT_XMM sse2
185 185
 PRED16x16_DC
186 186
 INIT_XMM ssse3
187 187
 PRED16x16_DC
188
-INIT_XMM
189 188
 
190 189
 ;-----------------------------------------------------------------------------
191 190
 ; void pred16x16_tm_vp8(uint8_t *src, int stride)
192 191
 ;-----------------------------------------------------------------------------
193 192
 
194
-%macro PRED16x16_TM_MMX 0
193
+%macro PRED16x16_TM 0
195 194
 cglobal pred16x16_tm_vp8_8, 2,5
196 195
     sub        r0, r1
197 196
     pxor      mm7, mm7
... ...
@@ -228,12 +228,12 @@ cglobal pred16x16_tm_vp8_8, 2,5
228 228
 %endmacro
229 229
 
230 230
 INIT_MMX mmx
231
-PRED16x16_TM_MMX
231
+PRED16x16_TM
232 232
 INIT_MMX mmx2
233
-PRED16x16_TM_MMX
234
-INIT_MMX
233
+PRED16x16_TM
235 234
 
236
-cglobal pred16x16_tm_vp8_8_sse2, 2,6,6
235
+INIT_XMM sse2
236
+cglobal pred16x16_tm_vp8_8, 2,6,6
237 237
     sub          r0, r1
238 238
     pxor       xmm2, xmm2
239 239
     movdqa     xmm0, [r0]
... ...
@@ -548,7 +548,6 @@ INIT_XMM ssse3
548 548
 H264_PRED16x16_PLANE h264
549 549
 H264_PRED16x16_PLANE rv40
550 550
 H264_PRED16x16_PLANE svq3
551
-INIT_XMM
552 551
 
553 552
 ;-----------------------------------------------------------------------------
554 553
 ; void pred8x8_plane(uint8_t *src, int stride)
... ...
@@ -723,13 +722,13 @@ INIT_XMM sse2
723 723
 H264_PRED8x8_PLANE
724 724
 INIT_XMM ssse3
725 725
 H264_PRED8x8_PLANE
726
-INIT_XMM
727 726
 
728 727
 ;-----------------------------------------------------------------------------
729 728
 ; void pred8x8_vertical(uint8_t *src, int stride)
730 729
 ;-----------------------------------------------------------------------------
731 730
 
732
-cglobal pred8x8_vertical_8_mmx, 2,2
731
+INIT_MMX mmx
732
+cglobal pred8x8_vertical_8, 2,2
733 733
     sub    r0, r1
734 734
     movq  mm0, [r0]
735 735
 %rep 3
... ...
@@ -768,12 +767,12 @@ INIT_MMX mmx2
768 768
 PRED8x8_H
769 769
 INIT_MMX ssse3
770 770
 PRED8x8_H
771
-INIT_MMX
772 771
 
773 772
 ;-----------------------------------------------------------------------------
774 773
 ; void pred8x8_top_dc_mmxext(uint8_t *src, int stride)
775 774
 ;-----------------------------------------------------------------------------
776
-cglobal pred8x8_top_dc_8_mmxext, 2,5
775
+INIT_MMX mmxext
776
+cglobal pred8x8_top_dc_8, 2,5
777 777
     sub         r0, r1
778 778
     movq       mm0, [r0]
779 779
     pxor       mm1, mm1
... ...
@@ -807,8 +806,8 @@ cglobal pred8x8_top_dc_8_mmxext, 2,5
807 807
 ; void pred8x8_dc_mmxext(uint8_t *src, int stride)
808 808
 ;-----------------------------------------------------------------------------
809 809
 
810
-INIT_MMX
811
-cglobal pred8x8_dc_8_mmxext, 2,5
810
+INIT_MMX mmxext
811
+cglobal pred8x8_dc_8, 2,5
812 812
     sub       r0, r1
813 813
     pxor      m7, m7
814 814
     movd      m0, [r0+0]
... ...
@@ -868,7 +867,8 @@ cglobal pred8x8_dc_8_mmxext, 2,5
868 868
 ; void pred8x8_dc_rv40(uint8_t *src, int stride)
869 869
 ;-----------------------------------------------------------------------------
870 870
 
871
-cglobal pred8x8_dc_rv40_8_mmxext, 2,7
871
+INIT_MMX mmxext
872
+cglobal pred8x8_dc_rv40_8, 2,7
872 873
     mov       r4, r0
873 874
     sub       r0, r1
874 875
     pxor      mm0, mm0
... ...
@@ -904,7 +904,7 @@ cglobal pred8x8_dc_rv40_8_mmxext, 2,7
904 904
 ; void pred8x8_tm_vp8(uint8_t *src, int stride)
905 905
 ;-----------------------------------------------------------------------------
906 906
 
907
-%macro PRED8x8_TM_MMX 0
907
+%macro PRED8x8_TM 0
908 908
 cglobal pred8x8_tm_vp8_8, 2,6
909 909
     sub        r0, r1
910 910
     pxor      mm7, mm7
... ...
@@ -940,12 +940,12 @@ cglobal pred8x8_tm_vp8_8, 2,6
940 940
 %endmacro
941 941
 
942 942
 INIT_MMX mmx
943
-PRED8x8_TM_MMX
943
+PRED8x8_TM
944 944
 INIT_MMX mmx2
945
-PRED8x8_TM_MMX
946
-INIT_MMX
945
+PRED8x8_TM
947 946
 
948
-cglobal pred8x8_tm_vp8_8_sse2, 2,6,4
947
+INIT_XMM sse2
948
+cglobal pred8x8_tm_vp8_8, 2,6,4
949 949
     sub          r0, r1
950 950
     pxor       xmm1, xmm1
951 951
     movq       xmm0, [r0]
... ...
@@ -973,7 +973,8 @@ cglobal pred8x8_tm_vp8_8_sse2, 2,6,4
973 973
     jg .loop
974 974
     REP_RET
975 975
 
976
-cglobal pred8x8_tm_vp8_8_ssse3, 2,3,6
976
+INIT_XMM ssse3
977
+cglobal pred8x8_tm_vp8_8, 2,3,6
977 978
     sub          r0, r1
978 979
     movdqa     xmm4, [tm_shuf]
979 980
     pxor       xmm1, xmm1
... ...
@@ -1014,8 +1015,8 @@ cglobal pred8x8_tm_vp8_8_ssse3, 2,3,6
1014 1014
 ;-----------------------------------------------------------------------------
1015 1015
 ; void pred8x8l_top_dc(uint8_t *src, int has_topleft, int has_topright, int stride)
1016 1016
 ;-----------------------------------------------------------------------------
1017
-%macro PRED8x8L_TOP_DC 1
1018
-cglobal pred8x8l_top_dc_8_%1, 4,4
1017
+%macro PRED8x8L_TOP_DC 0
1018
+cglobal pred8x8l_top_dc_8, 4,4
1019 1019
     sub          r0, r3
1020 1020
     pxor        mm7, mm7
1021 1021
     movq        mm0, [r0-8]
... ...
@@ -1061,18 +1062,19 @@ cglobal pred8x8l_top_dc_8_%1, 4,4
1061 1061
     RET
1062 1062
 %endmacro
1063 1063
 
1064
-INIT_MMX
1064
+INIT_MMX mmxext
1065 1065
 %define PALIGNR PALIGNR_MMX
1066
-PRED8x8L_TOP_DC mmxext
1066
+PRED8x8L_TOP_DC
1067
+INIT_MMX ssse3
1067 1068
 %define PALIGNR PALIGNR_SSSE3
1068
-PRED8x8L_TOP_DC ssse3
1069
+PRED8x8L_TOP_DC
1069 1070
 
1070 1071
 ;-----------------------------------------------------------------------------
1071 1072
 ;void pred8x8l_dc(uint8_t *src, int has_topleft, int has_topright, int stride)
1072 1073
 ;-----------------------------------------------------------------------------
1073 1074
 
1074
-%macro PRED8x8L_DC 1
1075
-cglobal pred8x8l_dc_8_%1, 4,5
1075
+%macro PRED8x8L_DC 0
1076
+cglobal pred8x8l_dc_8, 4,5
1076 1077
     sub          r0, r3
1077 1078
     lea          r4, [r0+r3*2]
1078 1079
     movq        mm0, [r0+r3*1-8]
... ...
@@ -1164,18 +1166,20 @@ cglobal pred8x8l_dc_8_%1, 4,5
1164 1164
     movq [r4+r3*2], mm0
1165 1165
     RET
1166 1166
 %endmacro
1167
-INIT_MMX
1167
+
1168
+INIT_MMX mmxext
1168 1169
 %define PALIGNR PALIGNR_MMX
1169
-PRED8x8L_DC mmxext
1170
+PRED8x8L_DC
1171
+INIT_MMX ssse3
1170 1172
 %define PALIGNR PALIGNR_SSSE3
1171
-PRED8x8L_DC ssse3
1173
+PRED8x8L_DC
1172 1174
 
1173 1175
 ;-----------------------------------------------------------------------------
1174 1176
 ; void pred8x8l_horizontal(uint8_t *src, int has_topleft, int has_topright, int stride)
1175 1177
 ;-----------------------------------------------------------------------------
1176 1178
 
1177
-%macro PRED8x8L_HORIZONTAL 1
1178
-cglobal pred8x8l_horizontal_8_%1, 4,4
1179
+%macro PRED8x8L_HORIZONTAL 0
1180
+cglobal pred8x8l_horizontal_8, 4,4
1179 1181
     sub          r0, r3
1180 1182
     lea          r2, [r0+r3*2]
1181 1183
     movq        mm0, [r0+r3*1-8]
... ...
@@ -1236,18 +1240,19 @@ cglobal pred8x8l_horizontal_8_%1, 4,4
1236 1236
     RET
1237 1237
 %endmacro
1238 1238
 
1239
-INIT_MMX
1239
+INIT_MMX mmxext
1240 1240
 %define PALIGNR PALIGNR_MMX
1241
-PRED8x8L_HORIZONTAL mmxext
1241
+PRED8x8L_HORIZONTAL
1242
+INIT_MMX ssse3
1242 1243
 %define PALIGNR PALIGNR_SSSE3
1243
-PRED8x8L_HORIZONTAL ssse3
1244
+PRED8x8L_HORIZONTAL
1244 1245
 
1245 1246
 ;-----------------------------------------------------------------------------
1246 1247
 ; void pred8x8l_vertical(uint8_t *src, int has_topleft, int has_topright, int stride)
1247 1248
 ;-----------------------------------------------------------------------------
1248 1249
 
1249
-%macro PRED8x8L_VERTICAL 1
1250
-cglobal pred8x8l_vertical_8_%1, 4,4
1250
+%macro PRED8x8L_VERTICAL 0
1251
+cglobal pred8x8l_vertical_8, 4,4
1251 1252
     sub          r0, r3
1252 1253
     movq        mm0, [r0-8]
1253 1254
     movq        mm3, [r0]
... ...
@@ -1287,19 +1292,20 @@ cglobal pred8x8l_vertical_8_%1, 4,4
1287 1287
     RET
1288 1288
 %endmacro
1289 1289
 
1290
-INIT_MMX
1290
+INIT_MMX mmxext
1291 1291
 %define PALIGNR PALIGNR_MMX
1292
-PRED8x8L_VERTICAL mmxext
1292
+PRED8x8L_VERTICAL
1293
+INIT_MMX ssse3
1293 1294
 %define PALIGNR PALIGNR_SSSE3
1294
-PRED8x8L_VERTICAL ssse3
1295
+PRED8x8L_VERTICAL
1295 1296
 
1296 1297
 ;-----------------------------------------------------------------------------
1297 1298
 ;void pred8x8l_down_left(uint8_t *src, int has_topleft, int has_topright, int stride)
1298 1299
 ;-----------------------------------------------------------------------------
1299 1300
 
1300
-INIT_MMX
1301
+INIT_MMX mmxext
1301 1302
 %define PALIGNR PALIGNR_MMX
1302
-cglobal pred8x8l_down_left_8_mmxext, 4,5
1303
+cglobal pred8x8l_down_left_8, 4,5
1303 1304
     sub          r0, r3
1304 1305
     movq        mm0, [r0-8]
1305 1306
     movq        mm3, [r0]
... ...
@@ -1406,8 +1412,8 @@ cglobal pred8x8l_down_left_8_mmxext, 4,5
1406 1406
     movq  [r0+r3*1], mm1
1407 1407
     RET
1408 1408
 
1409
-%macro PRED8x8L_DOWN_LEFT 1
1410
-cglobal pred8x8l_down_left_8_%1, 4,4
1409
+%macro PRED8x8L_DOWN_LEFT 0
1410
+cglobal pred8x8l_down_left_8, 4,4
1411 1411
     sub          r0, r3
1412 1412
     movq        mm0, [r0-8]
1413 1413
     movq        mm3, [r0]
... ...
@@ -1467,7 +1473,7 @@ cglobal pred8x8l_down_left_8_%1, 4,4
1467 1467
     lea         r2, [r1+r3*2]
1468 1468
     movdqa    xmm1, xmm3
1469 1469
     pslldq    xmm1, 1
1470
-INIT_XMM
1470
+INIT_XMM cpuname
1471 1471
     PRED4x4_LOWPASS xmm0, xmm1, xmm2, xmm3, xmm4
1472 1472
     psrldq    xmm0, 1
1473 1473
     movq [r0+r3*1], xmm0
... ...
@@ -1489,20 +1495,20 @@ INIT_XMM
1489 1489
     RET
1490 1490
 %endmacro
1491 1491
 
1492
-INIT_MMX
1492
+INIT_MMX sse2
1493 1493
 %define PALIGNR PALIGNR_MMX
1494
-PRED8x8L_DOWN_LEFT sse2
1495
-INIT_MMX
1494
+PRED8x8L_DOWN_LEFT
1495
+INIT_MMX ssse3
1496 1496
 %define PALIGNR PALIGNR_SSSE3
1497
-PRED8x8L_DOWN_LEFT ssse3
1497
+PRED8x8L_DOWN_LEFT
1498 1498
 
1499 1499
 ;-----------------------------------------------------------------------------
1500 1500
 ;void pred8x8l_down_right_mmxext(uint8_t *src, int has_topleft, int has_topright, int stride)
1501 1501
 ;-----------------------------------------------------------------------------
1502 1502
 
1503
-INIT_MMX
1503
+INIT_MMX mmxext
1504 1504
 %define PALIGNR PALIGNR_MMX
1505
-cglobal pred8x8l_down_right_8_mmxext, 4,5
1505
+cglobal pred8x8l_down_right_8, 4,5
1506 1506
     sub          r0, r3
1507 1507
     lea          r4, [r0+r3*2]
1508 1508
     movq        mm0, [r0+r3*1-8]
... ...
@@ -1633,8 +1639,8 @@ cglobal pred8x8l_down_right_8_mmxext, 4,5
1633 1633
     movq [r0+r3*1], mm0
1634 1634
     RET
1635 1635
 
1636
-%macro PRED8x8L_DOWN_RIGHT 1
1637
-cglobal pred8x8l_down_right_8_%1, 4,5
1636
+%macro PRED8x8L_DOWN_RIGHT 0
1637
+cglobal pred8x8l_down_right_8, 4,5
1638 1638
     sub          r0, r3
1639 1639
     lea          r4, [r0+r3*2]
1640 1640
     movq        mm0, [r0+r3*1-8]
... ...
@@ -1722,7 +1728,7 @@ cglobal pred8x8l_down_right_8_%1, 4,5
1722 1722
     lea         r0, [r2+r3*2]
1723 1723
     movdqa    xmm2, xmm3
1724 1724
     psrldq    xmm2, 1
1725
-INIT_XMM
1725
+INIT_XMM cpuname
1726 1726
     PRED4x4_LOWPASS xmm0, xmm1, xmm2, xmm3, xmm4
1727 1727
     movdqa    xmm1, xmm0
1728 1728
     psrldq    xmm1, 1
... ...
@@ -1743,20 +1749,20 @@ INIT_XMM
1743 1743
     RET
1744 1744
 %endmacro
1745 1745
 
1746
-INIT_MMX
1746
+INIT_MMX sse2
1747 1747
 %define PALIGNR PALIGNR_MMX
1748
-PRED8x8L_DOWN_RIGHT sse2
1749
-INIT_MMX
1748
+PRED8x8L_DOWN_RIGHT
1749
+INIT_MMX ssse3
1750 1750
 %define PALIGNR PALIGNR_SSSE3
1751
-PRED8x8L_DOWN_RIGHT ssse3
1751
+PRED8x8L_DOWN_RIGHT
1752 1752
 
1753 1753
 ;-----------------------------------------------------------------------------
1754 1754
 ; void pred8x8l_vertical_right(uint8_t *src, int has_topleft, int has_topright, int stride)
1755 1755
 ;-----------------------------------------------------------------------------
1756 1756
 
1757
-INIT_MMX
1757
+INIT_MMX mmxext
1758 1758
 %define PALIGNR PALIGNR_MMX
1759
-cglobal pred8x8l_vertical_right_8_mmxext, 4,5
1759
+cglobal pred8x8l_vertical_right_8, 4,5
1760 1760
     sub          r0, r3
1761 1761
     lea          r4, [r0+r3*2]
1762 1762
     movq        mm0, [r0+r3*1-8]
... ...
@@ -1862,8 +1868,8 @@ cglobal pred8x8l_vertical_right_8_mmxext, 4,5
1862 1862
     movq [r4+r3*2], mm5
1863 1863
     RET
1864 1864
 
1865
-%macro PRED8x8L_VERTICAL_RIGHT 1
1866
-cglobal pred8x8l_vertical_right_8_%1, 4,5,7
1865
+%macro PRED8x8L_VERTICAL_RIGHT 0
1866
+cglobal pred8x8l_vertical_right_8, 4,5,7
1867 1867
     ; manually spill XMM registers for Win64 because
1868 1868
     ; the code here is initialized with INIT_MMX
1869 1869
     WIN64_SPILL_XMM 7
... ...
@@ -1944,7 +1950,7 @@ cglobal pred8x8l_vertical_right_8_%1, 4,5,7
1944 1944
     pslldq      xmm0, 1
1945 1945
     pslldq      xmm1, 2
1946 1946
     pavgb       xmm2, xmm0
1947
-INIT_XMM
1947
+INIT_XMM cpuname
1948 1948
     PRED4x4_LOWPASS xmm4, xmm3, xmm1, xmm0, xmm5
1949 1949
     pandn       xmm6, xmm4
1950 1950
     movdqa      xmm5, xmm4
... ...
@@ -1973,19 +1979,19 @@ INIT_XMM
1973 1973
     RET
1974 1974
 %endmacro
1975 1975
 
1976
-INIT_MMX
1976
+INIT_MMX sse2
1977 1977
 %define PALIGNR PALIGNR_MMX
1978
-PRED8x8L_VERTICAL_RIGHT sse2
1979
-INIT_MMX
1978
+PRED8x8L_VERTICAL_RIGHT
1979
+INIT_MMX ssse3
1980 1980
 %define PALIGNR PALIGNR_SSSE3
1981
-PRED8x8L_VERTICAL_RIGHT ssse3
1981
+PRED8x8L_VERTICAL_RIGHT
1982 1982
 
1983 1983
 ;-----------------------------------------------------------------------------
1984 1984
 ;void pred8x8l_vertical_left(uint8_t *src, int has_topleft, int has_topright, int stride)
1985 1985
 ;-----------------------------------------------------------------------------
1986 1986
 
1987
-%macro PRED8x8L_VERTICAL_LEFT 1
1988
-cglobal pred8x8l_vertical_left_8_%1, 4,4
1987
+%macro PRED8x8L_VERTICAL_LEFT 0
1988
+cglobal pred8x8l_vertical_left_8, 4,4
1989 1989
     sub          r0, r3
1990 1990
     movq        mm0, [r0-8]
1991 1991
     movq        mm3, [r0]
... ...
@@ -2043,7 +2049,7 @@ cglobal pred8x8l_vertical_left_8_%1, 4,4
2043 2043
     pslldq    xmm1, 1
2044 2044
     pavgb     xmm3, xmm2
2045 2045
     lea         r2, [r1+r3*2]
2046
-INIT_XMM
2046
+INIT_XMM cpuname
2047 2047
     PRED4x4_LOWPASS xmm0, xmm1, xmm2, xmm4, xmm5
2048 2048
     psrldq    xmm0, 1
2049 2049
     movq [r0+r3*1], xmm3
... ...
@@ -2064,19 +2070,19 @@ INIT_XMM
2064 2064
     RET
2065 2065
 %endmacro
2066 2066
 
2067
-INIT_MMX
2067
+INIT_MMX sse2
2068 2068
 %define PALIGNR PALIGNR_MMX
2069
-PRED8x8L_VERTICAL_LEFT sse2
2069
+PRED8x8L_VERTICAL_LEFT
2070
+INIT_MMX ssse3
2070 2071
 %define PALIGNR PALIGNR_SSSE3
2071
-INIT_MMX
2072
-PRED8x8L_VERTICAL_LEFT ssse3
2072
+PRED8x8L_VERTICAL_LEFT
2073 2073
 
2074 2074
 ;-----------------------------------------------------------------------------
2075 2075
 ; void pred8x8l_horizontal_up(uint8_t *src, int has_topleft, int has_topright, int stride)
2076 2076
 ;-----------------------------------------------------------------------------
2077 2077
 
2078
-%macro PRED8x8L_HORIZONTAL_UP 1
2079
-cglobal pred8x8l_horizontal_up_8_%1, 4,4
2078
+%macro PRED8x8L_HORIZONTAL_UP 0
2079
+cglobal pred8x8l_horizontal_up_8, 4,4
2080 2080
     sub          r0, r3
2081 2081
     lea          r2, [r0+r3*2]
2082 2082
     movq        mm0, [r0+r3*1-8]
... ...
@@ -2153,19 +2159,20 @@ cglobal pred8x8l_horizontal_up_8_%1, 4,4
2153 2153
     RET
2154 2154
 %endmacro
2155 2155
 
2156
-INIT_MMX
2156
+INIT_MMX mmxext
2157 2157
 %define PALIGNR PALIGNR_MMX
2158
-PRED8x8L_HORIZONTAL_UP mmxext
2158
+PRED8x8L_HORIZONTAL_UP
2159
+INIT_MMX ssse3
2159 2160
 %define PALIGNR PALIGNR_SSSE3
2160
-PRED8x8L_HORIZONTAL_UP ssse3
2161
+PRED8x8L_HORIZONTAL_UP
2161 2162
 
2162 2163
 ;-----------------------------------------------------------------------------
2163 2164
 ;void pred8x8l_horizontal_down(uint8_t *src, int has_topleft, int has_topright, int stride)
2164 2165
 ;-----------------------------------------------------------------------------
2165 2166
 
2166
-INIT_MMX
2167
+INIT_MMX mmxext
2167 2168
 %define PALIGNR PALIGNR_MMX
2168
-cglobal pred8x8l_horizontal_down_8_mmxext, 4,5
2169
+cglobal pred8x8l_horizontal_down_8, 4,5
2169 2170
     sub          r0, r3
2170 2171
     lea          r4, [r0+r3*2]
2171 2172
     movq        mm0, [r0+r3*1-8]
... ...
@@ -2279,8 +2286,8 @@ cglobal pred8x8l_horizontal_down_8_mmxext, 4,5
2279 2279
     movq [r0+r3*1], mm3
2280 2280
     RET
2281 2281
 
2282
-%macro PRED8x8L_HORIZONTAL_DOWN 1
2283
-cglobal pred8x8l_horizontal_down_8_%1, 4,5
2282
+%macro PRED8x8L_HORIZONTAL_DOWN 0
2283
+cglobal pred8x8l_horizontal_down_8, 4,5
2284 2284
     sub          r0, r3
2285 2285
     lea          r4, [r0+r3*2]
2286 2286
     movq        mm0, [r0+r3*1-8]
... ...
@@ -2372,7 +2379,7 @@ cglobal pred8x8l_horizontal_down_8_%1, 4,5
2372 2372
     movq2dq    xmm5, mm1
2373 2373
     pslldq     xmm5, 8
2374 2374
     por        xmm1, xmm5
2375
-INIT_XMM
2375
+INIT_XMM cpuname
2376 2376
     lea         r2, [r4+r3*2]
2377 2377
     movdqa    xmm2, xmm1
2378 2378
     movdqa    xmm3, xmm1
... ...
@@ -2403,18 +2410,19 @@ INIT_XMM
2403 2403
     RET
2404 2404
 %endmacro
2405 2405
 
2406
-INIT_MMX
2406
+INIT_MMX sse2
2407 2407
 %define PALIGNR PALIGNR_MMX
2408
-PRED8x8L_HORIZONTAL_DOWN sse2
2409
-INIT_MMX
2408
+PRED8x8L_HORIZONTAL_DOWN
2409
+INIT_MMX ssse3
2410 2410
 %define PALIGNR PALIGNR_SSSE3
2411
-PRED8x8L_HORIZONTAL_DOWN ssse3
2411
+PRED8x8L_HORIZONTAL_DOWN
2412 2412
 
2413 2413
 ;-----------------------------------------------------------------------------
2414 2414
 ; void pred4x4_dc_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2415 2415
 ;-----------------------------------------------------------------------------
2416 2416
 
2417
-cglobal pred4x4_dc_8_mmxext, 3,5
2417
+INIT_MMX mmxext
2418
+cglobal pred4x4_dc_8, 3,5
2418 2419
     pxor   mm7, mm7
2419 2420
     mov     r4, r0
2420 2421
     sub     r0, r2
... ...
@@ -2443,7 +2451,7 @@ cglobal pred4x4_dc_8_mmxext, 3,5
2443 2443
 ; void pred4x4_tm_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2444 2444
 ;-----------------------------------------------------------------------------
2445 2445
 
2446
-%macro PRED4x4_TM_MMX 0
2446
+%macro PRED4x4_TM 0
2447 2447
 cglobal pred4x4_tm_vp8_8, 3,6
2448 2448
     sub        r0, r2
2449 2449
     pxor      mm7, mm7
... ...
@@ -2480,12 +2488,12 @@ cglobal pred4x4_tm_vp8_8, 3,6
2480 2480
 %endmacro
2481 2481
 
2482 2482
 INIT_MMX mmx
2483
-PRED4x4_TM_MMX
2483
+PRED4x4_TM
2484 2484
 INIT_MMX mmx2
2485
-PRED4x4_TM_MMX
2486
-INIT_MMX
2485
+PRED4x4_TM
2487 2486
 
2488
-cglobal pred4x4_tm_vp8_8_ssse3, 3,3
2487
+INIT_XMM ssse3
2488
+cglobal pred4x4_tm_vp8_8, 3,3
2489 2489
     sub         r0, r2
2490 2490
     movq       mm6, [tm_shuf]
2491 2491
     pxor       mm1, mm1
... ...
@@ -2524,8 +2532,8 @@ cglobal pred4x4_tm_vp8_8_ssse3, 3,3
2524 2524
 ; void pred4x4_vertical_vp8_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2525 2525
 ;-----------------------------------------------------------------------------
2526 2526
 
2527
-INIT_MMX
2528
-cglobal pred4x4_vertical_vp8_8_mmxext, 3,3
2527
+INIT_MMX mmxext
2528
+cglobal pred4x4_vertical_vp8_8, 3,3
2529 2529
     sub       r0, r2
2530 2530
     movd      m1, [r0-1]
2531 2531
     movd      m0, [r0]
... ...
@@ -2543,8 +2551,8 @@ cglobal pred4x4_vertical_vp8_8_mmxext, 3,3
2543 2543
 ;-----------------------------------------------------------------------------
2544 2544
 ; void pred4x4_down_left_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2545 2545
 ;-----------------------------------------------------------------------------
2546
-INIT_MMX
2547
-cglobal pred4x4_down_left_8_mmxext, 3,3
2546
+INIT_MMX mmxext
2547
+cglobal pred4x4_down_left_8, 3,3
2548 2548
     sub       r0, r2
2549 2549
     movq      m1, [r0]
2550 2550
     punpckldq m1, [r1]
... ...
@@ -2570,8 +2578,8 @@ cglobal pred4x4_down_left_8_mmxext, 3,3
2570 2570
 ; void pred4x4_vertical_left_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2571 2571
 ;-----------------------------------------------------------------------------
2572 2572
 
2573
-INIT_MMX
2574
-cglobal pred4x4_vertical_left_8_mmxext, 3,3
2573
+INIT_MMX mmxext
2574
+cglobal pred4x4_vertical_left_8, 3,3
2575 2575
     sub       r0, r2
2576 2576
     movq      m1, [r0]
2577 2577
     punpckldq m1, [r1]
... ...
@@ -2595,8 +2603,8 @@ cglobal pred4x4_vertical_left_8_mmxext, 3,3
2595 2595
 ; void pred4x4_horizontal_up_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2596 2596
 ;-----------------------------------------------------------------------------
2597 2597
 
2598
-INIT_MMX
2599
-cglobal pred4x4_horizontal_up_8_mmxext, 3,3
2598
+INIT_MMX mmxext
2599
+cglobal pred4x4_horizontal_up_8, 3,3
2600 2600
     sub       r0, r2
2601 2601
     lea       r1, [r0+r2*2]
2602 2602
     movd      m0, [r0+r2*1-4]
... ...
@@ -2628,9 +2636,9 @@ cglobal pred4x4_horizontal_up_8_mmxext, 3,3
2628 2628
 ; void pred4x4_horizontal_down_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2629 2629
 ;-----------------------------------------------------------------------------
2630 2630
 
2631
-INIT_MMX
2631
+INIT_MMX mmxext
2632 2632
 %define PALIGNR PALIGNR_MMX
2633
-cglobal pred4x4_horizontal_down_8_mmxext, 3,3
2633
+cglobal pred4x4_horizontal_down_8, 3,3
2634 2634
     sub       r0, r2
2635 2635
     lea       r1, [r0+r2*2]
2636 2636
     movh      m0, [r0-4]      ; lt ..
... ...
@@ -2664,9 +2672,9 @@ cglobal pred4x4_horizontal_down_8_mmxext, 3,3
2664 2664
 ; void pred4x4_vertical_right_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2665 2665
 ;-----------------------------------------------------------------------------
2666 2666
 
2667
-INIT_MMX
2667
+INIT_MMX mmxext
2668 2668
 %define PALIGNR PALIGNR_MMX
2669
-cglobal pred4x4_vertical_right_8_mmxext, 3,3
2669
+cglobal pred4x4_vertical_right_8, 3,3
2670 2670
     sub     r0, r2
2671 2671
     lea     r1, [r0+r2*2]
2672 2672
     movh    m0, [r0]                    ; ........t3t2t1t0
... ...
@@ -2695,9 +2703,9 @@ cglobal pred4x4_vertical_right_8_mmxext, 3,3
2695 2695
 ; void pred4x4_down_right_mmxext(uint8_t *src, const uint8_t *topright, int stride)
2696 2696
 ;-----------------------------------------------------------------------------
2697 2697
 
2698
-INIT_MMX
2698
+INIT_MMX mmxext
2699 2699
 %define PALIGNR PALIGNR_MMX
2700
-cglobal pred4x4_down_right_8_mmxext, 3,3
2700
+cglobal pred4x4_down_right_8, 3,3
2701 2701
     sub       r0, r2
2702 2702
     lea       r1, [r0+r2*2]
2703 2703
     movq      m1, [r1-8]
... ...
@@ -47,7 +47,7 @@ void ff_rtp_send_aac(AVFormatContext *s1, const uint8_t *buff, int size)
47 47
             memmove(p + 2, s->buf + 2, au_size);
48 48
         }
49 49
         /* Write the AU header size */
50
-        p[0] = au_size >> 5;
50
+        p[0] =  au_size >> 5;
51 51
         p[1] = (au_size & 0x1F) << 3;
52 52
 
53 53
         ff_rtp_send_data(s1, p, s->buf_ptr - p, 1);