[강좌] Compiling VLC on Mac OS X Tiger x86
이름: capri91 [수정] 2005-09-19 09:25:35



#. 강좌를 시작하면서...

안녕하세요. 김성한입니다.

며칠동안 Mac OS X Tiger x86에서 동영상 플레이를 위해 VLC.app 컴파일을 시도했습니다. 많은 삽질을 필요로 하는 작업이므로 삽질을 꺼려하시는 분은 컴파일된 바이너리 파일(VLC_20050924_x86_bin.dmg)만 퍼가시면 됩니다. 그럼 강좌를 시작하겠습니다.

1. VLC 컴파일을 위한 준비물

2. Codec library 컴파일

   1) codec_patches_x86.sh
   2) src/Patches_x86/codec_bootstrap.patch
   3) src/Patches_x86/codec_packages.mak.patch
   4) src/Patches_x86/codec_Makefile.patch
   5) src/Patches_x86/mpeg2dec.patch
   6) src/Patches_x86/faad2.patch
   7) src/Patches_x86/libdvdread.patch
   8) src/Patches_x86/libdvdnav.patch

3. VLC 컴파일

   1) vlc-snapshot-20050924/vlc_patches_x86.sh


1. VLC 컴파일을 위한 준비물

Mac OS X developer tools (Xcode 2.1 from Marklar-Tiger DVD)
VLC source code (vlc-snapshot-20050924.tar.gz)
VLC x86 patched source by capri91 (VLC_20050924_x86_src.zip)
VLC x86 compiled binary by capri91 (VLC_20050924_x86_bin.dmg)

위의 준비물이 갖춰졌으면 먼저 개발툴인 Xcode를 인스톨합니다. Xcode는 deadmoo VMware Image로 빌드했을 경우에는 설치되어 있지 않으므로 Marklar-Tiger DVD에서 설치해야 합니다. 그리고 VLC source code를 다운로드해서 원하는 곳에 압축을 풀도록 합니다. 그럼 이제부터 본격적인 삽질에 들어가도록 하겠습니다.


2. Codec library 컴파일

Source installation procedure:

1. cd extras/contrib
2. ./codec_patches_x86.sh
3. ./bootstrap
4. make src

벌써 눈치채셨겠지만 codec_patches_x86.sh 파일에 모든 삽질이 들어 있습니다. 그럼 삽질에 필요한 파일을 텍스트 에디터나 터미널에서 하나씩 만들어가면서 살펴보도록 하겠습니다.

1) codec_patches_x86.sh

#!/bin/sh

cd src/Patches_x86
patch -p 0 < codec_bootstrap.patch
patch -p 0 < codec_packages.mak.patch
patch -p 0 < codec_Makefile.patch

코덱 라이브러리 컴파일을 위해서 먼저 bootstrap, Makefile 파일에 대해 패치를 실행하도록 합니다. 이때 터미널에서 chmod 755 codec_patches_x86.sh 명령으로 실행 권한을 주어야 하는 것을 잊지 마십시오. 그럼 실제로 어떤 내용이 들어가 있는지 살펴보겠습니다.

2) src/Patches_x86/codec_bootstrap.patch

--- ../../bootstrap.orig    2005-09-25 06:06:58.000000000 +0900
+++ ../../bootstrap        2005-09-25 20:26:25.000000000 +0900
@@ -61,6 +61,10 @@
        echo "EXTRA_CPPFLAGS = -no-cpp-precomp" >> config.mak
#        echo "EXTRA_LDFLAGS = -isysroot \${MACOSX_SDK} -Wl,-syslibroot,\${MACOSX_SDK}" >> config.mak
         ;;
+    i686-apple-darwin8)
+        echo "EXTRA_CPPFLAGS = -no-cpp-precomp" >> config.mak
+        echo "EXTRA_CFLAGS = -fno-common" >> config.mak
+        ;;
     i586-pc-beos)
             if test -f /boot/beos/system/lib/libbind.so; then
                 echo "EXTRA_LDFLAGS = -lbind -lsocket" >> config.mak

