반응형
반응형
반응형

Buffer의 VideoMetadata 출력 방법

static void print_video_meta_data_all(GstBuffer *buf) {
  GstVideoMeta *meta = gst_buffer_get_video_meta(buf);
  if (meta) {
    g_print("Video Meta:\n");
    g_print("  format: %s\n", gst_video_format_to_string(meta->format));
    g_print("  width: %d\n", meta->width);
    g_print("  height: %d\n", meta->height);
    g_print("  flags: %d\n", meta->flags);
    g_print("  n_planes: %d\n", meta->n_planes);
    for (guint i = 0; i < meta->n_planes; i++) {
      g_print("  stride[%d]: %d\n", i, meta->stride[i]);
      g_print("  offset[%d]: %d\n", i, meta->offset[i]);
    }
    g_print("  map: %p\n", meta->map);
    g_print("  unmap: %p\n", meta->unmap);
  }
}

Buffer의 Metadata Count 출력 및 Metadata의 Type 출력 방법

static void print_all_meta_info(GstBuffer *buf){
  GstVideoMeta *meta = gst_buffer_get_video_meta(buf);
  if (meta)
  {
    gst_print("Video Meta Count : %d\n", meta->n_planes);
  }
  GstMeta *m;
  gpointer state = NULL;
  guint meta_count = 0;
  while ((m = gst_buffer_iterate_meta(buf, &state))) {
    g_print("Metadata API type: %s\n", g_type_name(m->info->api));
    meta_count++;
  }
  g_print("Meta count: %d\n", meta_count);
}

Buffer의 모든 Metadata 중에 LOCK 상태인 Metadata 찾는 방법

static void find_lock_meta(GstBuffer *buffer) {
  GstMeta *meta;
  gpointer state = NULL;

  while ((meta = gst_buffer_iterate_meta(buffer, &state))) {
    if (GST_META_FLAG_IS_SET(meta, GST_META_FLAG_LOCKED)) {
      g_print("Found locked meta: %s\n", g_type_name(meta->info->api));
    }
  }
}
반응형
반응형

gdb binary

일반적으로 gdb를 사용하려면 단순히 gdb binary 이렇게 간단하게 사용한다.
가끔 특정 library를 환경 변수를 주어 실해아 하는 경우가 있는데, 이럴 경우에는 env binary 이렇게 사용하는데,
gdb env binary 아니면 env gdb binary 이렇게 해도 안된다.
환경 변수는 gdb 에서 아래와 같이 사용한다.

binary 실행 예제

현재 폴더의 lib 폴더를 library path로 잡고 실행 예제

$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./lib binary 

gdb 로 실행 방법

환경 변수 없이 gdb로 실행

$ gdb binary

환경 변수 설정

(gdb) set environment LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:./lib

Run

(gdb) run
반응형
반응형

Ubuntu에 LFS 설치하기

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install git-lfs

Repository에 git lfs 적용

git lfs install

Repository에 git lfs 해제

git lfs uninstall

LFS 적용하기

git lfs rm --cached FILE
git lfs track FILE

git add FILE
git commit FILE -m "MESSAGE"
git push

LFS 관리 해제

git lfs untrack FILE

LFS 관리 완전 해제

git lfs untrack FILE
git rm --cached FILE
git add FILE
git commit FILE
git push

LFS 적용 확인

${REPO ROOT}/.gitattributes에 추가되어 있음.

LFS 리스트 확인

git lfs ls-files

LFS 적용된 Repository clone

git clone URL
git lfs pull

참고 : https://newsight.tistory.com/330

반응형
반응형

 

Visual Studio Code가 업데이트가 되지 않고 있었다는것을 찾았다.

업데이트를 수작업을 실행하면 아래와 같이 오류가 발생한다.

 

아래와 같이 수정한 뒤에 정상적으로 업데이트가 되는 것을 확인했다.

1. APP의 위치 확인
    - APP의 위치가 Download의 상태에서 그대로 사용했다.
    - APP의 위치를 Application으로 이동시켰다.

2. 캐시 삭제
    - $ rm -rf ~/Library/Caches/com.microsoft.VSCode/*

 

 

반응형
반응형
$ git log origin/<branch name>..HEAD
반응형
반응형

NVIDIA PCI Vendor ID 로 잡히는 것이 있는지 확인

# NVIDIA Vendor ID : 10de
$ lspci -nn -d 10de:*

lspci update

최신 GPU일 경우 pci id 업데이트가 안되어서 안나올 수 있음.

$ sudo update-pciids

lspci에 Vendor ID 로 잡히는 것이 없을 경우

lspci에서 Veodor ID로 잡히는게 없을 경우 PCI Express 에서 잡히는게 없을 경우, 해당 카드가 인식자체가 되지 않았을 가능성이 있음.

  • 소비 전력 확인 및 보조 전력 확인
    소비 전력이 300W이상인데 그 이하의 적절하지 않은 부족한 전력 연결시, 인식자체가 되지 않는 현상을 확인함.
    올바르게 연결(8 Pin * 2)한 이후 정상적으로 lspci에 리스팅 된 것을 확인할 수 있었음.
반응형
반응형
docker> $ cat /proc/self/cgroup | grep docker

 

마지막 Checksum을 OS Native에서 Docker container의 Checksum과 비교하면 된다.

 

$ docker container ls -a

 

반응형
반응형

 

갑자기 잘 쓰던 서버에서 아래와 같은 오류가 발생한다.

Failed to initialize NVML: Driver/library version mismatch

그래서 지우고 다시 설치하려고 하니, 아래와 같은 오류가 발생한다.

E: Couldn't find any package by glob 'nvidia_docker_install.sh'
E: Unable to locate package nvidia_docker_install.sh
...

이유를 몰라서 패키지를 지울려고 해도, 찾지를 못하고 지우고 재 설치도 쉽지가 않다.
도저히 방법이 없어서 fix-broken 설치를 먼저 했는데 nvidia 패키지들을 다 재설치를 한다.

sudo apt --fix-broken install

뭔가 커널 버전이 자동 업데이트 되서 Driver가 커널 버전 매칭이 안되서 오류가 발생한거고 --fix-broken install이 맞는 버전으로 재 설치 한게 아닐까 생각이 됨...

반응형
반응형

 

 윈도우에서는 환경 변수 설정을 안해봐서 뭐지하고 검색해보니... 그언젠가 옛날에 해본거 같다...

set PATH=<Path what you want to add>;%PATH%

 

반응형

+ Recent posts