User Tools

Site Tools


mpeg4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mpeg4 [2011/02/24 05:09] – created suapapampeg4 [2013/08/03 05:04] (current) – external edit 127.0.0.1
Line 1: Line 1:
 안드로이드 StageFrghit MPEG4 parctice 안드로이드 StageFrghit MPEG4 parctice
 +
 +====== OMX_IL ======
 +디코더
 +<code bash>
 +$ mkgrep "libOMX\..*\.[Dd]ecoder"
 +./device/ti/zoom2/zoom2.mk:96: libOMX.TI.Video.Decoder \
 +./device/ti/zoom2/zoom2.mk:115: libOMX.TI.JPEG.decoder \
 +./device/ti/zoom2/zoom2.mk:118: libOMX.TI.Video.Decoder \
 +./hardware/ti/omx/image/src/openmax_il/jpeg_dec/Android.mk:20:LOCAL_MODULE:= libOMX.TI.JPEG.decoder
 +./hardware/ti/omx/image/src/openmax_il/jpeg_dec/Android.mk:35:LOCAL_SHARED_LIBRARIES := libOMX.TI.JPEG.decoder \
 +./hardware/ti/omx/video/src/openmax_il/video_decode/Android.mk:34:LOCAL_MODULE:= libOMX.TI.Video.Decoder
 +./hardware/ti/omx/video/src/openmax_il/video_decode_ittiam/src/Android.mk:83:LOCAL_MODULE:= libOMX.TI.720P.Decoder
 +</code>
 +
 +인코더
 +<code bash>
 +$ mkgrep "libOMX\..*\.[Ee]ncoder"
 +./device/ti/zoom2/zoom2.mk:97: libOMX.TI.Video.encoder \
 +./device/ti/zoom2/zoom2.mk:103: libOMX.TI.Video.encoder \
 +./device/ti/zoom2/zoom2.mk:109: libOMX.TI.JPEG.encoder \
 +./hardware/ti/omx/image/src/openmax_il/jpeg_enc/Android.mk:19:LOCAL_MODULE:= libOMX.TI.JPEG.encoder
 +./hardware/ti/omx/image/src/openmax_il/jpeg_enc/Android.mk:33:LOCAL_SHARED_LIBRARIES := libOMX.TI.JPEG.encoder \
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/test/Android.mk:16:        libOMX.TI.mp4.splt.Encoder \
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/test/Android.mk:17:        libOMX.TI.h264.splt.Encoder \
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/bin/Android.mk:7:LOCAL_MODULE := libOMX.TI.h264.splt.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/bin/Android.mk:19:LOCAL_MODULE := libOMX.TI.mp4.splt.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/bin/test_temp.mk:7:LOCAL_MODULE := libOMX.TI.mp4.splt.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/bin/test_temp.mk:19:LOCAL_MODULE := libOMX.TI.h264.splt.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/src/Android.mk:24:        libOMX.TI.mp4.splt.Encoder \
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/src/Android.mk:25:        libOMX.TI.h264.splt.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode_ittiam/src/Android.mk:35:LOCAL_MODULE:= libOMX.TI.720P.Encoder
 +./hardware/ti/omx/video/src/openmax_il/video_encode/Android.mk:21:LOCAL_MODULE:= libOMX.TI.Video.encoder
 +</code>
 +
 +====== 인코딩시 화면 튀는 문제 ======
 +비디오 레코딩 사용 소스 cmds/stagefright를 사용하면 더미를 씀으로 테스트 할 수 있다.
 +  *./frameworks/base/cmds/stagefright/record.cpp
 +  *./frameworks/base/cmds/stagefright/stagefright.cpp
 +  *./frameworks/base/media/libmediaplayerservice/StagefrightRecorder.cpp
 +
 +넥서스원 동영상
 +<code txt>
 +==========================================================================
 +Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
 +Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
 +==========================================================================
 +==========================================================================
 +Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
 +FAAD: compressed input bitrate missing, assuming 128kbit/s!
 +AUDIO: 32000 Hz, 2 ch, s16le, 128.0 kbit/12.50% (ratio: 16000->128000)
 +Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
 +==========================================================================
 +</code>
 +
 +zoom3 동영상
 +<code txt>
 +==========================================================================
 +Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
 +Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
 +==========================================================================
 +==========================================================================
 +Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
 +FAAD: compressed input bitrate missing, assuming 128kbit/s!
 +AUDIO: 16000 Hz, 2 ch, s16le, 128.0 kbit/25.00% (ratio: 16000->64000)
 +Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
 +==========================================================================
 +</code>
  
 ====== 비디오 rotation 정보 ====== ====== 비디오 rotation 정보 ======
 + * liboverlay rotation 부분에 똥싸놨음. -_-; 프로요와 비교해 똥싼 부분 찾아보자.
 +  * [[http://gitorious.org/blazetablet/hardware-ti-omap3/trees/froyo/liboverlay]]
 +
 ===== encode ====== ===== encode ======
 frameworks/base/media/libstagefright/MPEG4Writer.cpp: writeCompositionMatrix()에서 받은 각도에 따른 composition matrix를 track header에 붙임.  frameworks/base/media/libstagefright/MPEG4Writer.cpp: writeCompositionMatrix()에서 받은 각도에 따른 composition matrix를 track header에 붙임. 
Line 10: Line 80:
  
 ===== decode ===== ===== decode =====
 +<code bash>
 +[~/workspace/cyanogenmod/frameworks/base/media/libstagefright]
 +suapapa $ git grep kKeyRotation
 +AwesomePlayer.cpp:                    kKeyRotation, &rotationDegrees)) {
 +AwesomePlayer.cpp:                        kKeyRotation, &rotationDegrees)) {
 +MPEG4Extractor.cpp:        mLastTrack->meta->setInt32(kKeyRotation, rotationDegrees);
 +MPEG4Writer.cpp:    if (!mIsAudio && params && params->findInt32(kKeyRotationDegree, &rotationDegrees)) {
 +StagefrightMetadataRetriever.cpp:    if (!trackMeta->findInt32(kKeyRotation, &rotationAngle)) {
 +</code>
 +
 +AwesomePlayer 에서 frameworks/base/media/libstagefright/AwesomePlayer.cpp
 +<code cpp>
 +        if (!strncmp("OMX.", component, 4)) {
 +            // Our OMX codecs allocate buffers on the media_server side
 +            // therefore they require a remote IOMXRenderer that knows how
 +            // to display them.
 +            mVideoRenderer = new AwesomeRemoteRenderer(
 +                mClient.interface()->createRenderer(
 +                        mISurface, component,
 +                        (OMX_COLOR_FORMATTYPE)format,
 +                        decodedWidth, decodedHeight,
 +                        mVideoWidth, mVideoHeight,
 +                        rotationDegrees));
 +        }
 +</code>        
mpeg4.1298524183.txt.gz · Last modified: 2013/08/03 05:04 (external edit)