i686-apple-darwin8으로 인식되는 Mac OS X for x86을 위해서 새로운 항목을 만들고 CPPFLAGS와 CFLAGS를 추가합니다. 특히 libtool에서 발생하는 링크 에러를 방지하기 위해서 CFLAGS에 -fno-common을 추가해서 single module 옵션으로 컴파일 해야 합니다.

3) src/Patches_x86/codec_packages.mak.patch

--- ../packages.mak.orig    2005-09-25 06:06:58.000000000 +0900
+++ ../packages.mak        2005-09-25 23:46:34.000000000 +0900
@@ -94,7 +94,7 @@
LIBDVBPSI_VERSION=0.1.5
LIBDVBPSI_URL=$(VIDEOLAN)/contrib/libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz
LIVEDOTCOM_VERSION=latest
-LIVEDOTCOM_URL=http://www.live.com/liveMedia/public/live-$(LIVEDOTCOM_VERSION).tar.gz
+LIVEDOTCOM_URL=http://www.live555.com/liveMedia/public/live555-$(LIVEDOTCOM_VERSION).tar.gz
#GOOM_URL=$(VIDEOLAN)/testing/contrib/goom-macosx-altivec-bin.tar.gz
GOOM2k4_VERSION=2k4-0
GOOM2k4_URL=$(SF)/goom/goom-$(GOOM2k4_VERSION)-src.tar.gz

packages.mak 파일은 보시다시피 각종 코덱 패키지를 다운로드 할 수 있는 주소와 버젼 정보를 포함하고 있습니다. 여기서는 현재 사이트 주소가 바뀐 live555-latest.tar.gz 파일을 변경하였습니다.

4) src/Patches_x86/codec_Makefile.patch

--- ../Makefile.orig    2005-09-25 06:06:58.000000000 +0900
+++ ../Makefile    2005-09-25 21:51:39.000000000 +0900
@@ -37,6 +37,10 @@
ifeq ($(HOST),powerpc-apple-darwin8)
HAVE_DARWIN_OS=1
endif
+ifeq ($(HOST),i686-apple-darwin8)
+HAVE_DARWIN_OS=1
+HAVE_DARWIN_x86=1
+endif

ifdef HAVE_DARWIN_OS
export PATH = $(PREFIX)/bin:/bin:/usr/bin
@@ -87,13 +91,22 @@
# ***************************************************************************

ifdef HAVE_DARWIN_OS
+ ifdef HAVE_DARWIN_x86
+ all: .autoconf .automake .libtool .iconv .intl .pkgcfg .freetype .fribidi \
+    .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \
+    .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg .openslp \
+    .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
+    .png .gpg-error .gcrypt .gnutls .opendaap .cddb .cdio .vcdimager .SDL_image \
+    .glib .libidl .gecko .aclocal
+ else
  all: .autoconf .automake .libtool .iconv .intl .pkgcfg .freetype .fribidi \
    .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .x264 .theora \
    .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg .openslp \
    .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
    .png .gpg-error .gcrypt .gnutls .opendaap .cddb .cdio .vcdimager .SDL_image \
    .glib .libidl .gecko .aclocal
# .mozilla will build an entire mozilla. it can be used if we need to create a new .gecko package
+ endif
else

  ifeq ($(HOST),i586-pc-beos)
@@ -424,6 +437,10 @@
    $(EXTRACT_GZ)
    patch -p 0 < Patches/mpeg2dec.patch

+ifdef HAVE_DARWIN_x86
+    patch -p 0 < Patches_x86/mpeg2dec.patch
+endif
+
.mpeg2: mpeg2dec
    (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-sdl && make && make install)
    touch $@
@@ -624,6 +641,10 @@
faad2: faad2-$(FAAD2_VERSION).tar.bz2
    $(EXTRACT_BZ2)

+ifdef HAVE_DARWIN_x86
+    patch -p 0 < Patches_x86/faad2.patch
+endif
+
.faad: faad2
    (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install)
    $(INSTALL_NAME)
