GAR --Help

연습 2015. 11. 11. 16:09

Usage: C:\Program Files\CodeBlocks\MinGW\bin\ar.exe [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [member-name] [count] archive-file file...

       C:\Program Files\CodeBlocks\MinGW\bin\ar.exe -M [<mri-script]

 commands:

  d            - delete file(s) from the archive

  m[ab]        - move file(s) in the archive

  p            - print file(s) found in the archive

  q[f]         - quick append file(s) to the archive

  r[ab][f][u]  - replace existing or insert new file(s) into the archive

  s            - act as ranlib

  t            - display contents of archive

  x[o]         - extract file(s) from the archive

 command specific modifiers:

  [a]          - put file(s) after [member-name]

  [b]          - put file(s) before [member-name] (same as [i])

  [D]          - use zero for timestamps and uids/gids

  [U]          - use actual timestamps and uids/gids (default)

  [N]          - use instance [count] of name

  [f]          - truncate inserted file names

  [P]          - use full path names when matching

  [o]          - preserve original dates

  [u]          - only replace files that are newer than current archive contents

 generic modifiers:

  [c]          - do not warn if the library had to be created

  [s]          - create an archive index (cf. ranlib)

  [S]          - do not build a symbol table

  [T]          - make a thin archive

  [v]          - be verbose

  [V]          - display the version number

  @<file>      - read options from <file>

  --target=BFDNAME - specify the target object format as BFDNAME

 emulation options: 

  No emulation specific options

C:\Program Files\CodeBlocks\MinGW\bin\ar.exe: supported targets: pe-x86-64 pei-x86-64 elf64-x86-64 elf64-l1om elf64-k1om pe-i386 pei-i386 elf32-i386 elf64-little elf64-big elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex

Report bugs to <mingw-w64-public@lists.sourceforge.net>



'연습' 카테고리의 다른 글

CodeBlocks 설치 및 설정하기.  (0) 2015.11.17
XWRT 문제점...  (0) 2015.11.15
GCC --help  (0) 2015.11.10
압축률 약 18%에, 메모리 량도 1.5G이내인 조금 좋은 압축 프로그램 -xwrt-  (0) 2015.11.09
GAS --help  (0) 2015.11.07
Posted by JunkMam
,

GCC --help

연습 2015. 11. 10. 22:52

Usage: gcc.exe [options] file...

Options:

  -pass-exit-codes         Exit with highest error code from a phase

  --help                   Display this information

  --target-help            Display target specific command line options

  --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]

                           Display specific types of command line options

  (Use '-v --help' to display command line options of sub-processes)

  --version                Display compiler version information

  -dumpspecs               Display all of the built in spec strings

  -dumpversion             Display the version of the compiler

  -dumpmachine             Display the compiler's target processor

  -print-search-dirs       Display the directories in the compiler's search path

  -print-libgcc-file-name  Display the name of the compiler's companion library

  -print-file-name=<lib>   Display the full path to library <lib>

  -print-prog-name=<prog>  Display the full path to compiler component <prog>

  -print-multiarch         Display the target's normalized GNU triplet, used as

                           a component in the library path

  -print-multi-directory   Display the root directory for versions of libgcc

  -print-multi-lib         Display the mapping between command line options and

                           multiple library search directories

  -print-multi-os-directory Display the relative path to OS libraries

  -print-sysroot           Display the target libraries directory

  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers

  -Wa,<options>            Pass comma-separated <options> on to the assembler

  -Wp,<options>            Pass comma-separated <options> on to the preprocessor

  -Wl,<options>            Pass comma-separated <options> on to the linker

  -Xassembler <arg>        Pass <arg> on to the assembler

  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor

  -Xlinker <arg>           Pass <arg> on to the linker

  -save-temps              Do not delete intermediate files

  -save-temps=<arg>        Do not delete intermediate files

  -no-canonical-prefixes   Do not canonicalize paths when building relative

                           prefixes to other gcc components

  -pipe                    Use pipes rather than intermediate files

  -time                    Time the execution of each subprocess

  -specs=<file>            Override built-in specs with the contents of <file>

  -std=<standard>          Assume that the input sources are for <standard>

  --sysroot=<directory>    Use <directory> as the root directory for headers

                           and libraries

  -B <directory>           Add <directory> to the compiler's search paths

  -v                       Display the programs invoked by the compiler

  -###                     Like -v but options quoted and commands not executed

  -E                       Preprocess only; do not compile, assemble or link

  -S                       Compile only; do not assemble or link

  -c                       Compile and assemble, but do not link

  -o <file>                Place the output into <file>

  -pie                     Create a position independent executable

  -shared                  Create a shared library

  -x <language>            Specify the language of the following input files

                           Permissible languages include: c c++ assembler none

                           'none' means revert to the default behavior of

                           guessing the language based on the file's extension


