* 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>
... | ... |
@@ -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); |