@@ -798,6 +819,10 @@
    $(EXTRACT_GZ)
    patch -p 0 < Patches/libdvdread.patch

+ifdef HAVE_DARWIN_x86
+    patch -p 0 < Patches_x86/libdvdread.patch
+endif
+
.dvdread: libdvdread .dvdcss
    (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install)
    $(INSTALL_NAME)
@@ -823,6 +848,10 @@
    (cd $@; ./autogen.sh noconfig)
endif

+ifdef HAVE_DARWIN_x86
+    patch -p 0 < Patches_x86/libdvdnav.patch
+endif
+
.dvdnav: libdvdnav .dvdread
    (cd $<; ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install)
    $(INSTALL_NAME)
@@ -855,10 +855,10 @@
# live
# ***************************************************************************

-live-$(LIVEDOTCOM_VERSION).tar.gz:
+live555-$(LIVEDOTCOM_VERSION).tar.gz:
    $(WGET) $(LIVEDOTCOM_URL)

-live: live-$(LIVEDOTCOM_VERSION).tar.gz
+live: live555-$(LIVEDOTCOM_VERSION).tar.gz
    $(EXTRACT_GZ)
    patch -p 0 < Patches/live.patch

@@ -904,9 +933,15 @@
    $(EXTRACT_GZ)
    patch -p 0 < Patches/goom.patch

+ifdef HAVE_DARWIN_x86
+.goom2k4: goom
+    (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="-O2" && make && make install )
+    touch $@
+else
.goom2k4: goom
    (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install )
    touch $@
+endif

CLEAN_FILE += .goom2k4
CLEAN_PKG += goom

Makefile 패치는 다소 복잡하지만 핵심적인 부분입니다. 그럼 컴파일을 위해 추가되거나 변경된 사항을 간단히 살펴보도록 하겠습니다. 먼저 i686-apple-darwin8으로 인식되는 Mac OS X for x86을 위해서 항목을 만들고, 필요한 각종 코덱 패치를 조건문으로 적용할 수 있도록 HAVE_DARWIN_x86이라는 정의를 추가했습니다. 그리고 make src 명령을 실행시킬때 컴파일 되어야 하는 코덱 라이브러리를 설정하였습니다. 대부분 Mac OS X for PPC와 동일하지만 asm 때문에 컴파일 에러가 발생하는 x264 코덱을 제외했습니다. 다음으로는 각종 코덱 컴파일에 필요한 패치나 컴파일 옵션을 HAVE_DARWIN_x86 조건문을 이용해서 추가했습니다. 수정된 코덱 라이브러리는 mpeg2dec, faad2, libdvdread, libdvdnav이며 자세한 내용은 다음의 패치 파일 설정에서 알아보도록 하겠습니다.

5) src/Patches_x86/mpeg2dec.patch

--- mpeg2dec/libmpeg2/cpu_accel.c.orig    2005-09-25 21:00:03.000000000 +0900
+++ mpeg2dec/libmpeg2/cpu_accel.c    2005-09-25 21:04:20.000000000 +0900
@@ -46,6 +46,10 @@
    uint32_t eax, ebx, ecx, edx;
    int AMD;

+#if defined(__APPLE__) && defined(__i386__)
+#define PIC
+#endif
+
#if !defined(PIC) && !defined(__PIC__)
#define cpuid(op,eax,ebx,ecx,edx)    \
     __asm__ ("cpuid"            \

MPEG-1,2 video 코덱 패치에서 수정된 것은 cpu_accel.c 파일입니다. Mac OS X for x86일 경우에 PIC로 정의해주면 cpuid에서 에러없이 컴파일 됩니다.

6) src/Patches_x86/faad2.patch

--- faad2/libfaad/common.h.orig    2004-09-23 22:40:31.000000000 +0900
+++ faad2/libfaad/common.h    2005-09-25 22:36:21.000000000 +0900
@@ -304,7 +304,11 @@
   #elif (defined(__i386__) && defined(__GNUC__))
     #define HAS_LRINTF
     // from http://www.stereopsis.com/FPU.html