Options starting with -g, -f, -m, -O, -W, or --param are automatically

 passed on to the various sub-processes invoked by gcc.exe.  In order to pass

 other options on to these processes the -W<letter> options must be used.


For bug reporting instructions, please see:

<mingw-w64-public@lists.sourceforge.net>.



'연습' 카테고리의 다른 글

XWRT 문제점...  (0) 2015.11.15
GAR --Help  (0) 2015.11.11
압축률 약 18%에, 메모리 량도 1.5G이내인 조금 좋은 압축 프로그램 -xwrt-  (0) 2015.11.09
GAS --help  (0) 2015.11.07
TANGELO - PAQ8 / FP8 에서 파생된 압축 파일 -  (0) 2015.11.05
Posted by JunkMam
,

GAS --help

연습 2015. 11. 7. 22:41

MinGW을 기준으로 설정된 사용 설명서 원본이다.


Usage: as [option...] [asmfile...]

Options:

  -a[sub-option...]  turn on listings

                       Sub-options [default hls]:

                       c      omit false conditionals

                       d      omit debugging directives

                       g      include general info

                       h      include high-level source

                       l      include assembly

                       m      include macro expansions

                       n      omit forms processing

                       s      include symbols

                       =FILE  list to FILE (must be last sub-option)

  --alternate             initially turn on alternate macro syntax

  -D                      produce assembler debugging messages

  --debug-prefix-map OLD=NEW

                          map OLD to NEW in debug information

  --defsym SYM=VAL        define symbol SYM to given value

  -f                      skip whitespace and comment preprocessing

  -g --gen-debug          generate debugging information

  --gstabs                generate STABS debugging information

  --gstabs+               generate STABS debug info with GNU extensions

  --gdwarf-2              generate DWARF2 debugging information

  --hash-size=<value>     set the hash table size close to <value>

  --help                  show this message and exit

  --target-help           show target specific options

  -I DIR                  add DIR to search list for .include directives

  -J                      don't warn about signed overflow

  -K                      warn when differences altered for long displacements

  -L,--keep-locals        keep local symbols (e.g. starting with `L')

  -M,--mri                assemble in MRI compatibility mode

  --MD FILE               write dependency information in FILE (default none)

  -nocpp                  ignored

  -o OBJFILE              name the object-file output OBJFILE (default a.out)

  -R                      fold data section into text section

  --reduce-memory-overheads 

                          prefer smaller memory use at the cost of longer

                          assembly times

  --statistics            print various measured statistics from execution

  --strip-local-absolute  strip local absolute symbols

  --traditional-format    Use same format as native assembler when possible

  --version               print assembler version number and exit

  -W  --no-warn           suppress warnings

  --warn                  don't suppress warnings

  --fatal-warnings        treat warnings as errors

  -w                      ignored

  -X                      ignored

  -Z                      generate object file even after errors

  --listing-lhs-width     set the width in words of the output data column of

                          the listing

  --listing-lhs-width2    set the width in words of the continuation lines

                          of the output data column; ignored if smaller than

                          the width of the first line

  --listing-rhs-width     set the max width in characters of the lines from

                          the source file

  --listing-cont-lines    set the maximum number of continuation lines used

                          for the output data column of the listing

  @FILE                   read options from FILE

  -n                      Do not optimize code alignment

  -q                      quieten some warnings

  --32/--64/--x32         generate 32bit/64bit/x32 code

  --divide                ignored

  -march=CPU[,+EXTENSION...]

                          generate code for CPU and EXTENSION, CPU is one of:

                           generic32, generic64, i386, i486, i586, i686,

                           pentium, pentiumpro, pentiumii, pentiumiii, pentium4,

                           prescott, nocona, core, core2, corei7, l1om, k1om,

                           k6, k6_2, athlon, opteron, k8, amdfam10, bdver1,

                           bdver2, bdver3, btver1, btver2

                          EXTENSION is combination of:

                           8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3,

                           ssse3, sse4.1, sse4.2, sse4, nosse, avx, avx2, noavx,

                           vmx, vmfunc, smx, xsave, xsaveopt, aes, pclmul,

                           fsgsbase, rdrnd, f16c, bmi2, fma, fma4, xop, lwp,

                           movbe, cx16, ept, lzcnt, hle, rtm, invpcid, clflush,

                           nop, syscall, rdtscp, 3dnow, 3dnowa, padlock, svme,

                           sse4a, abm, bmi, tbm, adx, rdseed, prfchw, smap

  -mtune=CPU              optimize for CPU, CPU is one of:

                           generic32, generic64, i8086, i186, i286, i386, i486,

                           i586, i686, pentium, pentiumpro, pentiumii,

                           pentiumiii, pentium4, prescott, nocona, core, core2,

                           corei7, l1om, k1om, k6, k6_2, athlon, opteron, k8,

                           amdfam10, bdver1, bdver2, bdver3, btver1, btver2

  -msse2avx               encode SSE instructions with VEX prefix

  -msse-check=[none|error|warning]

                          check SSE instructions

  -moperand-check=[none|error|warning]

                          check operand combinations for validity

  -mavxscalar=[128|256]   encode scalar AVX instructions with specific vector

                           length

  -mmnemonic=[att|intel]  use AT&T/Intel mnemonic

  -msyntax=[att|intel]    use AT&T/Intel syntax

  -mindex-reg             support pseudo index registers

  -mnaked-reg             don't require `%' prefix for registers

  -mold-gcc               support old (<= 2.8.1) versions of gcc


Report bugs to <mingw-w64-public@lists.sourceforge.net>



Posted by JunkMam
,

 어제 테스트해서 보니, 압축 방식을 어떻게 하느냐에 따라서 압축률이 증가한다는걸 알아 냈다.


 답은 TAR로 한번 폴더와 파일을 한 파일로 몰아 넣은 후에 압축하면, 상대적으로 엄청 많은 압축률을 보여준다.


 ZIP이나 ZIPX는 압축률이 높은 알고리즘을 사용한다.

 특히, ZIPX는 최근에 발전된 방식의 압축 방식이다.

 여기서 ZIP과 ZIPX의 공통점은 LZ77을 이용한다는 점이다.(ZIP은 DEFLATE, ZIPX는 LZMA)

 여기서 압축률이 가장 높은것은 LZMA이다.

 그런데, LZMA의 압축률이 높은 것은 LZ77의 사전의 크기가 크기 때문에 그런 것이다.


 LZ77의 사전 크기는 압축률을 뜻하고.

 사전를 빠르게 탐색하는 것은 압축 속도를 높이는 장치이다.


 즉, 검색 알고리즘이 발전하면, 압축속도가 높아진다.

 사전 크기(저장하는 데이터)가 커지면, 압축률이 높고, 이 사전에 검색을 빠르게 하는 알고리즘을 적용하면, 빠르고 압축률이 높은 알고리즘이 생긴다.


 일단, ZIP은 LZ77의 최대 사전 크기가 32kb이다.

 하지만, ZIPX는 LZ77의 최대 사전 크기가 4Gb이다.


 그래서 LZMA(LZ77의 사전 크기가 4Gb)가 압축률이 가장 높다.


 그럼, 왜 TAR을 했던것과 그냥 하는 것과 압축률이 엄청 차이나는가?


 TAR을 이용하여, ZIPX을 적용하면, 사전을 전부다 적용 시킬 수 있기 때문이다.


 ZIPX는 각 파일마다 LZMA 압축을 하기 때문에 제대로된 압축이 되지 않는다.


 7Z는 TAR처럼 한번 압축을 거치기 때문인지 ZIPX보다 압축률이 높을때가 높다.

 TAR+ZIPX을 한것과 비슷하거나 조금더 압축이 된다.

 그래서 7Z을 사용하거나 TAR+ZIPX을 쓰는게 더 이득이다.

Posted by JunkMam
,

webM은 일반적으로 데이터를 보는게 불가능한 것 같다.

그래서 프로그램을 사용해야되는데, ffprobe라는 걸 이용하면 된다.

ffprobe를 이용해서 데이터를 얻을 수 있다.[각주:1]


예)

