SIGSEGV (Segment fault) : access 一個無效的memory address時,會觸發這個signal。
從原av_encode( ) local variable 中分出來的變數:
AVInputStream : *ist, **ist_table原ffmpeg.c中..
AVOutputStream : *ost, **ost_table
AVInputFile : *file_table
av_encode - 作decode-encode的functionencode的動作: do_video_out
for(;receive_sigterm==0;){
由pts找到現在要decode/encode的input - file_index
av_read_frame(input_files[file_index], &pkt)
讀出一個frame的packet。
計算out stream的delta time
output_packet(ist, ist_index, ost_table, nb_ostream, *pkt)
decode pkt to picture : avcodec_decode_video
encode picture : do_video_out
img_convert : convert source pixel format to output pixel format..
這個ffmpeg內建一個各format互轉的function table : convert_table. @_@ 真是寶庫.
img_resample : ~
avcodec_encode_video : 把處理完後的 big_pitcure encode後放到bit_buffer
av_interleave_write_frame : 把 pkt(就是bit_buffer) 包裝後寫入out stream
沒有留言:
張貼留言