+    #if defined(__APPLE__)
+    extern INLINE long int lrintf(float f)
+    #else
     static INLINE int lrintf(float f)
+    #endif
     {
         int i;
         __asm__ __volatile__ (

MP3, MP4를 지원하는 AAC audio 코덱 패치에서 수정된 것은 common.h 파일입니다. Mac OS X for x86일 경우에 lrintf를 extern long int 타입으로 설정해주어야 합니다. /usr/include/architecture/i386/math.h 헤더 파일에서 확인할 수 있습니다.

7) src/Patches_x86/libdvdread.patch

--- libdvdread/dvdread/bswap.h.orig    2005-09-25 23:19:51.000000000 +0900
+++ libdvdread/dvdread/bswap.h        2005-09-25 23:21:20.000000000 +0900
@@ -59,6 +59,12 @@
#define B2N_32(x) x = be32toh(x)
#define B2N_64(x) x = be64toh(x)

+#elif defined(__APPLE__) && defined(__i386__)
+#include <i386/endian.h>
+#define B2N_16(x) x = OSSwapInt16(x)
+#define B2N_32(x) x = OSSwapInt32(x)
+#define B2N_64(x) x = OSSwapInt64(x)
+
/* This is a slow but portable implementation, it has multiple evaluation
  * problems so beware.
  * Old FreeBSD's and Solaris don't have or any other such

DVD를 지원하는 libdvdread 코덱 패치에서 수정된 것은 bswap.h 파일입니다. Mac OS X for x86일 경우에 필요한 endian swap macro를 추가했습니다. /usr/include/libkern/OSByteOrder.h 헤더 파일에서 확인할 수 있습니다.

8) src/Patches_x86/libdvdnav.patch

--- libdvdnav/src/dvdread/bswap.h.orig    2005-09-25 23:25:20.000000000 +0900
+++ libdvdnav/src/dvdread/bswap.h    2005-09-25 23:26:18.000000000 +0900
@@ -59,6 +59,12 @@
#define B2N_32(x) x = be32toh(x)
#define B2N_64(x) x = be64toh(x)

+#elif defined(__APPLE__) && defined(__i386__)
+#include <i386/endian.h>
+#define B2N_16(x) x = OSSwapInt16(x)
+#define B2N_32(x) x = OSSwapInt32(x)
+#define B2N_64(x) x = OSSwapInt64(x)
+
/* This is a slow but portable implementation, it has multiple evaluation
  * problems so beware.
  * Old FreeBSD's and Solaris don't have or any other such

libdvdread 코덱 패치와 마찬가지로 libdvdnav 코덱 패치에서 수정된 것은 bswap.h 파일입니다. Mac OS X for x86일 경우에 필요한 endian swap macro를 추가했습니다. /usr/include/libkern/OSByteOrder.h 헤더 파일에서 확인할 수 있습니다.


3. VLC 컴파일

Source installation procedure:

1. cd vlc-snapshot-20050924
2. ./bootstrap
3. ./configure --disable-altivec --disable-mga --disable-x11 --disable-xvideo --disable-glx --disable-gtk --disable-skins2 --disable-wxwidgets --disable-x264 --enable-debug --enable-freetype --enable-fribidi --enable-a52 --enable-libmpeg2 --enable-mad --enable-ogg --enable-vorbis --enable-theora --enable-flac --enable-speex --enable-shout --enable-faad --enable-faac --enable-twolame --enable-mkv --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac --with-ffmpeg-zlib --enable-slp --enable-dvdread --enable-dvdnav --enable-dvbpsi --enable-livedotcom --enable-goom --enable-caca --enable-mod --enable-png --enable-gnutls --enable-daap --enable-libcddb --enable-libcdio --enable-vcd --enable-sdl
4. ./vlc_patches_x86.sh
5. make

VLC 컴파일에서는 vlc_patches_x86.sh 파일에 모든 삽질이 들어 있습니다. 마찬가지로 삽질에 필요한 파일을 텍스트 에디터나 터미널에서 만들어가면서 살펴보도록 하겠습니다.

1) vlc-snapshot-20050924/vlc_patches_x86.sh

#!/bin/sh

cp config.h config.h.orig
cp vlc-config vlc-config.orig

sed -e 's/#define\ CAN_COMPILE_C_ALTIVEC\ 1/\/\*\ #define\ CAN_COMPILE_C_ALTIVEC\ 1\ \*\//g' config.h.orig > config.h
sed -e 's/i420_ymga_mmx\ //g' -e 's/memcpyaltivec\ //g' -e 's/i420_yuy2_altivec\ //g' vlc-config.orig > vlc-config

VLC 컴파일을 위해서는 config.h, vlc-config 두가지 파일이 패치되어야 합니다. ./configure 실행시 --disable-altivec  --disable-mga 옵션을 주었다 하더라도 컴파일 도중에 altivec 관련 에러가 발생하기 때문입니다. 컴파일 에러를 방지하기 위해서 CAN_COMPILE_C_ALTIVEC 정의를 주석처리 합니다. 마찬가지로 altivec, mga 관련 컴파일 에러를 방지하기 위해서 i420_ymga_mmx, memcpyaltivec, i420_yuy2_altivec 세가지 모듈을 제외합니다. vlc-config 파일 하나만 수정하면 일일히 해당 폴더의 Makefile을 수정하지 않아도 되므로 가장 간단한 방법입니다. 이때 터미널에서 chmod 755 vlc_patches_x86.sh 명령으로 실행 권한을 주어야 하는 것을 잊지 마십시오.


#. 강좌를 마치면서...

이제 make 명령으로 컴파일된 VLC.app를 Applications 폴더에 넣으면 모든 작업은 완료됩니다. 이때 주의할 점은 VLC.app 내부의 각종 라이브러리가 심볼릭 링크가 되어 있으므로 이동이 아니라 복사해 넣어야 한다는 점입니다. 이것으로 Mac OS X Tiger x86에서 동영상 플레이를 위한 VLC.app 컴파일 강좌를 마치겠습니다.




참고: HOWTO compile on Mac OS X, win2osx Forum, osx86project Forum
이름: onion[삭제] [수정] 2005-09-19 11:56:28
아싸.. .그냥 집어가겠습니다.. 지금 컴파일을 또하기에는 너무 삽을 많이 퍼서 허리가...(먼산)
이름: onion[삭제] [수정] 2005-09-19 11:58:52
...어헐........ 설마.. static으로 안하신겁니까?...(울먹)
이름: onion[삭제] [수정] 2005-09-19 12:31:18
흠.. 일단 되는건 되는거같고... MKV demux도 잘 돌아가는것 같습니다. 다만 예전에 문제가 있던 몇몇 동영상은 여전히 문제가 되는거같기는 하네요...-.-;
이름: onion[삭제] [수정] 2005-09-19 12:42:24
흠.. 혹시나해서 확인해봤는데.... ppc용으로는 전혀 이상없이 잘 나오는군요..(물론 화면은 작게 봐야하지만..) 어느 codec인지를 함 봐야되겄습니다..-.-;
이름: capri91[삭제] [수정] 2005-09-19 22:36:05
코덱 라이브러리에서 문제가 있는 넘은 static으로 했는데 혹시 빠진게 있나요? 그리고 동영상은 모아놓은게 별로 없어서 코덱 테스트를 별로 해보질 못했습니다. 안되는 넘이 어떤 코덱인지 알려주세요. 추석 연휴 잘 지내셨나요? ^^;
이름: onion[삭제] [수정] 2005-09-20 14:04:29
흠.. 안되는건 아니고.. 부들부들 떨려서 나온달까.. 여튼 보이기는 하고 음성만 문제인데 영상코덱은 xvid입니다.
동영상 주소는 http://onionmixer.net/~onion/48.mkv 입니다.
이름: onion[삭제] [수정] 2005-09-20 20:05:48
....음성은 문제가 없고.. 영상만 문제가 있는데 영상코덱은 xvid이고 ffmpeg에서 먹고 들어가는것 같습니다...(뭔가.. 정신이 없어서 아까 헛소리를 지껄였..-.-)
이름: capri91[삭제] [수정] 2005-09-21 01:31:50
xvid 코덱은 여러개 테스트 해봤는데 ffmpeg에서 제대로 처리해줘서 별 문제가 없더군요. mkv 파일에 대해서만 화면 떨림 현상이 나타나는 것을 보니 아마도 matroska 코덱에 문제가 있는 것 같습니다. 문제가 있는 mkv 파일를 xvid로 변환해서 살펴보면 가장 정확하겠지만, 키우는 mkv 파일도 없고 인코딩 할 줄도 모르니 패스~

PS. matroska 코덱을 살펴봐도 별다른 에러 없이 컴파일 되던데요. 혹시 그래픽 가속이 안되기 때문에 제대로 보이지 않는 건 아닐까요? GMA900 있으신 분이 있으시면 테스트 해주시면 좋을텐데...
이름: onion[삭제] [수정] 2005-09-21 10:44:56
어헉? 그래픽가속의 문제면... 좋겠습니다만.. 열받는데 p4머신 하나 지를까요?...(중얼)
이름: onion[삭제] [수정] 2005-09-21 12:44:32
matroska 이것은 demux거든요.. 코덱이 아니기는한데.. 영향이 있을법 하다는 생각도 들기는 합니다... 죄송하지만 컴파일할때 사용하셨던 matroska의 버전을 좀 알려주실 수 있나요?
...어쩌면 demux와 endian문제일 수도 있다는 생각도 들기는 합니다...
아.. mkv demux를 linux makefile을 복사해서 쓰셨다면 다시 원점입니다그려..-.-;
이름: capri91[삭제] [수정] 2005-09-22 02:32:52
libmatroska 버젼은 0.7.7입니다. vlc-snapshot-20050825에서 지정되어 있던 파일을 wget으로 받았습니다. 그런데 demux와 endian이 무슨 관계가 있는 건가요?
이름: onion[삭제] [수정] 2005-09-22 21:22:41
아하...그거...........-.-;
흠.. 가능하시다면 matroska를 cvs버전으로 사용해봐주 실 수 있을까요?
아 뭐랄까.. matroska에 보면 Makefile(이던가)에 mac os X가 있거든요.
실제로 mac os X ppc에서는 컴파일이 잘 되는데 x86용 xcode에서는 안돼서 linux를 darwin으로 바꾸고 했던 기억이 있습니다.
demux에서 동영상 파일을 불러들일때 블럭단위로 읽을건데.. 혹시 그 부분에서 메모리 저장되는 부분이 x86은 little인데 ppc는 big이니깐 ..화면이 뒤로앞으로..하면서 진행되는게 아닐까 싶어서요... 굳이 예를 들자면

[AB] [AB] [AB]
이런 배열을
[BA] [BA] [BA]
이런식으로 해석한다면
동영상이 진행은 되겠지만 B-A 순으로 블럭내부에서는 처리가 되니깐
화면이 진행은 되지만 부들부들 하면서 B의 영상이 먼저 나오게 되는게 아닐까 싶기는 해서요..-.-;
결과적으로 메모리에 올려지는 동영상 파일의 메모리상 길이는 big이나 little이나 같을거니깐 Play는 어떻게는 이루어 지는게 아닐까 싶습니다.
뭐.. 잡설이니 전혀 영향이 없는 부분이라면 신경쓰지 않으셔도 됩니다..-.-;
(이게 뭐 맞는말도 아니고....-.-)
...아... 혹시 mkv를 mac os X로 컴파일 하신겁니까.. 아니면 linux를 darwin으로 복사한다음 makefile로 컴파일을 하신겁니까? 개인적으로는 그게 좀 궁금하네요...^.^;
수고하세요...(꾸벅)
이름: capri91[삭제] [수정] 2005-09-23 08:31:25
양파님, 자세한 설명 감사드립니다. 그리고 libmatroska의 경우에 컴파일시 문제가 없어서 Makefile 수정없이 했습니다. 가능하면 주말에 cvs 버젼으로 한번 해보죠...
이름: onion[삭제] [수정] 2005-09-23 09:12:15
뭐 생각해보면 linux가 일반적으로 little이니깐 문제없이 될 꺼라 생각은 하지만.. 혹시 모르니...-.-;
요 며칠 출장다니느라고 삽질에 동참을 못해서 죄송합니다..(울먹)
저도 주말에는 삽질을 해볼 수 있도록 하겠습니다..(으흑)
이름: capri91[삭제] [수정] 2005-09-26 03:28:22
또다시 주말동안 VLC 삽질을 했습니다. 삽질하는 김에 이번에는 아예 vlc-snapshot-20050924 최신버젼으로 컴파일 했습니다. 양파님 덕에 눈이 침침하고 삽이 부러질 지경입니다요. -.-;

각설하고, VLC 최신버젼에 포함된 matroska도 저번처럼 0.7.7 버젼으로 같습니다. 그리고 libmatroska-0.7.7 컴파일 옵션을 살펴보니 디폴트로 linux용을 사용합니다. macosx용은 x86의 Xcode에서는 안되는 것 같고, linux용은 별다른 문제없이 컴파일 됩니다.

그런데 matroska는 저번과 바뀐 것이 없는데도 불구하고 이번에는 화면 떨림 현상이 없어졌습니다. 아마도 libmatroska가 아니라 ffmpeg가 문제가 있었던 것으로 짐작됩니다. 여하튼 고생한 보람이 있네요. 강좌도 새로 업데이트 해서 다시 올렸으니 참고하시구요...

PS. mkv 파일은 양파님이 링크해준 "건담 SEED DESTINY"로 테스트 했습니다. 화면 떨림 현상은 아예 없어졌지만 그래픽 가속이 안되서 프레임이 조금씩 끊기는게 보이네요. 절반 크기로 재생해야 프레임 저하 없이 볼 수 있군요. 아아~ GMA900...
이름: onion[삭제] [수정] 2005-09-26 19:37:27
흠.. 우후후훗... 저는 엄청 잘나옵니다.... 1024x768.. 풀스크린으로.... 프레임 이상한것도 전혀없어요.. 엄청 좋습니다.. 이제 이거면 여기저기 뻐겨도 되겠어요...^.^;
이름: onion[삭제] [수정] 2005-09-26 21:16:45
아.. 그 linux를 제가 답글에 darwin으로 디렉을 하나 복사라고 하라는.. 비슷한 말을 한적이 있는데.. 제가 그리 하자는것이 아니라 darwin ports에서 그런식으로 작업을 해놓았더군요. 그래서 darwin으로 하면 뭔가 좋을라나 해서 해본말이었습니다....^.^;
이름: capri91[삭제] [수정] 2005-09-26 22:43:21
음, 양파님은 X31이니 CPU 사양이 저와 별 차이가 없을듯 한데요. 네트워크상에서 mkv 파일을 재생하기 때문에 끊기는 걸까요? 그리고 VLC 소스에서도 darwin ports와 마찬가지로 make -C make/linux 이런 식으로 linux용을 사용해서 컴파일 하도록 되어 있더군요. 근데 아무래도 양파님 삽질은 전염성이 있나 봅니다. 삭신이 쑤십니다요. 좋은 밤 되세요... ^^;
이름: onion[삭제] [수정] 2005-09-26 23:28:04
아.. darwin으로 복사하라는 말은 mkv얘기였습니다.. 그리 신경은 쓰지 마시고...VLC는 그리 컴파일하는게 맞습니다.. 그나저나.. macmame를 컴파일해볼려다가 역시 endian때문인지.. 아니면 제가 xcode에 익숙하지 않아서인지는 모르겠는데 며칠째 실패를 하고나니.. 역시 삭신이 쑤시네요....-.-; 성한사마도 좋은밤 되세요..-.-;
이름: onion[삭제] [수정] 2005-09-27 09:28:44
흠... 저번의 9월버전과 이번버전의 차이점을 또 하나 알겠네요... VLC의 menu들이 한글화된게 늘어난거같습니다... 설마 성한사마가 한글화하신건가요?...@.@
이름: capri91[삭제] [수정] 2005-09-27 12:00:22
물론 제가 한건 아니지만, 20050924 버젼을 컴파일 하다보니 ko 로케일이 추가되어 있더군요. 근데 저는 영문 메뉴를 사용중이라 어떻게 바꿨는지 확인해보지는 않았습니다... ^^;
이름: onion[삭제] [수정] 2005-09-27 21:07:55
나름대로 쌈박스럽습니다..(우후후후)
이름: 오뎅[삭제] [수정] 2005-09-28 07:58:53
안녕하세요.
거의 두분이서만 대화를 하시고 계신데 감히 끼어 듭니다.
열심히 토론하시는 게 보기에 좋으네요.
아무쪼록 좋은 결과 있으시길 바랍니다.
그럼 좋은 하루되세요.
이름: capri91[삭제] [수정] 2005-09-28 09:26:30
오뎅님, 오래간만에 오셨네요. 좋은 하루 되세요...
이름: onion[삭제] [수정] 2005-09-28 20:27:51
흠.. menu를 한글화를 하지 않으셔도 mac os X의 locale이 제대로만 되어있으면 VLC의 menu가 한글로 나올것 같습니다만.. locale을 한국으로 안맞추셨나보군요.. locale setting은 한글어너팩과는 전혀 상관이 없으니 함 시도해 보시는것도 좋을듯합니다..(하긴.. 이미 아시기는 하시겠지만..-.-)
오뎅님 반갑습니다.. 오뎅님도 하루빨리 합류하시길..(씨이익)
이름: 오뎅[삭제] [수정] 2005-09-29 09:24:16
성한님, 양파님 오랜만입니다.
최근 글은 올리지 않지만, 하루에 한번씩 눈팅은 하고 갑니다.
저도 동참하고 싶지만, 능력이 부족하야 그냥 보기만 하렵니다.
그럼 좋은 하루되시길 바랍니다...^^
이름: 변태마왕[삭제] [수정] 2005-11-30 15:04:07
와우 성한님이 컴파일한놈 정말 좋습니다...^^

20050813 버전은 안되는 놈이 많아서 어문 파일 많이 지웠는데....님이 컴파일 한 놈은 거의 다 재생되는 기가막는

파워를 자랑하는군요.

한동안 다운 로드가 안되서 여러번 와봤는데 어제 다운 받고 나서 실행해 보니 감동입니다.

잘 사용하겠습니다.
  이 름  암 호  보안코드  
번호작성자날짜조회제    목
895sk2020-12-301027   아직 넥스트를 사용하시네요... (2)
894onion2020-12-29435   메인페이지 link 정보변경 부탁드립니다... (2)
893김진수2020-12-25333   성한씨, 즐거운 성탄 & 연말 보내세요. (1)
892김태규2020-12-03833   넥스트 스텝 설치 (7)
891함경원2020-09-23593   예전에 ppaiNews CD롬 관련입니다. (2)
890아이맥2020-09-10735   nextstation color에 맞는 모니터 (3)
889박영수2020-09-01512   NeXTSTEP 3.3J cd 이미지 만드는 법 좀 알려주세요. (1)
888박영수2020-07-02899   [책소개] Inside NeXT (5)
887박영수2020-05-291166   NeXT CUBE 오너의 꿈...^^ (1)
886넥린이2020-05-20826   마우스 가속도 관련 질문 드립니다. (4)
885onion2019-04-161557   TheShelf 구동에 성공했습니다.
884gcjang2019-03-101462   넥스트 큐브 MO drive (3)
883gcjang2019-02-211211   하드에 nextstep 3.3 설치후 cd없이 부팅이 안되네요 (3)
882gcjang2019-01-301382   새해 복 많이 받으세요 (롬에 맞는 버전이있나요?) (4)
881gcjang2019-01-211370   넥스트 큐브 처음이라 문의드립니다. (2)
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [>] [≫]
[목록보기] [글쓰기]