#include "stdafx.h"
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
};
#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avformat.lib")
/* 雷霄骅
FIX: H.264 in some container format (FLV, MP4, MKV etc.) need "h264_mp4toannexb" bitstream filter (BSF)
* Add SPS,PPS in front of IDR frame
* Add start code ("0,0,0,1") in front of NALU
H.264 in some container (MPEG2TS) don't need this BSF.
*/
//'1': Use H.264 Bitstream Filter
#define USE_H264BSF 1
/* 雷霄骅
FIX:AAC in some container format (FLV, MP4, MKV etc.) need "aac_adtstoasc" bitstream filter (BSF)
*/
//'1': Use AAC Bitstream Filter
#define USE_AACBSF 1
int main(int argc, char* argv[])
{
// Variables Definition
AVFormatContext* ifmt_ctx = NULL; // Format context of input stream
const char* input_filepath = NULL; // File path of input stream
int idx_audio = -1; // index of input audio stream
int idx_video = -1; // index of input video stream
AVStream* pAudioStream = NULL; // Stream structure of input audio stream
AVStream* pVideoStream = NULL; // ... of input video stream
AVFormatContext* ofmt_ctx = NULL; // Format context of output stream
AVStream* pAudioStream_out = NULL; // Output audio stream (AAC)
AVStream* pVideoStream_out = NULL; // Output video stream (H264)
const char* output_filepath = NULL; // File path of output stream
AVPacket ipkt = { 0 }; //
// Variables Definition end