ffprobe.exe -show_streams "input file"


이렇게 하면, 다음과 같은 형태를 얻을 수 있게 된다.


ffprobe version N-75185-gf58e011 Copyright (c) 2007-2015 the FFmpeg developers  built with gcc 4.9.3 (GCC)

  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-opencl --enable-zlib

  libavutil      55.  2.100 / 55.  2.100

  libavcodec     57.  1.100 / 57.  1.100

  libavformat    57.  0.100 / 57.  0.100

  libavdevice    57.  0.100 / 57.  0.100

  libavfilter     6.  1.100 /  6.  1.100

  libswscale      4.  0.100 /  4.  0.100

  libswresample   2.  0.100 /  2.  0.100

  libpostproc    54.  0.100 / 54.  0.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\moveCap.mp4':

  Metadata:

    major_brand     : isom

    minor_version   : 512

    compatible_brands: isomiso2avc1mp41

    encoder         : Lavf57.0.100

  Duration: 00:01:00.00, start: 0.040998, bitrate: 3498 kb/s

    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 800x600 [SAR 1:1 DAR 4:3], 3512 kb/s, 23.81 fps, 60 tbr, 48k tbn, 50 tbc (default)

    Metadata:

      handler_name    : VideoHandler

    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 94 kb/s (default)

    Metadata:

      handler_name    : SoundHandler

