You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
halleyzhao edited this page Oct 15, 2014
·
97 revisions
Yet Another Media Infrastructure.
It is YUMMY to your video experience on Linux like platform.
Yami is core building block for media solution. it parses video stream and decodes them leverage hardware acceleration. one usage is to encapsulate yami into openMAX component, to be used on Chromeos, Android or Linux (by gst-omx).
you can apply the style check by "cp pre-commit .git/hooks/"; it is applied after git commit. so you can check/accept/reject the suggest coding style after initial commit.
Code Review Process
start work on libyami by 'fork' it to your home
enable coding style check by: cp pre-commit .git/hooks/
then follows by prompt.
commit/push to your home's repo, test it on chromeos/ubuntu
create 'pull requests'
wait for other's review
update your home's repo following feedbacks
we recommend force update to avoid unnecessary commit history, your pull requests get update automatically.
repeat the above two steps until no disagree
you can integrate your patch (home repo) with the condition met:
1+ member flags ok when patches are less than 50 lines.
2+ members flag ok when patches are more than 50 lines
at least one work day passed after latest patch update
integrate the patches manually (NOT the button on web page)
there is no special requirement to build libyami core library.
if you want to build yami decode tests with texture-video support, additional EGL/GLES2 packages are required. (sudo apt-get install libgles2-mesa-dev libegl1-mesa-dev)
video playback
./decode -i test.h264 [-m 0/1/2/3/4]
Full list of decode options:
-i media file to decode
-w wait before quit
-f dumped raw frame fourcc
-o dumped output dir
-m
0: dump video frame to file
1: render to X window
2: texture: render to Pixmap + texture from Pixmap
3: texture: export video frame as drm name (RGBX) + texture from drm name
4: texture: export video frame as dma_buf(RGBX) + texutre from dma_buf
5: texture: export video frame as dma_buf(NV12) + texture from dma_buf
encode with camera
./h264encode -i /dev/video0 -s YUY2 -W 640 -H 480 -c AVC -o out.h264
Full list of supported options are:
-i load YUV from a file
-W -H
-o optional
-b optional
-f optional
-c <codec: AVC|VP8|JPEG> Note: not support now
-s <fourcc: NV12|IYUV|YV12> Note: not support now
-N <number of frames to encode(camera default 50), useful for camera>