[x264-devel] commit: Convert to a unified "pixel" type for pixel data (Oskar Arvidsson )

avcoder ffmpeg at gmail.com
Thu Jun 3 19:15:25 CEST 2010


It seems that the following code breaks on non-16 bytes stack such as MSVC++
+static void ALWAYS_INLINE pixel_memset( pixel *dst, int value, int size )
+{
+    for( int i = 0; i < size; i++ )
+        dst[i] = value;
+}

because: <compiled by gcc 4.4.4>

00000240 <_plane_expand_border>:
 240:	55                   	push   %ebp
 241:	57                   	push   %edi
 242:	56                   	push   %esi
 243:	53                   	push   %ebx
 244:	83 ec 5c             	sub    $0x5c,%esp
 247:	8b 5c 24 70          	mov    0x70(%esp),%ebx
 24b:	89 44 24 48          	mov    %eax,0x48(%esp)
 24f:	89 54 24 3c          	mov    %edx,0x3c(%esp)
 253:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
 257:	85 db                	test   %ebx,%ebx
 259:	0f 8e 5e 07 00 00    	jle    9bd <_plane_expand_border+0x77d>
 25f:	89 c6                	mov    %eax,%esi
 261:	89 c3                	mov    %eax,%ebx
 263:	2b 74 24 74          	sub    0x74(%esp),%esi
 267:	01 cb                	add    %ecx,%ebx
 269:	89 44 24 40          	mov    %eax,0x40(%esp)
 26d:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
 274:	00
 275:	8b 4c 24 74          	mov    0x74(%esp),%ecx
 279:	8b 54 24 40          	mov    0x40(%esp),%edx
 27d:	85 c9                	test   %ecx,%ecx
 27f:	0f b6 02             	movzbl (%edx),%eax
 282:	0f 8e 54 07 00 00    	jle    9dc <_plane_expand_border+0x79c>
 288:	89 f1                	mov    %esi,%ecx
 28a:	f7 d9                	neg    %ecx
 28c:	83 e1 0f             	and    $0xf,%ecx
 28f:	3b 4c 24 74          	cmp    0x74(%esp),%ecx
 293:	0f 47 4c 24 74       	cmova  0x74(%esp),%ecx
 298:	85 c9                	test   %ecx,%ecx
 29a:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 29e:	0f 84 43 09 00 00    	je     be7 <_plane_expand_border+0x9a7>
 2a4:	89 cf                	mov    %ecx,%edi
 2a6:	ba 01 00 00 00       	mov    $0x1,%edx
 2ab:	83 ef 01             	sub    $0x1,%edi
 2ae:	83 e7 07             	and    $0x7,%edi
 2b1:	88 06                	mov    %al,(%esi)
 2b3:	83 7c 24 0c 01       	cmpl   $0x1,0xc(%esp)
 2b8:	0f 86 84 00 00 00    	jbe    342 <_plane_expand_border+0x102>
 2be:	85 ff                	test   %edi,%edi
 2c0:	74 52                	je     314 <_plane_expand_border+0xd4>
 2c2:	83 ff 01             	cmp    $0x1,%edi
 2c5:	74 41                	je     308 <_plane_expand_border+0xc8>
 2c7:	83 ff 02             	cmp    $0x2,%edi
 2ca:	74 36                	je     302 <_plane_expand_border+0xc2>
 2cc:	83 ff 03             	cmp    $0x3,%edi
 2cf:	90                   	nop
 2d0:	74 2a                	je     2fc <_plane_expand_border+0xbc>
 2d2:	83 ff 04             	cmp    $0x4,%edi
 2d5:	74 1f                	je     2f6 <_plane_expand_border+0xb6>
 2d7:	83 ff 05             	cmp    $0x5,%edi
 2da:	74 14                	je     2f0 <_plane_expand_border+0xb0>
 2dc:	83 ff 06             	cmp    $0x6,%edi
 2df:	90                   	nop
 2e0:	74 08                	je     2ea <_plane_expand_border+0xaa>
 2e2:	88 46 01             	mov    %al,0x1(%esi)
 2e5:	ba 02 00 00 00       	mov    $0x2,%edx
 2ea:	88 04 16             	mov    %al,(%esi,%edx,1)
 2ed:	83 c2 01             	add    $0x1,%edx
 2f0:	88 04 16             	mov    %al,(%esi,%edx,1)
 2f3:	83 c2 01             	add    $0x1,%edx
 2f6:	88 04 16             	mov    %al,(%esi,%edx,1)
 2f9:	83 c2 01             	add    $0x1,%edx
 2fc:	88 04 16             	mov    %al,(%esi,%edx,1)
 2ff:	83 c2 01             	add    $0x1,%edx
 302:	88 04 16             	mov    %al,(%esi,%edx,1)
 305:	83 c2 01             	add    $0x1,%edx
 308:	88 04 16             	mov    %al,(%esi,%edx,1)
 30b:	83 c2 01             	add    $0x1,%edx
 30e:	39 54 24 0c          	cmp    %edx,0xc(%esp)
 312:	76 2e                	jbe    342 <_plane_expand_border+0x102>
 314:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
 318:	88 04 16             	mov    %al,(%esi,%edx,1)
 31b:	88 44 16 01          	mov    %al,0x1(%esi,%edx,1)
 31f:	88 44 16 02          	mov    %al,0x2(%esi,%edx,1)
 323:	88 44 16 03          	mov    %al,0x3(%esi,%edx,1)
 327:	88 44 16 04          	mov    %al,0x4(%esi,%edx,1)
 32b:	88 44 16 05          	mov    %al,0x5(%esi,%edx,1)
 32f:	88 44 16 06          	mov    %al,0x6(%esi,%edx,1)
 333:	88 44 16 07          	mov    %al,0x7(%esi,%edx,1)
 337:	83 c2 08             	add    $0x8,%edx
 33a:	39 d1                	cmp    %edx,%ecx
 33c:	77 da                	ja     318 <_plane_expand_border+0xd8>
 33e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 342:	8b 7c 24 74          	mov    0x74(%esp),%edi
 346:	39 7c 24 0c          	cmp    %edi,0xc(%esp)
 34a:	0f 84 be 02 00 00    	je     60e <_plane_expand_border+0x3ce>
 350:	8b 6c 24 74          	mov    0x74(%esp),%ebp
 354:	2b 6c 24 0c          	sub    0xc(%esp),%ebp
 358:	89 6c 24 38          	mov    %ebp,0x38(%esp)
 35c:	c1 ed 04             	shr    $0x4,%ebp
 35f:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
 363:	c1 e5 04             	shl    $0x4,%ebp
 366:	85 ed                	test   %ebp,%ebp
 368:	89 6c 24 34          	mov    %ebp,0x34(%esp)
 36c:	0f 84 e3 01 00 00    	je     555 <_plane_expand_border+0x315>
 372:	0f 57 c9             	xorps  %xmm1,%xmm1
 375:	0f b6 f8             	movzbl %al,%edi
 378:	89 7c 24 30          	mov    %edi,0x30(%esp)
 37c:	89 fd                	mov    %edi,%ebp
 37e:	0f 29 4c 24 10       	movaps %xmm1,0x10(%esp)
 383:	c1 e5 10             	shl    $0x10,%ebp
 386:	88 44 24 10          	mov    %al,0x10(%esp)
 38a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 38e:	88 44 24 14          	mov    %al,0x14(%esp)
 392:	88 44 24 18          	mov    %al,0x18(%esp)
 396:	88 44 24 1c          	mov    %al,0x1c(%esp)
 39a:	88 c5                	mov    %al,%ch
 39c:	89 cf                	mov    %ecx,%edi
 39e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 3a2:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 3a8:	09 ef                	or     %ebp,%edi
 3aa:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 3b0:	c1 e1 18             	shl    $0x18,%ecx
 3b3:	89 4c 24 30          	mov    %ecx,0x30(%esp)
 3b7:	09 f9                	or     %edi,%ecx
 3b9:	89 4c 24 10          	mov    %ecx,0x10(%esp)
 3bd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
 3c1:	88 c5                	mov    %al,%ch
 3c3:	89 cf                	mov    %ecx,%edi
 3c5:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 3c9:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 3cf:	09 ef                	or     %ebp,%edi
 3d1:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 3d7:	09 f9                	or     %edi,%ecx
 3d9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
 3dd:	8b 4c 24 18          	mov    0x18(%esp),%ecx
 3e1:	88 c5                	mov    %al,%ch
 3e3:	89 cf                	mov    %ecx,%edi
 3e5:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 3e9:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 3ef:	09 ef                	or     %ebp,%edi
 3f1:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 3f7:	09 f9                	or     %edi,%ecx
 3f9:	89 4c 24 18          	mov    %ecx,0x18(%esp)
 3fd:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
 401:	88 c5                	mov    %al,%ch
 403:	89 cf                	mov    %ecx,%edi
 405:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 409:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 40f:	09 ef                	or     %ebp,%edi
 411:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
 415:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 41b:	09 f9                	or     %edi,%ecx
 41d:	8b 7c 24 0c          	mov    0xc(%esp),%edi
 421:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
 425:	0f 28 44 24 10       	movaps 0x10(%esp),%xmm0
 42a:	83 ed 01             	sub    $0x1,%ebp
 42d:	83 e5 07             	and    $0x7,%ebp
 430:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
 433:	bf 01 00 00 00       	mov    $0x1,%edi
 438:	0f 29 01             	movaps %xmm0,(%ecx)
 43b:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 43f:	0f 83 fe 00 00 00    	jae    543 <_plane_expand_border+0x303>
 445:	85 ed                	test   %ebp,%ebp
 447:	0f 84 99 00 00 00    	je     4e6 <_plane_expand_border+0x2a6>
 44d:	83 fd 01             	cmp    $0x1,%ebp
 450:	74 7d                	je     4cf <_plane_expand_border+0x28f>
 452:	83 fd 02             	cmp    $0x2,%ebp
 455:	74 67                	je     4be <_plane_expand_border+0x27e>
 457:	83 fd 03             	cmp    $0x3,%ebp
 45a:	74 51                	je     4ad <_plane_expand_border+0x26d>
 45c:	83 fd 04             	cmp    $0x4,%ebp
 45f:	90                   	nop
 460:	74 3a                	je     49c <_plane_expand_border+0x25c>
 462:	83 fd 05             	cmp    $0x5,%ebp
 465:	74 24                	je     48b <_plane_expand_border+0x24b>
 467:	83 fd 06             	cmp    $0x6,%ebp
 46a:	74 0e                	je     47a <_plane_expand_border+0x23a>
 46c:	0f 28 74 24 10       	movaps 0x10(%esp),%xmm6
 471:	bf 02 00 00 00       	mov    $0x2,%edi
 476:	0f 29 71 10          	movaps %xmm6,0x10(%ecx)
 47a:	89 fd                	mov    %edi,%ebp
 47c:	83 c7 01             	add    $0x1,%edi
 47f:	0f 28 7c 24 10       	movaps 0x10(%esp),%xmm7
 484:	c1 e5 04             	shl    $0x4,%ebp
 487:	0f 29 3c 29          	movaps %xmm7,(%ecx,%ebp,1)
 48b:	89 fd                	mov    %edi,%ebp
 48d:	83 c7 01             	add    $0x1,%edi
 490:	0f 28 44 24 10       	movaps 0x10(%esp),%xmm0
 495:	c1 e5 04             	shl    $0x4,%ebp
 498:	0f 29 04 29          	movaps %xmm0,(%ecx,%ebp,1)
 49c:	89 fd                	mov    %edi,%ebp
 49e:	83 c7 01             	add    $0x1,%edi
 4a1:	0f 28 4c 24 10       	movaps 0x10(%esp),%xmm1
 4a6:	c1 e5 04             	shl    $0x4,%ebp
 4a9:	0f 29 0c 29          	movaps %xmm1,(%ecx,%ebp,1)
 4ad:	89 fd                	mov    %edi,%ebp
 4af:	83 c7 01             	add    $0x1,%edi
 4b2:	0f 28 54 24 10       	movaps 0x10(%esp),%xmm2
 4b7:	c1 e5 04             	shl    $0x4,%ebp
 4ba:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 4be:	89 fd                	mov    %edi,%ebp
 4c0:	83 c7 01             	add    $0x1,%edi
 4c3:	0f 28 5c 24 10       	movaps 0x10(%esp),%xmm3
 4c8:	c1 e5 04             	shl    $0x4,%ebp
 4cb:	0f 29 1c 29          	movaps %xmm3,(%ecx,%ebp,1)
 4cf:	89 fd                	mov    %edi,%ebp
 4d1:	83 c7 01             	add    $0x1,%edi
 4d4:	0f 28 64 24 10       	movaps 0x10(%esp),%xmm4
 4d9:	c1 e5 04             	shl    $0x4,%ebp
 4dc:	0f 29 24 29          	movaps %xmm4,(%ecx,%ebp,1)
 4e0:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 4e4:	73 5d                	jae    543 <_plane_expand_border+0x303>
 4e6:	0f 28 54 24 10       	movaps 0x10(%esp),%xmm2
 4eb:	89 fd                	mov    %edi,%ebp
 4ed:	c1 e5 04             	shl    $0x4,%ebp
 4f0:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 4f4:	8d 6f 01             	lea    0x1(%edi),%ebp
 4f7:	c1 e5 04             	shl    $0x4,%ebp
 4fa:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 4fe:	8d 6f 02             	lea    0x2(%edi),%ebp
 501:	c1 e5 04             	shl    $0x4,%ebp
 504:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 508:	8d 6f 03             	lea    0x3(%edi),%ebp
 50b:	c1 e5 04             	shl    $0x4,%ebp
 50e:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 512:	8d 6f 04             	lea    0x4(%edi),%ebp
 515:	c1 e5 04             	shl    $0x4,%ebp
 518:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 51c:	8d 6f 05             	lea    0x5(%edi),%ebp
 51f:	c1 e5 04             	shl    $0x4,%ebp
 522:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 526:	8d 6f 06             	lea    0x6(%edi),%ebp
 529:	c1 e5 04             	shl    $0x4,%ebp
 52c:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 530:	8d 6f 07             	lea    0x7(%edi),%ebp
 533:	83 c7 08             	add    $0x8,%edi
 536:	c1 e5 04             	shl    $0x4,%ebp
 539:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 53d:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 541:	72 a3                	jb     4e6 <_plane_expand_border+0x2a6>
 543:	8b 4c 24 34          	mov    0x34(%esp),%ecx
 547:	03 54 24 34          	add    0x34(%esp),%edx
 54b:	39 4c 24 38          	cmp    %ecx,0x38(%esp)
 54f:	0f 84 b9 00 00 00    	je     60e <_plane_expand_border+0x3ce>
 555:	8d 3c 16             	lea    (%esi,%edx,1),%edi
 558:	89 d5                	mov    %edx,%ebp
 55a:	89 7c 24 10          	mov    %edi,0x10(%esp)
 55e:	f7 d5                	not    %ebp
 560:	03 6c 24 74          	add    0x74(%esp),%ebp
 564:	88 07                	mov    %al,(%edi)
 566:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 56a:	8d 7a 01             	lea    0x1(%edx),%edi
 56d:	83 e5 07             	and    $0x7,%ebp
 570:	83 c1 01             	add    $0x1,%ecx
 573:	39 7c 24 74          	cmp    %edi,0x74(%esp)
 577:	0f 8e 91 00 00 00    	jle    60e <_plane_expand_border+0x3ce>
 57d:	85 ed                	test   %ebp,%ebp
 57f:	74 68                	je     5e9 <_plane_expand_border+0x3a9>
 581:	83 fd 01             	cmp    $0x1,%ebp
 584:	74 55                	je     5db <_plane_expand_border+0x39b>
 586:	83 fd 02             	cmp    $0x2,%ebp
 589:	74 48                	je     5d3 <_plane_expand_border+0x393>
 58b:	83 fd 03             	cmp    $0x3,%ebp
 58e:	66 90                	xchg   %ax,%ax
 590:	74 39                	je     5cb <_plane_expand_border+0x38b>
 592:	83 fd 04             	cmp    $0x4,%ebp
 595:	74 2c                	je     5c3 <_plane_expand_border+0x383>
 597:	83 fd 05             	cmp    $0x5,%ebp
 59a:	74 1f                	je     5bb <_plane_expand_border+0x37b>
 59c:	83 fd 06             	cmp    $0x6,%ebp
 59f:	90                   	nop
 5a0:	74 11                	je     5b3 <_plane_expand_border+0x373>
 5a2:	8b 7c 24 10          	mov    0x10(%esp),%edi
 5a6:	88 47 01             	mov    %al,0x1(%edi)
 5a9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 5ad:	8d 7a 02             	lea    0x2(%edx),%edi
 5b0:	83 c1 02             	add    $0x2,%ecx
 5b3:	88 01                	mov    %al,(%ecx)
 5b5:	83 c7 01             	add    $0x1,%edi
 5b8:	83 c1 01             	add    $0x1,%ecx
 5bb:	88 01                	mov    %al,(%ecx)
 5bd:	83 c7 01             	add    $0x1,%edi
 5c0:	83 c1 01             	add    $0x1,%ecx
 5c3:	88 01                	mov    %al,(%ecx)
 5c5:	83 c7 01             	add    $0x1,%edi
 5c8:	83 c1 01             	add    $0x1,%ecx
 5cb:	88 01                	mov    %al,(%ecx)
 5cd:	83 c7 01             	add    $0x1,%edi
 5d0:	83 c1 01             	add    $0x1,%ecx
 5d3:	88 01                	mov    %al,(%ecx)
 5d5:	83 c7 01             	add    $0x1,%edi
 5d8:	83 c1 01             	add    $0x1,%ecx
 5db:	88 01                	mov    %al,(%ecx)
 5dd:	83 c7 01             	add    $0x1,%edi
 5e0:	83 c1 01             	add    $0x1,%ecx
 5e3:	39 7c 24 74          	cmp    %edi,0x74(%esp)
 5e7:	7e 25                	jle    60e <_plane_expand_border+0x3ce>
 5e9:	8b 54 24 74          	mov    0x74(%esp),%edx
 5ed:	83 c7 08             	add    $0x8,%edi
 5f0:	88 01                	mov    %al,(%ecx)
 5f2:	88 41 01             	mov    %al,0x1(%ecx)
 5f5:	88 41 02             	mov    %al,0x2(%ecx)
 5f8:	88 41 03             	mov    %al,0x3(%ecx)
 5fb:	88 41 04             	mov    %al,0x4(%ecx)
 5fe:	88 41 05             	mov    %al,0x5(%ecx)
 601:	88 41 06             	mov    %al,0x6(%ecx)
 604:	88 41 07             	mov    %al,0x7(%ecx)
 607:	83 c1 08             	add    $0x8,%ecx
 60a:	39 fa                	cmp    %edi,%edx
 60c:	7f df                	jg     5ed <_plane_expand_border+0x3ad>
 60e:	89 da                	mov    %ebx,%edx
 610:	0f b6 43 ff          	movzbl -0x1(%ebx),%eax
 614:	f7 da                	neg    %edx
 616:	83 e2 0f             	and    $0xf,%edx
 619:	3b 54 24 74          	cmp    0x74(%esp),%edx
 61d:	0f 47 54 24 74       	cmova  0x74(%esp),%edx
 622:	85 d2                	test   %edx,%edx
 624:	89 54 24 0c          	mov    %edx,0xc(%esp)
 628:	0f 84 b2 05 00 00    	je     be0 <_plane_expand_border+0x9a0>
 62e:	8b 7c 24 0c          	mov    0xc(%esp),%edi
 632:	ba 01 00 00 00       	mov    $0x1,%edx
 637:	88 03                	mov    %al,(%ebx)
 639:	83 ef 01             	sub    $0x1,%edi
 63c:	83 e7 07             	and    $0x7,%edi
 63f:	83 7c 24 0c 01       	cmpl   $0x1,0xc(%esp)
 644:	0f 86 88 00 00 00    	jbe    6d2 <_plane_expand_border+0x492>
 64a:	85 ff                	test   %edi,%edi
 64c:	74 56                	je     6a4 <_plane_expand_border+0x464>
 64e:	83 ff 01             	cmp    $0x1,%edi
 651:	74 45                	je     698 <_plane_expand_border+0x458>
 653:	83 ff 02             	cmp    $0x2,%edi
 656:	74 3a                	je     692 <_plane_expand_border+0x452>
 658:	83 ff 03             	cmp    $0x3,%edi
 65b:	90                   	nop
 65c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
 660:	74 2a                	je     68c <_plane_expand_border+0x44c>
 662:	83 ff 04             	cmp    $0x4,%edi
 665:	74 1f                	je     686 <_plane_expand_border+0x446>
 667:	83 ff 05             	cmp    $0x5,%edi
 66a:	74 14                	je     680 <_plane_expand_border+0x440>
 66c:	83 ff 06             	cmp    $0x6,%edi
 66f:	90                   	nop
 670:	74 08                	je     67a <_plane_expand_border+0x43a>
 672:	88 43 01             	mov    %al,0x1(%ebx)
 675:	ba 02 00 00 00       	mov    $0x2,%edx
 67a:	88 04 13             	mov    %al,(%ebx,%edx,1)
 67d:	83 c2 01             	add    $0x1,%edx
 680:	88 04 13             	mov    %al,(%ebx,%edx,1)
 683:	83 c2 01             	add    $0x1,%edx
 686:	88 04 13             	mov    %al,(%ebx,%edx,1)
 689:	83 c2 01             	add    $0x1,%edx
 68c:	88 04 13             	mov    %al,(%ebx,%edx,1)
 68f:	83 c2 01             	add    $0x1,%edx
 692:	88 04 13             	mov    %al,(%ebx,%edx,1)
 695:	83 c2 01             	add    $0x1,%edx
 698:	88 04 13             	mov    %al,(%ebx,%edx,1)
 69b:	83 c2 01             	add    $0x1,%edx
 69e:	39 54 24 0c          	cmp    %edx,0xc(%esp)
 6a2:	76 2e                	jbe    6d2 <_plane_expand_border+0x492>
 6a4:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
 6a8:	88 04 13             	mov    %al,(%ebx,%edx,1)
 6ab:	88 44 13 01          	mov    %al,0x1(%ebx,%edx,1)
 6af:	88 44 13 02          	mov    %al,0x2(%ebx,%edx,1)
 6b3:	88 44 13 03          	mov    %al,0x3(%ebx,%edx,1)
 6b7:	88 44 13 04          	mov    %al,0x4(%ebx,%edx,1)
 6bb:	88 44 13 05          	mov    %al,0x5(%ebx,%edx,1)
 6bf:	88 44 13 06          	mov    %al,0x6(%ebx,%edx,1)
 6c3:	88 44 13 07          	mov    %al,0x7(%ebx,%edx,1)
 6c7:	83 c2 08             	add    $0x8,%edx
 6ca:	39 d1                	cmp    %edx,%ecx
 6cc:	77 da                	ja     6a8 <_plane_expand_border+0x468>
 6ce:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
 6d2:	8b 6c 24 74          	mov    0x74(%esp),%ebp
 6d6:	39 6c 24 0c          	cmp    %ebp,0xc(%esp)
 6da:	0f 84 fc 02 00 00    	je     9dc <_plane_expand_border+0x79c>
 6e0:	8b 4c 24 74          	mov    0x74(%esp),%ecx
 6e4:	2b 4c 24 0c          	sub    0xc(%esp),%ecx
 6e8:	89 4c 24 38          	mov    %ecx,0x38(%esp)
 6ec:	c1 e9 04             	shr    $0x4,%ecx
 6ef:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
 6f3:	c1 e1 04             	shl    $0x4,%ecx
 6f6:	85 c9                	test   %ecx,%ecx
 6f8:	89 4c 24 34          	mov    %ecx,0x34(%esp)
 6fc:	0f 84 e3 01 00 00    	je     8e5 <_plane_expand_border+0x6a5>
 702:	0f 57 e4             	xorps  %xmm4,%xmm4
 705:	0f b6 f8             	movzbl %al,%edi
 708:	89 7c 24 30          	mov    %edi,0x30(%esp)
 70c:	89 fd                	mov    %edi,%ebp
 70e:	0f 29 64 24 10       	movaps %xmm4,0x10(%esp)
 713:	c1 e5 10             	shl    $0x10,%ebp
 716:	88 44 24 10          	mov    %al,0x10(%esp)
 71a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 71e:	88 44 24 14          	mov    %al,0x14(%esp)
 722:	88 44 24 18          	mov    %al,0x18(%esp)
 726:	88 44 24 1c          	mov    %al,0x1c(%esp)
 72a:	88 c5                	mov    %al,%ch
 72c:	89 cf                	mov    %ecx,%edi
 72e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 732:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 738:	09 ef                	or     %ebp,%edi
 73a:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 740:	c1 e1 18             	shl    $0x18,%ecx
 743:	89 4c 24 30          	mov    %ecx,0x30(%esp)
 747:	09 f9                	or     %edi,%ecx
 749:	89 4c 24 10          	mov    %ecx,0x10(%esp)
 74d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
 751:	88 c5                	mov    %al,%ch
 753:	89 cf                	mov    %ecx,%edi
 755:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 759:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 75f:	09 ef                	or     %ebp,%edi
 761:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 767:	09 f9                	or     %edi,%ecx
 769:	89 4c 24 14          	mov    %ecx,0x14(%esp)
 76d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
 771:	88 c5                	mov    %al,%ch
 773:	89 cf                	mov    %ecx,%edi
 775:	8b 4c 24 30          	mov    0x30(%esp),%ecx
 779:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 77f:	09 ef                	or     %ebp,%edi
 781:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 787:	09 f9                	or     %edi,%ecx
 789:	89 4c 24 18          	mov    %ecx,0x18(%esp)
 78d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
 791:	88 c5                	mov    %al,%ch
 793:	89 cf                	mov    %ecx,%edi
 795:	81 e7 ff ff 00 ff    	and    $0xff00ffff,%edi
 79b:	09 ef                	or     %ebp,%edi
 79d:	8b 6c 24 30          	mov    0x30(%esp),%ebp
 7a1:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
 7a7:	09 fd                	or     %edi,%ebp
 7a9:	8b 7c 24 0c          	mov    0xc(%esp),%edi
 7ad:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
 7b1:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
 7b5:	0f 28 5c 24 10       	movaps 0x10(%esp),%xmm3
 7ba:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
 7bd:	bf 01 00 00 00       	mov    $0x1,%edi
 7c2:	83 ed 01             	sub    $0x1,%ebp
 7c5:	83 e5 07             	and    $0x7,%ebp
 7c8:	0f 29 19             	movaps %xmm3,(%ecx)
 7cb:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 7cf:	0f 83 fe 00 00 00    	jae    8d3 <_plane_expand_border+0x693>
 7d5:	85 ed                	test   %ebp,%ebp
 7d7:	0f 84 99 00 00 00    	je     876 <_plane_expand_border+0x636>
 7dd:	83 fd 01             	cmp    $0x1,%ebp
 7e0:	74 7d                	je     85f <_plane_expand_border+0x61f>
 7e2:	83 fd 02             	cmp    $0x2,%ebp
 7e5:	74 67                	je     84e <_plane_expand_border+0x60e>
 7e7:	83 fd 03             	cmp    $0x3,%ebp
 7ea:	74 51                	je     83d <_plane_expand_border+0x5fd>
 7ec:	83 fd 04             	cmp    $0x4,%ebp
 7ef:	90                   	nop
 7f0:	74 3a                	je     82c <_plane_expand_border+0x5ec>
 7f2:	83 fd 05             	cmp    $0x5,%ebp
 7f5:	74 24                	je     81b <_plane_expand_border+0x5db>
 7f7:	83 fd 06             	cmp    $0x6,%ebp
 7fa:	74 0e                	je     80a <_plane_expand_border+0x5ca>
 7fc:	0f 28 6c 24 10       	movaps 0x10(%esp),%xmm5
 801:	bf 02 00 00 00       	mov    $0x2,%edi
 806:	0f 29 69 10          	movaps %xmm5,0x10(%ecx)
 80a:	89 fd                	mov    %edi,%ebp
 80c:	83 c7 01             	add    $0x1,%edi
 80f:	0f 28 74 24 10       	movaps 0x10(%esp),%xmm6
 814:	c1 e5 04             	shl    $0x4,%ebp
 817:	0f 29 34 29          	movaps %xmm6,(%ecx,%ebp,1)
 81b:	89 fd                	mov    %edi,%ebp
 81d:	83 c7 01             	add    $0x1,%edi
 820:	0f 28 7c 24 10       	movaps 0x10(%esp),%xmm7
 825:	c1 e5 04             	shl    $0x4,%ebp
 828:	0f 29 3c 29          	movaps %xmm7,(%ecx,%ebp,1)
 82c:	89 fd                	mov    %edi,%ebp
 82e:	83 c7 01             	add    $0x1,%edi
 831:	0f 28 44 24 10       	movaps 0x10(%esp),%xmm0
 836:	c1 e5 04             	shl    $0x4,%ebp
 839:	0f 29 04 29          	movaps %xmm0,(%ecx,%ebp,1)
 83d:	89 fd                	mov    %edi,%ebp
 83f:	83 c7 01             	add    $0x1,%edi
 842:	0f 28 4c 24 10       	movaps 0x10(%esp),%xmm1
 847:	c1 e5 04             	shl    $0x4,%ebp
 84a:	0f 29 0c 29          	movaps %xmm1,(%ecx,%ebp,1)
 84e:	89 fd                	mov    %edi,%ebp
 850:	83 c7 01             	add    $0x1,%edi
 853:	0f 28 54 24 10       	movaps 0x10(%esp),%xmm2
 858:	c1 e5 04             	shl    $0x4,%ebp
 85b:	0f 29 14 29          	movaps %xmm2,(%ecx,%ebp,1)
 85f:	89 fd                	mov    %edi,%ebp
 861:	83 c7 01             	add    $0x1,%edi
 864:	0f 28 5c 24 10       	movaps 0x10(%esp),%xmm3
 869:	c1 e5 04             	shl    $0x4,%ebp
 86c:	0f 29 1c 29          	movaps %xmm3,(%ecx,%ebp,1)
 870:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 874:	73 5d                	jae    8d3 <_plane_expand_border+0x693>
 876:	0f 28 6c 24 10       	movaps 0x10(%esp),%xmm5
 87b:	89 fd                	mov    %edi,%ebp
 87d:	c1 e5 04             	shl    $0x4,%ebp
 880:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 884:	8d 6f 01             	lea    0x1(%edi),%ebp
 887:	c1 e5 04             	shl    $0x4,%ebp
 88a:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 88e:	8d 6f 02             	lea    0x2(%edi),%ebp
 891:	c1 e5 04             	shl    $0x4,%ebp
 894:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 898:	8d 6f 03             	lea    0x3(%edi),%ebp
 89b:	c1 e5 04             	shl    $0x4,%ebp
 89e:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 8a2:	8d 6f 04             	lea    0x4(%edi),%ebp
 8a5:	c1 e5 04             	shl    $0x4,%ebp
 8a8:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 8ac:	8d 6f 05             	lea    0x5(%edi),%ebp
 8af:	c1 e5 04             	shl    $0x4,%ebp
 8b2:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 8b6:	8d 6f 06             	lea    0x6(%edi),%ebp
 8b9:	c1 e5 04             	shl    $0x4,%ebp
 8bc:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 8c0:	8d 6f 07             	lea    0x7(%edi),%ebp
 8c3:	83 c7 08             	add    $0x8,%edi
 8c6:	c1 e5 04             	shl    $0x4,%ebp
 8c9:	0f 29 2c 29          	movaps %xmm5,(%ecx,%ebp,1)
 8cd:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
 8d1:	72 a3                	jb     876 <_plane_expand_border+0x636>
 8d3:	8b 4c 24 34          	mov    0x34(%esp),%ecx
 8d7:	03 54 24 34          	add    0x34(%esp),%edx
 8db:	39 4c 24 38          	cmp    %ecx,0x38(%esp)
 8df:	0f 84 b9 00 00 00    	je     99e <_plane_expand_border+0x75e>
 8e5:	8d 3c 13             	lea    (%ebx,%edx,1),%edi
 8e8:	89 d5                	mov    %edx,%ebp
 8ea:	89 7c 24 10          	mov    %edi,0x10(%esp)
 8ee:	f7 d5                	not    %ebp
 8f0:	03 6c 24 74          	add    0x74(%esp),%ebp
 8f4:	88 07                	mov    %al,(%edi)
 8f6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 8fa:	8d 7a 01             	lea    0x1(%edx),%edi
 8fd:	83 e5 07             	and    $0x7,%ebp
 900:	83 c1 01             	add    $0x1,%ecx
 903:	39 7c 24 74          	cmp    %edi,0x74(%esp)
 907:	0f 8e 91 00 00 00    	jle    99e <_plane_expand_border+0x75e>
 90d:	85 ed                	test   %ebp,%ebp
 90f:	74 68                	je     979 <_plane_expand_border+0x739>
 911:	83 fd 01             	cmp    $0x1,%ebp
 914:	74 55                	je     96b <_plane_expand_border+0x72b>
 916:	83 fd 02             	cmp    $0x2,%ebp
 919:	74 48                	je     963 <_plane_expand_border+0x723>
 91b:	83 fd 03             	cmp    $0x3,%ebp
 91e:	66 90                	xchg   %ax,%ax
 920:	74 39                	je     95b <_plane_expand_border+0x71b>
 922:	83 fd 04             	cmp    $0x4,%ebp
 925:	74 2c                	je     953 <_plane_expand_border+0x713>
 927:	83 fd 05             	cmp    $0x5,%ebp
 92a:	74 1f                	je     94b <_plane_expand_border+0x70b>
 92c:	83 fd 06             	cmp    $0x6,%ebp
 92f:	90                   	nop
 930:	74 11                	je     943 <_plane_expand_border+0x703>
 932:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 936:	8d 7a 02             	lea    0x2(%edx),%edi
 939:	88 41 01             	mov    %al,0x1(%ecx)
 93c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 940:	83 c1 02             	add    $0x2,%ecx
 943:	88 01                	mov    %al,(%ecx)
 945:	83 c7 01             	add    $0x1,%edi
 948:	83 c1 01             	add    $0x1,%ecx
 94b:	88 01                	mov    %al,(%ecx)
 94d:	83 c7 01             	add    $0x1,%edi
 950:	83 c1 01             	add    $0x1,%ecx
 953:	88 01                	mov    %al,(%ecx)
 955:	83 c7 01             	add    $0x1,%edi
 958:	83 c1 01             	add    $0x1,%ecx
 95b:	88 01                	mov    %al,(%ecx)
 95d:	83 c7 01             	add    $0x1,%edi
 960:	83 c1 01             	add    $0x1,%ecx
 963:	88 01                	mov    %al,(%ecx)
 965:	83 c7 01             	add    $0x1,%edi
 968:	83 c1 01             	add    $0x1,%ecx
 96b:	88 01                	mov    %al,(%ecx)
 96d:	83 c7 01             	add    $0x1,%edi
 970:	83 c1 01             	add    $0x1,%ecx
 973:	39 7c 24 74          	cmp    %edi,0x74(%esp)
 977:	7e 25                	jle    99e <_plane_expand_border+0x75e>
 979:	8b 54 24 74          	mov    0x74(%esp),%edx
 97d:	83 c7 08             	add    $0x8,%edi
 980:	88 01                	mov    %al,(%ecx)
 982:	88 41 01             	mov    %al,0x1(%ecx)
 985:	88 41 02             	mov    %al,0x2(%ecx)
 988:	88 41 03             	mov    %al,0x3(%ecx)
 98b:	88 41 04             	mov    %al,0x4(%ecx)
 98e:	88 41 05             	mov    %al,0x5(%ecx)
 991:	88 41 06             	mov    %al,0x6(%ecx)
 994:	88 41 07             	mov    %al,0x7(%ecx)
 997:	83 c1 08             	add    $0x8,%ecx
 99a:	39 fa                	cmp    %edi,%edx
 99c:	7f df                	jg     97d <_plane_expand_border+0x73d>
 99e:	8b 54 24 3c          	mov    0x3c(%esp),%edx
 9a2:	83 44 24 44 01       	addl   $0x1,0x44(%esp)
 9a7:	8b 44 24 70          	mov    0x70(%esp),%eax
 9ab:	01 54 24 40          	add    %edx,0x40(%esp)
 9af:	01 d3                	add    %edx,%ebx
 9b1:	01 d6                	add    %edx,%esi
 9b3:	39 44 24 44          	cmp    %eax,0x44(%esp)
 9b7:	0f 85 b8 f8 ff ff    	jne    275 <_plane_expand_border+0x35>
 9bd:	8b 74 24 7c          	mov    0x7c(%esp),%esi
 9c1:	85 f6                	test   %esi,%esi
 9c3:	75 38                	jne    9fd <_plane_expand_border+0x7bd>
 9c5:	8b ac 24 80 00 00 00 	mov    0x80(%esp),%ebp
 9cc:	85 ed                	test   %ebp,%ebp
 9ce:	0f 85 b5 00 00 00    	jne    a89 <_plane_expand_border+0x849>
 9d4:	83 c4 5c             	add    $0x5c,%esp
 9d7:	5b                   	pop    %ebx
 9d8:	5e                   	pop    %esi
 9d9:	5f                   	pop    %edi
 9da:	5d                   	pop    %ebp
 9db:	c3                   	ret
 9dc:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
 9e0:	83 44 24 44 01       	addl   $0x1,0x44(%esp)
 9e5:	8b 6c 24 70          	mov    0x70(%esp),%ebp
 9e9:	01 4c 24 40          	add    %ecx,0x40(%esp)
 9ed:	01 cb                	add    %ecx,%ebx
 9ef:	01 ce                	add    %ecx,%esi
 9f1:	39 6c 24 44          	cmp    %ebp,0x44(%esp)
 9f5:	0f 85 7a f8 ff ff    	jne    275 <_plane_expand_border+0x35>
 9fb:	eb c0                	jmp    9bd <_plane_expand_border+0x77d>
 9fd:	83 7c 24 78 00       	cmpl   $0x0,0x78(%esp)
 a02:	7e c1                	jle    9c5 <_plane_expand_border+0x785>
 a04:	8b 44 24 74          	mov    0x74(%esp),%eax
 a08:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
 a0c:	8b 54 24 3c          	mov    0x3c(%esp),%edx
 a10:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
 a13:	8b 5c 24 48          	mov    0x48(%esp),%ebx
 a17:	f7 da                	neg    %edx
 a19:	89 cf                	mov    %ecx,%edi
 a1b:	89 cd                	mov    %ecx,%ebp
 a1d:	89 ce                	mov    %ecx,%esi
 a1f:	c1 ef 02             	shr    $0x2,%edi
 a22:	83 e5 02             	and    $0x2,%ebp
 a25:	29 c3                	sub    %eax,%ebx
 a27:	83 e6 01             	and    $0x1,%esi
 a2a:	89 d0                	mov    %edx,%eax
 a2c:	89 54 24 2c          	mov    %edx,0x2c(%esp)
 a30:	31 d2                	xor    %edx,%edx
 a32:	2b 44 24 74          	sub    0x74(%esp),%eax
 a36:	03 44 24 48          	add    0x48(%esp),%eax
 a3a:	83 f9 04             	cmp    $0x4,%ecx
 a3d:	89 7c 24 10          	mov    %edi,0x10(%esp)
 a41:	0f 82 5f 01 00 00    	jb     ba6 <_plane_expand_border+0x966>
 a47:	85 f6                	test   %esi,%esi
 a49:	0f 84 f7 00 00 00    	je     b46 <_plane_expand_border+0x906>
 a4f:	89 5c 24 30          	mov    %ebx,0x30(%esp)
 a53:	8b 74 24 30          	mov    0x30(%esp),%esi
 a57:	85 ed                	test   %ebp,%ebp
 a59:	89 c7                	mov    %eax,%edi
 a5b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 a5f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 a61:	74 0b                	je     a6e <_plane_expand_border+0x82e>
 a63:	0f b7 1e             	movzwl (%esi),%ebx
 a66:	b9 02 00 00 00       	mov    $0x2,%ecx
 a6b:	66 89 1f             	mov    %bx,(%edi)
 a6e:	0f b6 34 0e          	movzbl (%esi,%ecx,1),%esi
 a72:	83 c2 01             	add    $0x1,%edx
 a75:	89 f3                	mov    %esi,%ebx
 a77:	88 1c 0f             	mov    %bl,(%edi,%ecx,1)
 a7a:	03 44 24 2c          	add    0x2c(%esp),%eax
 a7e:	39 54 24 78          	cmp    %edx,0x78(%esp)
 a82:	7f cf                	jg     a53 <_plane_expand_border+0x813>
 a84:	e9 3c ff ff ff       	jmp    9c5 <_plane_expand_border+0x785>
 a89:	83 7c 24 78 00       	cmpl   $0x0,0x78(%esp)
 a8e:	0f 8e 40 ff ff ff    	jle    9d4 <_plane_expand_border+0x794>
 a94:	8b 44 24 74          	mov    0x74(%esp),%eax
 a98:	31 d2                	xor    %edx,%edx
 a9a:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
 a9e:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
 aa1:	8b 5c 24 70          	mov    0x70(%esp),%ebx
 aa5:	89 ce                	mov    %ecx,%esi
 aa7:	8b 44 24 70          	mov    0x70(%esp),%eax
 aab:	89 cd                	mov    %ecx,%ebp
 aad:	c1 ee 02             	shr    $0x2,%esi
 ab0:	83 e5 02             	and    $0x2,%ebp
 ab3:	0f af 44 24 3c       	imul   0x3c(%esp),%eax
 ab8:	83 eb 01             	sub    $0x1,%ebx
 abb:	89 74 24 10          	mov    %esi,0x10(%esp)
 abf:	89 ce                	mov    %ecx,%esi
 ac1:	0f af 5c 24 3c       	imul   0x3c(%esp),%ebx
 ac6:	83 e6 01             	and    $0x1,%esi
 ac9:	2b 5c 24 74          	sub    0x74(%esp),%ebx
 acd:	2b 44 24 74          	sub    0x74(%esp),%eax
 ad1:	03 5c 24 48          	add    0x48(%esp),%ebx
 ad5:	03 44 24 48          	add    0x48(%esp),%eax
 ad9:	83 f9 04             	cmp    $0x4,%ecx
 adc:	0f 82 8a 00 00 00    	jb     b6c <_plane_expand_border+0x92c>
 ae2:	85 f6                	test   %esi,%esi
 ae4:	74 3a                	je     b20 <_plane_expand_border+0x8e0>
 ae6:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
 aea:	8b 74 24 2c          	mov    0x2c(%esp),%esi
 aee:	85 ed                	test   %ebp,%ebp
 af0:	89 c7                	mov    %eax,%edi
 af2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 af6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 af8:	74 0b                	je     b05 <_plane_expand_border+0x8c5>
 afa:	0f b7 1e             	movzwl (%esi),%ebx
 afd:	b9 02 00 00 00       	mov    $0x2,%ecx
 b02:	66 89 1f             	mov    %bx,(%edi)
 b05:	0f b6 34 0e          	movzbl (%esi,%ecx,1),%esi
 b09:	83 c2 01             	add    $0x1,%edx
 b0c:	89 f3                	mov    %esi,%ebx
 b0e:	88 1c 0f             	mov    %bl,(%edi,%ecx,1)
 b11:	03 44 24 3c          	add    0x3c(%esp),%eax
 b15:	39 54 24 78          	cmp    %edx,0x78(%esp)
 b19:	7f cf                	jg     aea <_plane_expand_border+0x8aa>
 b1b:	e9 b4 fe ff ff       	jmp    9d4 <_plane_expand_border+0x794>
 b20:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 b24:	85 ed                	test   %ebp,%ebp
 b26:	89 c7                	mov    %eax,%edi
 b28:	89 de                	mov    %ebx,%esi
 b2a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 b2c:	74 06                	je     b34 <_plane_expand_border+0x8f4>
 b2e:	0f b7 0e             	movzwl (%esi),%ecx
 b31:	66 89 0f             	mov    %cx,(%edi)
 b34:	83 c2 01             	add    $0x1,%edx
 b37:	03 44 24 3c          	add    0x3c(%esp),%eax
 b3b:	39 54 24 78          	cmp    %edx,0x78(%esp)
 b3f:	7f df                	jg     b20 <_plane_expand_border+0x8e0>
 b41:	e9 8e fe ff ff       	jmp    9d4 <_plane_expand_border+0x794>
 b46:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 b4a:	85 ed                	test   %ebp,%ebp
 b4c:	89 c7                	mov    %eax,%edi
 b4e:	89 de                	mov    %ebx,%esi
 b50:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 b52:	74 06                	je     b5a <_plane_expand_border+0x91a>
 b54:	0f b7 0e             	movzwl (%esi),%ecx
 b57:	66 89 0f             	mov    %cx,(%edi)
 b5a:	83 c2 01             	add    $0x1,%edx
 b5d:	03 44 24 2c          	add    0x2c(%esp),%eax
 b61:	39 54 24 78          	cmp    %edx,0x78(%esp)
 b65:	7f df                	jg     b46 <_plane_expand_border+0x906>
 b67:	e9 59 fe ff ff       	jmp    9c5 <_plane_expand_border+0x785>
 b6c:	89 54 24 10          	mov    %edx,0x10(%esp)
 b70:	31 c9                	xor    %ecx,%ecx
 b72:	85 ed                	test   %ebp,%ebp
 b74:	74 0b                	je     b81 <_plane_expand_border+0x941>
 b76:	0f b7 13             	movzwl (%ebx),%edx
 b79:	b9 02 00 00 00       	mov    $0x2,%ecx
 b7e:	66 89 10             	mov    %dx,(%eax)
 b81:	85 f6                	test   %esi,%esi
 b83:	74 09                	je     b8e <_plane_expand_border+0x94e>
 b85:	0f b6 3c 0b          	movzbl (%ebx,%ecx,1),%edi
 b89:	89 fa                	mov    %edi,%edx
 b8b:	88 14 08             	mov    %dl,(%eax,%ecx,1)
 b8e:	83 44 24 10 01       	addl   $0x1,0x10(%esp)
 b93:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 b97:	03 44 24 3c          	add    0x3c(%esp),%eax
 b9b:	39 4c 24 78          	cmp    %ecx,0x78(%esp)
 b9f:	7f cf                	jg     b70 <_plane_expand_border+0x930>
 ba1:	e9 2e fe ff ff       	jmp    9d4 <_plane_expand_border+0x794>
 ba6:	89 54 24 10          	mov    %edx,0x10(%esp)
 baa:	31 c9                	xor    %ecx,%ecx
 bac:	85 ed                	test   %ebp,%ebp
 bae:	74 0b                	je     bbb <_plane_expand_border+0x97b>
 bb0:	0f b7 0b             	movzwl (%ebx),%ecx
 bb3:	66 89 08             	mov    %cx,(%eax)
 bb6:	b9 02 00 00 00       	mov    $0x2,%ecx
 bbb:	85 f6                	test   %esi,%esi
 bbd:	74 09                	je     bc8 <_plane_expand_border+0x988>
 bbf:	0f b6 3c 0b          	movzbl (%ebx,%ecx,1),%edi
 bc3:	89 fa                	mov    %edi,%edx
 bc5:	88 14 08             	mov    %dl,(%eax,%ecx,1)
 bc8:	83 44 24 10 01       	addl   $0x1,0x10(%esp)
 bcd:	8b 4c 24 10          	mov    0x10(%esp),%ecx
 bd1:	03 44 24 2c          	add    0x2c(%esp),%eax
 bd5:	39 4c 24 78          	cmp    %ecx,0x78(%esp)
 bd9:	7f cf                	jg     baa <_plane_expand_border+0x96a>
 bdb:	e9 e5 fd ff ff       	jmp    9c5 <_plane_expand_border+0x785>
 be0:	31 d2                	xor    %edx,%edx
 be2:	e9 f9 fa ff ff       	jmp    6e0 <_plane_expand_border+0x4a0>
 be7:	31 d2                	xor    %edx,%edx
 be9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
 bf0:	e9 5b f7 ff ff       	jmp    350 <_plane_expand_border+0x110>
 bf5:	90                   	nop
 bf6:	90                   	nop
 bf7:	90                   	nop
 bf8:	90                   	nop
 bf9:	90                   	nop
 bfa:	90                   	nop
 bfb:	90                   	nop
 bfc:	90                   	nop
 bfd:	90                   	nop
 bfe:	90                   	nop
 bff:	90                   	nop