[STREAM]

index=0

codec_name=h264

codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

profile=High

codec_type=video

codec_time_base=1/50

codec_tag_string=avc1

codec_tag=0x31637661

width=800

height=600

coded_width=800

coded_height=608

has_b_frames=0

sample_aspect_ratio=1:1

display_aspect_ratio=4:3

pix_fmt=yuv420p

level=40

color_range=N/A

color_space=unknown

color_transfer=unknown

color_primaries=unknown

chroma_location=left

timecode=N/A

refs=1

is_avc=1

nal_length_size=4

id=N/A

r_frame_rate=60/1

avg_frame_rate=86375/3628

time_base=1/48000

start_pts=94752

start_time=1.974000

duration_ts=2786304

duration=58.048000

bit_rate=3512905

max_bit_rate=N/A

bits_per_raw_sample=8

nb_frames=1382

nb_read_frames=N/A

nb_read_packets=N/A

DISPOSITION:default=1

DISPOSITION:dub=0

DISPOSITION:original=0

DISPOSITION:comment=0

DISPOSITION:lyrics=0

DISPOSITION:karaoke=0

DISPOSITION:forced=0

DISPOSITION:hearing_impaired=0

DISPOSITION:visual_impaired=0

DISPOSITION:clean_effects=0

DISPOSITION:attached_pic=0

TAG:language=eng

TAG:handler_name=VideoHandler

