// File: /workspace/github_c_makefile_star2_O0/akumrao[P]videoAnalyzer/core/frame.c
// Function: x264_frame_expand_border(x264_frame_t*)
void x264_frame_expand_border( x264_frame_t *frame )
{
    int w;
    int i, y;
    for( i = 0; i < frame->i_plane; i++ )
    {
#define PPIXEL(x, y) ( frame->plane[i] + (x) +(y)*frame->i_stride[i] )
        w = ( i == 0 ) ? 32 : 16;

        for( y = 0; y < w; y++ )
        {
            /* upper band */
            memcpy( PPIXEL(0,-y-1), PPIXEL(0,0), frame->i_stride[i] - 2 * w);
            /* up left corner */
            memset( PPIXEL(-w,-y-1 ), PPIXEL(0,0)[0], w );
            /* up right corner */
            memset( PPIXEL(frame->i_stride[i] - 2*w,-y-1), PPIXEL( frame->i_stride[i]-1-2*w,0)[0], w );

            /* lower band */
            memcpy( PPIXEL(0, frame->i_lines[i]+y), PPIXEL(0,frame->i_lines[i]-1), frame->i_stride[i] - 2 * w );
            /* low left corner */
            memset( PPIXEL(-w, frame->i_lines[i]+y), PPIXEL(0,frame->i_lines[i]-1)[0], w);
            /* low right corner */
            memset( PPIXEL(frame->i_stride[i]-2*w, frame->i_lines[i]+y), PPIXEL(frame->i_stride[i]-1-2*w,frame->i_lines[i]-1)[0], w);

        }
        for( y = 0; y < frame->i_lines[i]; y++ )
        {
            /* left band */
            memset( PPIXEL( -w, y ), PPIXEL( 0, y )[0], w );
            /* right band */
            memset( PPIXEL( frame->i_stride[i]-2*w, y ), PPIXEL( frame->i_stride[i] - 1-2*w, y )[0], w );
        }
#undef PPIXEL
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x20(%rcx), %eax
jge 0x5a86
movl -0x10(%rbp), %edx
movl $0x10, %eax
movl $0x20, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x596a
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
xorl %eax, %eax
subl -0x14(%rbp), %eax
subl $0x1, %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rsi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imull $0x0, 0x24(%rax,%rcx,4), %eax
cltq
addq %rax, %rsi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x24(%rax,%rcx,4), %eax
movl -0xc(%rbp), %ecx
shll %ecx
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20a0
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
xorl %eax, %eax
subl -0xc(%rbp), %eax
cltq
addq %rax, %rdi
xorl %eax, %eax
subl -0x14(%rbp), %eax
subl $0x1, %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull $0x0, 0x24(%rcx,%rdx,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x24(%rax,%rcx,4), %eax
movl -0xc(%rbp), %ecx
shll %ecx
subl %ecx, %eax
cltq
addq %rax, %rdi
xorl %eax, %eax
subl -0x14(%rbp), %eax
subl $0x1, %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movl 0x24(%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movl -0xc(%rbp), %edx
shll %edx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull $0x0, 0x24(%rcx,%rdx,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x34(%rax,%rcx,4), %eax
addl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rsi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x34(%rax,%rcx,4), %eax
subl $0x1, %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rsi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x24(%rax,%rcx,4), %eax
movl -0xc(%rbp), %ecx
shll %ecx
subl %ecx, %eax
movslq %eax, %rdx
callq 0x20a0
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
xorl %eax, %eax
subl -0xc(%rbp), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x34(%rax,%rcx,4), %eax
addl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movl 0x34(%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movq -0x8(%rbp), %rdx
movslq -0x10(%rbp), %rsi
imull 0x24(%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x24(%rax,%rcx,4), %eax
movl -0xc(%rbp), %ecx
shll %ecx
subl %ecx, %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x34(%rax,%rcx,4), %eax
addl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movl 0x24(%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movl -0xc(%rbp), %edx
shll %edx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movl 0x34(%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movq -0x8(%rbp), %rdx
movslq -0x10(%rbp), %rsi
imull 0x24(%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5680
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
cmpl 0x34(%rcx,%rdx,4), %eax
jge 0x5a76
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
xorl %eax, %eax
subl -0xc(%rbp), %eax
cltq
addq %rax, %rdi
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %rdx
movslq -0x10(%rbp), %rsi
imull 0x24(%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl 0x24(%rax,%rcx,4), %eax
movl -0xc(%rbp), %ecx
shll %ecx
subl %ecx, %eax
cltq
addq %rax, %rdi
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
imull 0x24(%rcx,%rdx,4), %eax
cltq
addq %rax, %rdi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq 0x48(%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movl 0x24(%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movl -0xc(%rbp), %edx
shll %edx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %rdx
movslq -0x10(%rbp), %rsi
imull 0x24(%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movslq -0xc(%rbp), %rdx
movzbl %al, %esi
callq 0x2070
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5971
jmp 0x5a78
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x5653
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)