please check:

 372:	0f 57 c9             	xorps  %xmm1,%xmm1
 375:	0f b6 f8             	movzbl %al,%edi
 378:	89 7c 24 30          	mov    %edi,0x30(%esp)
 37c:	89 fd                	mov    %edi,%ebp
 37e:	0f 29 4c 24 10       	movaps %xmm1,0x10(%esp)


%esp is not aligned on 16

I just use the following patch:

diff --git a/common/frame.c b/common/frame.c
index 9d630f8..2209683 100644
--- a/common/frame.c
+++ b/common/frame.c
@@ -255,8 +255,7 @@ int x264_frame_copy_picture( x264_t *h,
x264_frame_t *dst, x264_picture_t *src )

 static void ALWAYS_INLINE pixel_memset( pixel *dst, int value, int size )
 {
-    for( int i = 0; i < size; i++ )
-        dst[i] = value;
+    memset(dst, value, size);
 }

 static void plane_expand_border( pixel *pix, int i_stride, int
i_width, int i_height, int i_padh, int i_padv, int b_pad_top, int
b_pad_bottom )

On Wed, Jun 2, 2010 at 1:38 PM, <git at videolan.org> wrote:
>
> x264 | branch: master | Oskar Arvidsson <oskar at irock.se> | Wed Jun  2 01:35:38 2010 +0200| [d3ff95cc2ade25935fbc346177c0bee2b8f61514] | committer: Jason Garrett-Glaser
>
> Convert to a unified "pixel" type for pixel data
> Necessary for future high bit-depth support.
> Various macros and extra types have been introduced to make operations on variable-size pixels more convenient.
>
> > http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=d3ff95cc2ade25935fbc346177c0bee2b8f61514
> ---
>
>  common/common.h      |   32 +++--
>  common/dct.c         |   80 ++++++------
>  common/dct.h         |   32 +++---
>  common/deblock.c     |   42 ++++----
>  common/frame.c       |   39 ++++---
>  common/frame.h       |   18 ++--
>  common/macroblock.c  |   18 ++--
>  common/macroblock.h  |    3 +
>  common/mc.c          |   90 +++++++-------
>  common/mc.h          |   34 +++---
>  common/pixel.c       |   46 ++++----
>  common/pixel.h       |   44 ++++----
>  common/predict.c     |  323 +++++++++++++++++++++++++-------------------------
>  common/predict.h     |    6 +-
>  common/visualize.c   |    2 +-
>  encoder/analyse.c    |  118 +++++++++---------
>  encoder/encoder.c    |    6 +-
>  encoder/macroblock.c |   48 ++++----
>  encoder/macroblock.h |    4 +-
>  encoder/me.c         |   48 ++++----
>  encoder/me.h         |    6 +-
>  encoder/rdo.c        |   30 +++---
>  encoder/slicetype.c  |   34 +++---
>  tools/checkasm.c     |  278 ++++++++++++++++++++++---------------------
>  24 files changed, 702 insertions(+), 679 deletions(-)
>
> Diff:   http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=d3ff95cc2ade25935fbc346177c0bee2b8f61514
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel



--
-----------------------------------------------------------------------------------------
My key fingerprint: d1:03:f5:32:26:ff:d7:3c:e4:42:e3:51:ec:92:78:b2


More information about the x264-devel mailing list