[/STREAM]

[STREAM]

index=1

codec_name=aac

codec_long_name=AAC (Advanced Audio Coding)

profile=LC

codec_type=audio

codec_time_base=1/22050

codec_tag_string=mp4a

codec_tag=0x6134706d

sample_fmt=fltp

sample_rate=22050

channels=2

channel_layout=stereo

bits_per_sample=0

id=N/A

r_frame_rate=0/0

avg_frame_rate=0/0

time_base=1/22050

start_pts=904

start_time=0.040998

duration_ts=1323007

duration=60.000317

bit_rate=94706

max_bit_rate=128000

bits_per_raw_sample=N/A

nb_frames=1292

nb_read_frames=N/A

nb_read_packets=N/A

DISPOSITION:default=1

DISPOSITION:dub=0

DISPOSITION:original=0

DISPOSITION:comment=0

DISPOSITION:lyrics=0

DISPOSITION:karaoke=0

DISPOSITION:forced=0

DISPOSITION:hearing_impaired=0

DISPOSITION:visual_impaired=0

DISPOSITION:clean_effects=0

DISPOSITION:attached_pic=0

TAG:language=eng

TAG:handler_name=SoundHandler

[/STREAM]


'연습' 카테고리의 다른 글

OpenCL 프로그래밍 공부 -시작-  (0) 2015.10.02
CSS3 -3D Flip Animation-  (0) 2015.09.30
ffmpeg 사용 -mp4 to webm convert(mp4을 webm으로 변환)-  (0) 2015.09.29
ffmpeg -이미지 추출-  (0) 2015.09.28
ffmpeg -동영상 자르기-  (0) 2015.09.28
Posted by JunkMam
,

mp4를 webm으로 변환시키는 방법이 있다.


mp4 -> webM 변환 사이트


하지만, ffmpeg을 사용해도 간단하게 변환이 가능하다.


예)[각주:1]

./ffmpeg -i input-file.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output-file.webm


-c:a : 오디오 인코딩용 라이브러리

-b:v : 버퍼속도(비트 속도)

-crf : bit-rate 설정 인걸로 추정.

-c:v : 오디오 인코딩용 라이브러리


그 외

-buffsize : 평균 bit rate을 설정한다.


libvpx와 libvorbis을 라이브러리로 연결해서 webm으로 변환 시키는 작업을 한다.(vp8형 소스가 나온다.)


vp9형으로 변경할려면, 다음과 같이 하면 된다고 나와있다.


예)[각주:2]

ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1M -c:a libvorbis output.webm


libvpx-vp라이브러리명. 이런 차이가 있다.


음성 제거 방법은 

-an을 붙이면 된다.

Posted by JunkMam
,

ffmpeg -이미지 추출-

연습 2015. 9. 28. 19:31


ffmpeg를 이용하면, 


ffmpeg사이트


./ffmpeg -i 추출할 영상.mp4 -an -r 1 -y -s 가로x세로 추출할 이미지명.png


-an : 오디오 무시

-r : 1초당 몇 프레임 추출할 것인지 설정.

-y : 같은 이름 있을시 덮어 쓰기.

-s : 추출될 이미지 사이즈 설정.


이미지 명에 %d을 이용하면, 정수로 해당 이미지 갯수가 정수로 출력된다.

Posted by JunkMam
,

ffmpeg을 이용해서 mp4등 영상 파일을 자를 수 있다.


ffmpeg사이트


여기서 ffmpeg을 구한 후에 다음과 같이 사용하면 된다.


 .\ffmpeg.exe -i .\자를 영상.mp4 -ss 53 -t 300 -vcodec copy -acodec copy 잘린 영상.mp4


-ss : 초단위로 자를 위치 설정.

-t : 초단위로 자를 량 설정.

-vcodec copy : 비디오 코덱 카피

-acodec copy : 오디오 코덱 카피


이렇게 사용하면 된다.

Posted by JunkMam
,