- 博客(38)
- 资源 (284)
- 收藏
- 关注
原创 Assembly x64 Intro - SSE2 Hadamard 4 DC
;***********************************************************************;void WelsHadamardT4Dc_sse2( int16_t *luma_dc, int16_t *pDct);**************************************************************
2015-12-18 09:20:31 495
原创 Assembly x64 Intro - SSE2 IDCT I16X16 DC
;***********************************************************************; void WelsIDctRecI16x16Dc_sse2(uint8_t *rec, int32_t stride, uint8_t *pred, int32_t pred_stride, int16_t *dct_dc);*********
2015-12-18 09:19:16 351
原创 Assembly x64 Intro - SSE2 IDCT
;***********************************************************************; void WelsIDctFourT4Rec_sse2(uint8_t *rec, int32_t stride, uint8_t *pred, int32_t pred_stride, int16_t *rs);;**************
2015-12-18 09:17:53 389
原创 Assembly x64 Intro - SSE2 DCT
;***********************************************************************; void WelsDctFourT4_sse2(int16_t *pDct, uint8_t *pix1, int32_t i_pix1, uint8_t *pix2, int32_t i_pix2 );********************
2015-12-18 09:16:43 411
原创 Assembly x64 Intro - SSE2 Diff 8 Load
;***********************************************************************; void WelsDctFourT4_sse2(int16_t *pDct, uint8_t *pix1, int32_t i_pix1, uint8_t *pix2, int32_t i_pix2 );********************
2015-12-16 21:32:52 435
原创 Assembly x64 Intro - SSE2 8DC Load
%macro SSE2_Load8DC 6 movdqa %1, %6 ; %1 = dc0 dc1 paddw %1, %5 psraw %1, $06 ; (dc + 32) >> 6 movdqa %2, %1 psrldq %2,
2015-12-16 16:06:21 351
原创 Assembly x64 Intro - SSE2 Diff 4x8 Store
%macro SSE2_StoreDiff8p 6 paddw %1, %3 psraw %1, $06 movq %2, %6 punpcklbw %2, %4 paddsw %2, %1 packuswb %2, %2 movq %5, %2%end
2015-12-16 16:05:52 365
原创 Assembly x64 Intro - SSE2 4x8 Store
%macro SSE2_Store4x8p 6 SSE2_XSawp qdq, %2, %3, %6 SSE2_XSawp qdq, %4, %5, %3 MOVDQ [%1+0x00], %2 MOVDQ [%1+0x10], %4 MOVDQ [%1+0x20], %6 MOVDQ [%1+0x30], %3
2015-12-16 16:05:11 379
原创 Assembly x64 Intro - SSE2 4x8 Load
%macro SSE2_Load4x8p 6 MOVDQ %2, [%1+0x00] MOVDQ %4, [%1+0x10] MOVDQ %6, [%1+0x20] MOVDQ %3, [%1+0x30] SSE2_XSawp qdq, %4, %3, %5 ; 为什么要做这两步??
2015-12-16 16:04:25 568
原创 Assembly x64 Intro - SSE2 2x4x4W Transpose
;in: xmm0, xmm1, xmm2, xmm3 pOut: xmm0, xmm1, xmm3, xmm4%macro SSE2_TransTwo4x4W 5 SSE2_XSawp wd, %1, %2, %5 SSE2_XSawp wd, %3, %4, %2 SSE2_XSawp dq, %1, %3, %4 SSE2_XSawp d
2015-12-16 11:06:58 550
原创 Assembly x64 Intro - SSE2 4x4D Transpose
; in: xmm1, xmm2, xmm3, xmm4 pOut: xmm1, xmm4, xmm5, mm3%macro SSE2_Trans4x4D 5 SSE2_XSawp dq, %1, %2, %5 SSE2_XSawp dq, %3, %4, %2 SSE2_XSawp qdq, %1, %3, %4 SSE2_XSawp qdq,
2015-12-16 10:21:27 322
原创 Assembly x64 Intro - MMX 4x4W Transpose
; pOut mm1, mm4, mm5, mm3%macro MMX_Trans4x4W 5 MMX_XSwap wd, %1, %2, %5 MMX_XSwap wd, %3, %4, %2 MMX_XSwap dq, %1, %3, %4 MMX_XSwap dq, %5, %2, %3%endmacro
2015-12-16 10:18:12 560
原创 Assembly x64 Intro - XMM ABS
%macro WELS_AbsW 2 pxor %2, %2 psubw %2, %1 pmaxsw %1, %2%endmacroWELS_AbsW xmm0, xmm3展开如下:pxor xmm3, xmm3 => xmm3 = 0psubw xmm3, xmm0 => x
2015-12-16 09:40:20 512
原创 Assembly x64 Intro - SSE2 Copy8Times
;copy a dw into a xmm for 8 times%macro SSE2_Copy8Times 2 movd %1, %2 punpcklwd %1, %1 pshufd %1, %1, 0%endmacro SSE2_Copy8Times xmm1, r2d ; xmm1 = b,b,b,b,b,
2015-12-16 09:31:02 328
原创 Assembly x64 Intro - SSE2 Copy16Times
;copy a db into a xmm for 16 times%macro SSE2_Copy16Times 2 movd %1, %2 pshuflw %1, %1, 0 punpcklqdq %1, %1 packuswb %1, %1%endmacro
2015-12-16 09:20:33 321
原创 Assembly x64 Intro - View Assemble Variable by GDB
extern printf%define arg1 rdi%define arg2 rsi%define arg3 rdx%define arg4 rcx%define arg5 r8%define arg6 r9%define arg7 [rsp + push_num*8 + 8]%define arg8 [rsp + push_num*8 + 16]%def
2015-12-15 16:17:00 492
原创 Assembly x64 Intro - Dct.asm of OpenH264 Decode
;*!;* \copy;* Copyright (c) 2009-2013, Cisco Systems;* All rights reserved.;*;* Redistribution and use in source and binary forms, with or without;* modification, are perm
2015-12-10 15:08:23 450
原创 Assembly x64 Intro - Dct.asm of OpenH264 Encode
;*!;* \copy;* Copyright (c) 2009-2013, Cisco Systems;* All rights reserved.;*;* Redistribution and use in source and binary forms, with or without;* modification, are
2015-12-10 15:06:44 3374
原创 Assembly x64 Intro - Align 16 of Nasm
1. addr.S extern printf ; the C function to be called%macro pabc 1 ; a "simple" print macro section .data.str db %1,0 ; %1 is first actual in macro call section .text
2015-12-10 13:36:34 510
原创 Assembly x64 Intro - Understand stack frame from example
#include #include int64_t testregs(int a, int b, int c, int d, int e, int f, int g, int h);int64_t testregs(int a, int b, int c, int d, int e, int f, int g, int h){ int64_t result; r
2015-12-10 11:07:45 393
转载 Assembly x64 Intro - Stack frame layout on x86-64
http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64/Stack frame layout on x86-64 September 06, 2011 at 20:13Tags Articles , Assembly , LinuxA few months ag
2015-12-10 10:43:47 678
原创 Assembly x64 Intro - GAS Assembly Issue
movslq %eax,%rbx movsx rbx, eax40056e: 8b 45 d0 mov -0x30(%rbp),%eax400571: 48 63 d8 movslq %eax,%rbx400574: 48 8b 45 f0 mov -0
2015-12-10 10:35:47 372
转载 Assembly x64 Intro - Register Macro Define from OpenH264
%ifdef WIN64 ; Windows x64 ;************************************DEFAULT RELBITS 64%define arg1 rcx%define arg2 rdx%define arg3 r8%define arg4 r9%define arg5 [rsp + push_num*8 + 40]%def
2015-12-10 09:05:19 384
转载 Assembly x64 Intro - Arrays
1. all1_64.asm; call1_64.asm a basic structure for a subroutine to be called from "C";; Parameter: long int *L; Result: L[0]=L[0]+3 L[1]=L[1]+4 global call1_64 ; linker must kn
2015-12-09 16:19:38 410
转载 Assembly x64 Intro - Horner Polynomial Evaluation
; horner_64.asm Horners method of evaluating polynomials;; given a polynomial Y = a_n X^n + a_n-1 X^n-1 + ... a_1 X + a_0; a_n is the coefficient 'a' with subscript n. X^n is X to nth power;
2015-12-09 15:36:46 341
转载 Assembly x64 Intro - Logic Operate
; intlogic_64.asm show some simple C code and corresponding nasm code; the nasm code is one sample, not unique;; compile: nasm -f elf64 -l intlogic_64.lst intlogic_64.asm
2015-12-09 15:33:45 340
转载 Assembly x64 Intro - Condition Compare
; ifint_64.asm code ifint_64.c for nasm ; /* ifint_64.c an 'if' statement that will be coded for nasm */; #include ; int main(); {; long int a=1;; long int b=2;; long int c=3;;
2015-12-09 15:28:00 360
转载 Assembly x64 Intro - Shift Operate
extern printf%macro prt1 1 section .data.str db %1, 0 section .text mov rdi, fmt1 mov rsi, .str mov rdx, rax mov rax, 0 call printf%endmacro%macro prt2 1 section .data
2015-12-09 15:20:03 383
转载 Assembly x64 Intro - Register Usage
; testreg_64.asm test what register names can be used;; compile: nasm -f elf64 -l testreg_64.lst testasm_64.asm; link: gcc -o testreg_64 testreg_64.o; run: ./testreg # may get segfault or
2015-12-09 14:47:20 659
转载 Assembly x64 Intro - Loop Example
; loopint_64.asm code loopint.c for nasm ; /* loopint_64.c a very simple loop that will be coded for nasm */; #include ; int main(); {; long int dd1[100]; // 100 could be 3 gigabytes;
2015-12-09 14:43:00 317
转载 Assembly x64 Intro - Nasm Fibinachi Numbers Implementation
; fib_64l.asm using 64 bit registers to implement fib.c global main extern printf section .dataformat: db '%15ld', 10, 0title: db 'fibinachi numbers', 10, 0 section .textmain: push
2015-12-09 14:37:20 316
转载 Assembly x64 Intro - Floating Point Operate
; fltarith_64.asm show some simple C code and corresponding nasm code; the nasm code is one sample, not unique;; compile nasm -f elf64 -l fltarith_64.lst fltarith_64.asm;
2015-12-09 14:16:32 302
转载 Assembly x64 Intro - Arith Operate
extern printf%macro prtabc 1 section .data.str db %1, 0 section .text mov rdi, fmt4 mov rsi, .str mov rdx, [a] mov rcx, [b] mov r8, [c] mov rax, 0 ; no any xm
2015-12-09 13:33:12 309
转载 Assembly x64 Intro - More Types for Printf
extern printf section .datafmt2: db "printf flt2 = %e", 10, 0fmt3: db "char1 = %c str1 = %s len = %d", 10, 0fmt4: db "char1 = %c str1 = %s len = %d inta1 = %d inta2 = %ld", 10, 0fmt5: db "h
2015-12-09 10:00:55 247
转载 Assembly x64 Intro - Nasm Syntax
1.1 nasm 是区分大小写 例如:符号 foo 与 FOO 是两个不同的标识符。 1.2 内存操作数表达式1.2.1 在 nasm 语法里,对memory 操作数需要加 [ ] 括号下面的代码:foo equ 1bar dw 2 bits 32 mov eax, foo mov ebx, b
2015-12-08 16:34:11 391
转载 Assembly x64 Intro - call extern printf
1. print1.S; Declare external function extern printf ; the C function, to be called SECTION .data ; Data section, initialized variables a: dq
2015-12-08 15:23:16 605
原创 Assembly x64 Intro - Nasm Example
1. file add.S.globl my_addmy_add: pushq %rbp movq %rsp, %rbp addq %rsi, %rdi movq %rdi, %rax leaveq retq2. file max.S.globl my_maxmy_max: pushq %rb
2015-12-08 15:10:42 357
转载 Laplace Transform Intro - 01
http://www.rapidtables.com/math/calculus/laplace_transform.htmLaplace TransformLaplace transform functionLaplace transform tableLaplace transform propertiesLaplace transform examplesLaplac
2015-12-01 14:12:12 540
OpenGL Programming Guide 8th Edition - 2013
2013-10-14
Heterogeneous Computing with OpenCL
2013-09-25
Network Programming for Microsoft Windows, 2nd Edition
2013-09-22
H264_And_MPEG4_Video_Compression_Video_Coding_For_Next_Generation_Multimedia
2013-08-23
Discrete-Time Signal Processing 3rd edition (oppenheim)
2013-07-03
source code of many av codecs
2013-05-10
mpeg4ip source code
2013-05-08
HEVC test model source code 1.0
2013-04-24
Multiple View Geometry in Computer Vision
2013-03-31
Image Processing, Analysis, and Machine Vision
2013-03-31
Computer Vision-A Modern Approach
2013-03-31
Computer Vision Algorithms and Applications
2013-03-31
Mathematics for 3D Game Programming and Computer Graphics (Third Edition)
2013-03-25
opengl 4.3 specification core with changes
2013-03-21
The Scientist and Engineer's and Guide to Digital Signal Processing.pdf
2019-06-05
Machine Learning - The Art and Science of Algorithms that Make Sense of Data
2015-03-16
H264-2014-02
2015-03-06
H265-2014-10
2015-03-06
Voice over IP Fundamentals
2014-10-22
ISO-IEC-14496-1-2-3
2014-08-29
A First Course on Wavelets
2014-07-02
VC-1 and H.264 video compression standards for broadband video services
2014-04-13
aes encrypt source code
2014-03-18
x264 h264_find_frame_end flow diagram
2014-03-11
Head First Design Patterns (English Edition)
2013-11-21
OpenCV 2 Computer Vision Application Programming Cookbook
2013-10-18
Mastering OpenCV with Practical Computer Vision Projects (full version)
2013-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人