434 lines
20 KiB
Plaintext
Executable File
434 lines
20 KiB
Plaintext
Executable File
hd_audio_capture_only:
|
|
[data flow] audiocap -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require microphone.
|
|
(3) execute hd_audio_capture_only, it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check them on /mnt/sd/audio_bs_16_2_48000_pcm.dat and /mnt/sd/audio_bs_16_2_48000_pcm.len.
|
|
|
|
hd_audio_capture_only_with_2cap:
|
|
[data flow] audiocap -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require microphone.
|
|
(3) execute hd_audio_capture_only_with_2cap, it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check them on /mnt/sd/audio_bs_16_1_48000_pcm_p0.dat, /mnt/sd/audio_bs_16_1_48000_pcm_p0.len, /mnt/sd/audio_bs_16_1_48000_pcm_p1.dat and /mnt/sd/audio_bs_16_1_48000_pcm_p1.len.
|
|
|
|
hd_audio_decode_only:
|
|
[data flow] (user) -> audiodec -> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/audio_bs_16_2_48000_aac.dat and /pattern/audio_bs_16_2_48000_aac.len,
|
|
copy them to /mnt/sd/audio_bs_16_2_48000_aac.dat and /mnt/sd/audio_bs_16_2_48000_aac.len.
|
|
(2) execute hd_audio_decode_only [dec_type], it will start with above data flow.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure all files are saved.
|
|
(5) generate output files: check them on /mnt/sd/dump_frm_16_2_48000_pcm.dat and /mnt/sd/dump_frm_16_2_48000_pcm.len.
|
|
NOTE: [dec_type] 0:AAC 1:ULAW 2:ALAW 3:PCM.
|
|
|
|
hd_audio_encode_only:
|
|
[data flow] (user) -> audioenc -> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/audio_frm_16_2_48000_pcm.dat and /pattern/audio_frm_16_2_48000_pcm.len,
|
|
copy them to /mnt/sd/audio_frm_16_2_48000_aac.dat and /mnt/sd/audio_frm_16_2_48000_aac.len.
|
|
(2) execute hd_audio_encode_only [enc_type], it will start with above data flow.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure all files are saved.
|
|
(5) generate output files: check them on /mnt/sd/dump_bs_16_2_48000_aac.dat and /mnt/sd/dump_bs_16_2_48000_aac.len.
|
|
NOTE: [enc_type] 0:AAC 1:ULAW 2:ALAW.
|
|
|
|
hd_audio_livesound:
|
|
[data flow] audiocap -> audioout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require microphone and speaker.
|
|
(3) execute hd_audio_livesound, it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
|
|
hd_audio_output_only:
|
|
[data flow] (user) -> audioout
|
|
[usage]
|
|
(1) require input files: /pattern/audio_frm_16_2_48000_pcm.dat and /pattern/audio_frm_16_2_48000_pcm.len,
|
|
copy them to /mnt/sd/audio_frm_16_2_48000_pcm.dat and /mnt/sd/audio_frm_16_2_48000_pcm.len.
|
|
(2) require speaker.
|
|
(3) execute hd_audio_output_only, it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
|
|
hd_audio_output_only_with_2out:
|
|
[data flow] (user) -> audioout
|
|
[usage]
|
|
(1) require input files: /pattern/audio_frm_16_1_48000_pcm.dat and /pattern/audio_frm_16_1_48000_pcm.len,
|
|
copy them to /mnt/sd/audio_frm_16_1_48000_pcm.dat and /mnt/sd/audio_frm_16_1_48000_pcm.len.
|
|
(2) require speaker.
|
|
(3) execute hd_audio_output_only_with_2out, it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
|
|
hd_audio_playback:
|
|
[data flow] (user) -> audiodec -> audioout
|
|
[usage]
|
|
(1) require input files: /pattern/audio_bs_16_2_48000_aac.dat and /pattern/audio_bs_16_2_48000_aac.len,
|
|
copy them to /mnt/sd/audio_bs_16_2_48000_aac.dat and /mnt/sd/audio_bs_16_2_48000_aac.len.
|
|
(2) require speaker.
|
|
(3) execute hd_audio_playback [dec_type], it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
NOTE: [dec_type] 0:AAC 1:ULAW 2:ALAW 3:PCM.
|
|
|
|
hd_audio_record:
|
|
[data flow] audiocap -> audioenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require microphone.
|
|
(3) execute hd_audio_record [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check them on /mnt/sd/dump_bs_16_2_48000_aac.dat and /mnt/sd/dump_bs_16_2_48000_aac.len.
|
|
NOTE: [enc_type] 0:AAC 1:ULAW 2:ALAW.
|
|
|
|
hd_audio_bidirect_with_aec:
|
|
[data flow] audiocap -> (user), (user) -> audioout
|
|
[usage]
|
|
(1) require input files: audio_bs_16_1_16000_pcm_out.dat and audio_bs_16_1_16000_pcm_out.len,
|
|
copy them to /mnt/sd/audio_bs_16_1_16000_pcm_out.dat and /mnt/sd/audio_bs_16_1_16000_pcm_out.len.
|
|
(2) require microphone and speaker.
|
|
(3) execute hd_audio_bidirect_with_aec, it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
(6) enter "sync" to ensure all files are saved.
|
|
(7) generate output files: check them on /mnt/sd/audio_bs_16_1_16000_pcm_cap.dat and /mnt/sd/audio_bs_16_1_16000_pcm_cap.len.
|
|
|
|
hd_audio_2bidirect_with_aec:
|
|
[data flow] audiocap -> (user), (user) -> audioout
|
|
[usage]
|
|
(1) require input files: audio_bs_16_1_16000_pcm_out_p0.dat, audio_bs_16_1_16000_pcm_out_p0.len,
|
|
audio_bs_16_1_16000_pcm_out_p1.dat andaudio_bs_16_1_16000_pcm_out_p1.len.
|
|
copy them to /mnt/sd/audio_bs_16_1_16000_pcm_out_p0.dat and /mnt/sd/audio_bs_16_1_16000_pcm_out_p0.len,
|
|
/mnt/sd/audio_bs_16_1_16000_pcm_out_p1.dat and /mnt/sd/audio_bs_16_1_16000_pcm_out_p1.len
|
|
(2) require microphone and speaker.
|
|
(3) execute hd_audio_2bidirect_with_aec, it will start with above data flow.
|
|
(4) check the sound played by the speaker.
|
|
(5) press 'q' to quit this app.
|
|
(6) enter "sync" to ensure all files are saved.
|
|
(7) generate output files: check them on /mnt/sd/audio_bs_16_1_16000_pcm_cap_p0.dat and /mnt/sd/audio_bs_16_1_16000_pcm_cap_p0.len,
|
|
/mnt/sd/audio_bs_16_1_16000_pcm_cap_p1.dat and /mnt/sd/audio_bs_16_1_16000_pcm_cap_p1.len.
|
|
|
|
hd_common:
|
|
[data flow] none.
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) Auto test memory APIs and check if pass, if any item fail will break the test program and print error.
|
|
(3) The auto test items are below:
|
|
[1] test get block from common pool
|
|
[2] test get block from osg pool
|
|
[3] test alloc/free continuous memory
|
|
[4] test translate user space va to pa
|
|
[5] test if user space va to pa still work at the case "multiple va mmap to the same physical"
|
|
(4) press 'q' to quit this app.
|
|
|
|
hd_debug_test:
|
|
|
|
hd_gfx_only:
|
|
[data flow] (user) -> gfx -> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/video_frm_1000_200_1_argb4444.dat, video_frm_1920_1080_1_yuv420.dat video_frm_1920_1080_1_yuv4203P.dat.
|
|
copy it to /mnt/sd/video_frm_1920_1080_1_yuv420.dat, video_frm_1920_1080_1_yuv420.dat, video_frm_1920_1080_1_yuv4203P.dat.
|
|
(2) execute hd_gfx_only.
|
|
(3) press 'c' to test copy
|
|
press 's' to test scale
|
|
press 'o' to test rotation
|
|
press 't' to test color transform
|
|
press 'l' to test draw line
|
|
press 'r' to test draw rectangle
|
|
press 'm' to test dma memory copy
|
|
press 'a' to test arithmetic
|
|
press 'j' to test job/list
|
|
press 'p' to transfrom yuv420 3p to 2p
|
|
press 'd' to scale up yuv420 3p
|
|
(4) copy test generates /mnt/sd/hd_gfx_copy_1920_1080_1_yuv420.dat : a 1000x200 novatek logo is printed on 1920x1080 image
|
|
scale test generates /mnt/sd/hd_gfx_scale_3840_2160_1_yuv420.dat : a 1920x1080 image is scaled up to 3840x2160
|
|
rotation test generates /mnt/sd/hd_gfx_rotate_1920_1080_1_yuv420.dat : the input image is rotated by 180 degree
|
|
color transform test generates /mnt/sd/hd_gfx_color_transform_1000_200_1_yuv420.dat : the input argb4444 image is tranformed to yuv420
|
|
draw line test generates /mnt/sd/hd_gfx_draw_line_1920_1080_1_yuv420.dat : a green line is painted on the image
|
|
draw rectangle test generates /mnt/sd/hd_gfx_draw_rect_1920_1080_1_yuv420.dat : a green rectangle is painted on the image
|
|
dma memory copy test prints "dma manages to copy 1048576 bytes" on success
|
|
arithmetic test prints "minus operation of two 16bits arrays ok" on success
|
|
job/list test generates /mnt/sd/hd_gfx_job_list_1920_1080_1_yuv420.dat : a frame and 4 rectangles are painted on the image
|
|
transfrom yuv420 3p to 2p test generates /mnt/sd/hd_gfx_3p_to_2p_1920_1080_1_yuv420.dat : the input yuv420 3p image is tranformed to yuv420 2p
|
|
scale yuv420 3p test generates /mnt/sd/hd_gfx_scale_420_3p_480_270_1_yuv4203p.dat : a 1920x1080 yuv420 3p image is scaled down to 480x270
|
|
(5) enter "sync" to ensure all output files are fully saved.
|
|
|
|
hd_video_capture_only:
|
|
[data flow] videocap -> (user)
|
|
[usage]
|
|
(1) execute hd_video_capture_only, it will start with above data flow.
|
|
(2) press 's' to save a raw file to /mnt/sd/cap?.raw.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure all files are saved.
|
|
|
|
hd_video_decode_only:
|
|
[data flow] (user) -> videodec-> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/video_bs_640_480_h265.dat, copy it to /mnt/sd/video_bs_640_480_h265.dat.
|
|
(2) execute hd_video_decode_only [dec_type], it will start with above data flow.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure all files are saved.
|
|
(5) generate output files: check it on /mnt/sd/dump_frm_640_480_yuv.dat.
|
|
NOTE: [dec_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_encode_only:
|
|
[data flow] (user) -> videoenc-> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/video_frm_352_288_30_yuv420.dat, copy it to /mnt/sd/video_frm_352_288_30_yuv420.dat.
|
|
(2) execute hd_video_encode_only, it will start with above data flow.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure all files are saved.
|
|
(5) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
|
|
hd_video_liveview:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291 and display
|
|
(3) execute hd_video_liveview, it will start with above data flow.
|
|
(4) check the video result on display.
|
|
(5) press 'q' to quit this app.
|
|
|
|
|
|
hd_video_liveview_with_dir:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291 and display
|
|
(3) execute hd_video_liveview_with_dir, it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
press 'w or x' to dynamic change videocap output mirror/flip (only support CCIR sensor)
|
|
press 'e or c' to dynamic change videoproc input mirror/flip
|
|
press 't or b' to dynamic change videoout input mirror/flip
|
|
(5) check the video result on display.
|
|
|
|
hd_video_liveview_with_vcap_2dev:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require dual sensor board imx290 and LCD.
|
|
(2) disable "modprobe nvt_sen_imx290 sen_cfg_path=/mnt/app/sensor/sen_imx290.cfg" and enable "modprobe nvt_sen_imx290 sen_cfg_path=/mnt/app/sensor/sen_imx290_dual.cfg" in the script file, S10_SysInit2.
|
|
(3) execute hd_video_liveview_with_vcap_2dev [out_type], it will start with above data flow.
|
|
NOTE: [out_type] 0:cap0 ->vout0 1:cap1->vout0 2:cap0+cap1 ->vout0(pip) 3:cap0+cap1 ->vout0(side by side)
|
|
hd_video_liveview_with_frc:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291 and display
|
|
(3) execute hd_video_liveview_with_frc, it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
press 'e or c' to dynamic change videoproc input frame rate
|
|
press 'r or v' to dynamic change videoproc output frame rate
|
|
(5) check the video result on display.
|
|
|
|
hd_video_liveview_with_pat:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) execute hd_video_liveview_with_pat [pat_mode] [pat_value]
|
|
(3) check the video result on LCD.
|
|
(4) press 'q' to quit this app .
|
|
NOTE: [pat_mode] [pat_value] referring to HD_VIDEOCAP_SEN_PATGEN_SEL.
|
|
|
|
hd_video_liveview_with_osg:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: /pattern/video_frm_1000_200_1_argb4444.dat, copy it to /mnt/sd/video_frm_1000_200_1_argb4444.dat.
|
|
(2) require sensor board imx291 and display.
|
|
(3) execute hd_video_liveview_with_osg [out_type], it will start with above data flow.
|
|
(4) LCD should display streaming with a novatek logo and a red rectangle.
|
|
(5) press 'q' to quit this app.
|
|
NOTE: [out_type] 0:NTSC 1:EVB lcd (Disp_IF8B_LCD1_PW35P00_HX8238D) 2:HDMI.
|
|
NOTE: execute cat /proc/hdmitx/help would list support hdmi id, when hdmi is attathed
|
|
|
|
|
|
hd_video_liveview_with_wdr_defog:
|
|
[data flow] videocap -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291 and display
|
|
(3) execute hd_video_liveview_with_wdr_defog, it will start WDR and DEFOG effect with above data flow.
|
|
(4) check the video result on display.
|
|
(5) press 'q' to quit this app.
|
|
|
|
hd_video_output_only:
|
|
[data flow] (user) -> videoout
|
|
[usage]
|
|
(1) require input files: /pattern/video_frm_320_240_3_yuv422.dat, copy it to /mnt/sd/video_frm_320_240_3_yuv422.dat.
|
|
(2) require display
|
|
(3) execute hd_video_output_only [out_type] [hdmi_id], it will start with above data flow.
|
|
(4) check the video result on display.
|
|
(5) press 'q' to quit this app.
|
|
NOTE: [out_type] 0:NTSC 1:EVB lcd (Disp_IF8B_LCD1_PW35P00_HX8238D) 2:HDMI.
|
|
NOTE: execute cat /proc/hdmitx/help would list support hdmi id, when hdmi is attathed
|
|
|
|
hd_video_playback:
|
|
[data flow] (user) -> videodec -> videoproc -> videoout
|
|
[usage]
|
|
(1) require input files: /pattern/video_bs_640_480_h265.dat and /pattern/video_bs_640_480_h265.len,
|
|
copy them to /mnt/sd/video_bs_640_480_h265.dat and /pattern/video_bs_640_480_h265.len.
|
|
(2) require display
|
|
(3) execute hd_video_playback [dec_type], it will start with above data flow.
|
|
(4) check the video result on display.
|
|
(4) press 'q' to quit this app.
|
|
NOTE: [dec_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_process_only:
|
|
[data flow] (user) -> videoproc -> (user)
|
|
[usage] TBD.
|
|
(1) require input files: /pattern/video_frm_352_288_30_yuv420.dat, copy it to /mnt/sd/video_frm_352_288_30_yuv420.dat.
|
|
(2) execute hd_video_process_only, it will start with above data flow.
|
|
(3) press 's' to save a raw file to /mnt/sd/dump_frm_yuv420_xxx.dat.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
|
|
|
|
hd_video_record:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_record_with_2proc:
|
|
[data flow] videocap -> videoproc -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_2proc [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_record_with_dir:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_dir [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
press 'w or x' to dynamic changevideocap output mirror/flip (only support CCIR sensor)
|
|
press 'e or c' to dynamic changevideoproc input mirror/flip
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_record_with_extend:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
\> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_extend [enc_type] [extend mode], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat and /mnt/sd/dump_bs_sub.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
NOTE: [extend mode] 0:share 1:scale 2:rotate 2:scale+rotate
|
|
|
|
hd_video_record_with_frc:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_frc [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
press 'e or c' to dynamic change videoproc input frame rate
|
|
press 'r or v' to dynamic change videoproc output frame rate
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_record_with_osg:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: /pattern/video_frm_1000_200_1_argb4444.dat, copy it to /mnt/sd/video_frm_1000_200_1_argb4444.dat.
|
|
(2) execute hd_video_record_with_osg, it will start to record streaming.
|
|
(3) press 'q' to quit this app.
|
|
(4) enter "sync" to ensure the output file is fully saved.
|
|
(5) generated output files: /mnt/sd/dump_bs_main.dat.
|
|
(6) play dump_bs_main.dat. Two blue "novatek" logos and a red mask are on the top left.
|
|
|
|
hd_video_record_with_substream:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
\> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_substream [enc_type], it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat and /mnt/sd/dump_bs_sub.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|
|
|
|
hd_video_record_with_userqp:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record_with_userqp, it will start with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
|
|
hd_video_snapshot:
|
|
[data flow] videocap -> videoproc -> (user) -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_snapshot, it will start with above data flow.
|
|
(4) press 's' to trigger snapshot, it will save a snapshot file.
|
|
(5) press 'q' to quit this app.
|
|
(6) enter "sync" to ensure all files are saved.
|
|
(7) generate output files: check it on /mnt/sd/dump_bs_snapxxx.jpg.
|
|
|
|
hd_video_snapshot_with_extend:
|
|
[data flow] videocap -> videoproc ->
|
|
\> (user) -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_snapshot_with_extend [extend mode], it will start with above data flow.
|
|
(4) press 's' to trigger snapshot, it will save a snapshot file.
|
|
(5) press 'q' to quit this app.
|
|
(6) enter "sync" to ensure all files are saved.
|
|
(7) generate output files: check it on /mnt/sd/dump_bs_snapxxx_[extend mode].jpg.
|
|
NOTE: [extend mode] 0:share 1:scale 2:rotate 2:scale+rotate
|
|
|
|
hd_video_snapshot_with_osg:
|
|
[data flow] videocap -> videoproc -> videoenc
|
|
\-> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_snapshot_with_osg, it will start with above data flow.
|
|
(4) press 's' to trigger snapshot, it will save a snapshot file.
|
|
(5) press 'q' to quit this app.
|
|
(6) enter "sync" to ensure all files are saved.
|
|
(7) generate output files: check it on /mnt/sd/dump_bs_snapxxx.jpg.
|
|
|
|
hd_video_record_with_pano:
|
|
[data flow] videocap -> videoproc -> videoenc -> (user)
|
|
[usage]
|
|
(1) require input files: (none).
|
|
(2) require sensor board imx291.
|
|
(3) execute hd_video_record [enc_type], it will start panorama 360 effect with above data flow.
|
|
(4) press 'q' to quit this app.
|
|
(5) enter "sync" to ensure all files are saved.
|
|
(6) generate output files: check it on /mnt/sd/dump_bs_main.dat.
|
|
NOTE: [enc_type] 0:H265 1:H264 2:JPEG
|