Merge remote-tracking branch 'qatar/master'
* qatar/master: ffmpeg: fix some indentation ffmpeg: fix operation with --disable-avfilter simple_idct: remove disabled code motion_est: remove disabled code vc1: remove disabled code fate: separate lavf-mxf_d10 test from lavf-mxf cabac: Move code only used in the cabac test program to cabac.c. ffplay: warn that -pix_fmt is no longer working, suggest alternative ffplay: warn that -s is no longer working, suggest alternative lavf: rename enc variable in utils.c:has_codec_parameters() lavf: use designated initialisers for all (de)muxers. wav: remove a use of deprecated AV_METADATA_ macro rmdec: remove useless ap parameter from rm_read_header_old() dct-test: remove write-only variable des: fix #if conditional around P_shuffle Use LOCAL_ALIGNED in ff_check_alignment() Conflicts: ffmpeg.c libavformat/avidec.c libavformat/matroskaenc.c libavformat/mp3enc.c libavformat/oggenc.c libavformat/utils.c tests/ref/lavf/mxf Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
78accb876c
2
configure
vendored
2
configure
vendored
@ -1604,7 +1604,7 @@ test_deps _muxer _demuxer \
|
||||
mmf \
|
||||
mov \
|
||||
pcm_mulaw=mulaw \
|
||||
mxf \
|
||||
mxf="mxf mxf_d10" \
|
||||
nut \
|
||||
ogg \
|
||||
rawvideo=pixfmt \
|
||||
|
@ -38,8 +38,8 @@ Force displayed width.
|
||||
@item -y @var{height}
|
||||
Force displayed height.
|
||||
@item -s @var{size}
|
||||
Set frame size (WxH or abbreviation), needed for videos which don't
|
||||
contain a header with the frame size like raw YUV.
|
||||
This option has been removed. Use private format options for specifying the
|
||||
input video size.
|
||||
@item -an
|
||||
Disable audio.
|
||||
@item -vn
|
||||
@ -89,7 +89,8 @@ Read @var{input_file}.
|
||||
@section Advanced options
|
||||
@table @option
|
||||
@item -pix_fmt @var{format}
|
||||
Set pixel format.
|
||||
This option has been removed. Use private options for specifying the
|
||||
input pixel format.
|
||||
@item -stats
|
||||
Show the stream duration, the codec parameters, the current position in
|
||||
the stream and the audio/video synchronisation drift.
|
||||
|
11
ffmpeg.c
11
ffmpeg.c
@ -2323,16 +2323,19 @@ static int transcode(AVFormatContext **output_files,
|
||||
fprintf(stderr, "Video pixel format is unknown, stream cannot be encoded\n");
|
||||
ffmpeg_exit(1);
|
||||
}
|
||||
|
||||
if (!codec->width || !codec->height) {
|
||||
codec->width = icodec->width;
|
||||
codec->height = icodec->height;
|
||||
}
|
||||
|
||||
ost->video_resample = codec->width != icodec->width ||
|
||||
codec->height != icodec->height ||
|
||||
codec->pix_fmt != icodec->pix_fmt;
|
||||
if (ost->video_resample) {
|
||||
codec->bits_per_raw_sample= frame_bits_per_raw_sample;
|
||||
}
|
||||
if (!codec->width || !codec->height) {
|
||||
codec->width = icodec->width;
|
||||
codec->height = icodec->height;
|
||||
}
|
||||
|
||||
ost->resample_height = icodec->height;
|
||||
ost->resample_width = icodec->width;
|
||||
ost->resample_pix_fmt= icodec->pix_fmt;
|
||||
|
18
ffplay.c
18
ffplay.c
@ -223,9 +223,6 @@ static int fs_screen_width;
|
||||
static int fs_screen_height;
|
||||
static int screen_width = 0;
|
||||
static int screen_height = 0;
|
||||
static int frame_width = 0;
|
||||
static int frame_height = 0;
|
||||
static enum PixelFormat frame_pix_fmt = PIX_FMT_NONE;
|
||||
static int audio_disable;
|
||||
static int video_disable;
|
||||
static int wanted_stream[AVMEDIA_TYPE_NB]={
|
||||
@ -2813,16 +2810,10 @@ static void event_loop(void)
|
||||
|
||||
static int opt_frame_size(const char *opt, const char *arg)
|
||||
{
|
||||
if (av_parse_video_size(&frame_width, &frame_height, arg) < 0) {
|
||||
fprintf(stderr, "Incorrect frame size\n");
|
||||
av_log(NULL, AV_LOG_ERROR,
|
||||
"Option '%s' has been removed, use private format options instead\n", opt);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
if ((frame_width % 2) != 0 || (frame_height % 2) != 0) {
|
||||
fprintf(stderr, "Frame size must be a multiple of 2\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int opt_width(const char *opt, const char *arg)
|
||||
{
|
||||
@ -2848,8 +2839,9 @@ static int opt_format(const char *opt, const char *arg)
|
||||
|
||||
static int opt_frame_pix_fmt(const char *opt, const char *arg)
|
||||
{
|
||||
frame_pix_fmt = av_get_pix_fmt(arg);
|
||||
return 0;
|
||||
av_log(NULL, AV_LOG_ERROR,
|
||||
"Option '%s' has been removed, use private format options instead\n", opt);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
static int opt_sync(const char *opt, const char *arg)
|
||||
|
@ -166,6 +166,140 @@ void ff_init_cabac_states(CABACContext *c){
|
||||
#include "avcodec.h"
|
||||
#include "cabac.h"
|
||||
|
||||
static void put_cabac(CABACContext *c, uint8_t * const state, int bit){
|
||||
int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + *state];
|
||||
|
||||
if(bit == ((*state)&1)){
|
||||
c->range -= RangeLPS;
|
||||
*state= ff_h264_mps_state[*state];
|
||||
}else{
|
||||
c->low += c->range - RangeLPS;
|
||||
c->range = RangeLPS;
|
||||
*state= ff_h264_lps_state[*state];
|
||||
}
|
||||
|
||||
renorm_cabac_encoder(c);
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bit 0 -> write zero bit, !=0 write one bit
|
||||
*/
|
||||
static void put_cabac_bypass(CABACContext *c, int bit){
|
||||
c->low += c->low;
|
||||
|
||||
if(bit){
|
||||
c->low += c->range;
|
||||
}
|
||||
//FIXME optimize
|
||||
if(c->low<0x200){
|
||||
put_cabac_bit(c, 0);
|
||||
}else if(c->low<0x400){
|
||||
c->outstanding_count++;
|
||||
c->low -= 0x200;
|
||||
}else{
|
||||
put_cabac_bit(c, 1);
|
||||
c->low -= 0x400;
|
||||
}
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the number of bytes written
|
||||
*/
|
||||
static int put_cabac_terminate(CABACContext *c, int bit){
|
||||
c->range -= 2;
|
||||
|
||||
if(!bit){
|
||||
renorm_cabac_encoder(c);
|
||||
}else{
|
||||
c->low += c->range;
|
||||
c->range= 2;
|
||||
|
||||
renorm_cabac_encoder(c);
|
||||
|
||||
assert(c->low <= 0x1FF);
|
||||
put_cabac_bit(c, c->low>>9);
|
||||
put_bits(&c->pb, 2, ((c->low>>7)&3)|1);
|
||||
|
||||
flush_put_bits(&c->pb); //FIXME FIXME FIXME XXX wrong
|
||||
}
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
|
||||
return (put_bits_count(&c->pb)+7)>>3;
|
||||
}
|
||||
|
||||
/**
|
||||
* put (truncated) unary binarization.
|
||||
*/
|
||||
static void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){
|
||||
int i;
|
||||
|
||||
assert(v <= max);
|
||||
|
||||
for(i=0; i<v; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
if(truncated==0 || v<max)
|
||||
put_cabac(c, state, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* put unary exp golomb k-th order binarization.
|
||||
*/
|
||||
static void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){
|
||||
int i;
|
||||
|
||||
if(v==0)
|
||||
put_cabac(c, state, 0);
|
||||
else{
|
||||
const int sign= v < 0;
|
||||
|
||||
if(is_signed) v= FFABS(v);
|
||||
|
||||
if(v<max){
|
||||
for(i=0; i<v; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
|
||||
put_cabac(c, state, 0);
|
||||
}else{
|
||||
int m= 1<<k;
|
||||
|
||||
for(i=0; i<max; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
|
||||
v -= max;
|
||||
while(v >= m){ //FIXME optimize
|
||||
put_cabac_bypass(c, 1);
|
||||
v-= m;
|
||||
m+= m;
|
||||
}
|
||||
put_cabac_bypass(c, 0);
|
||||
while(m>>=1){
|
||||
put_cabac_bypass(c, v&m);
|
||||
}
|
||||
}
|
||||
|
||||
if(is_signed)
|
||||
put_cabac_bypass(c, sign);
|
||||
}
|
||||
}
|
||||
|
||||
int main(void){
|
||||
CABACContext c;
|
||||
uint8_t b[9*SIZE];
|
||||
|
@ -90,178 +90,6 @@ static inline void renorm_cabac_encoder(CABACContext *c){
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TEST
|
||||
static void put_cabac(CABACContext *c, uint8_t * const state, int bit){
|
||||
int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + *state];
|
||||
|
||||
if(bit == ((*state)&1)){
|
||||
c->range -= RangeLPS;
|
||||
*state= ff_h264_mps_state[*state];
|
||||
}else{
|
||||
c->low += c->range - RangeLPS;
|
||||
c->range = RangeLPS;
|
||||
*state= ff_h264_lps_state[*state];
|
||||
}
|
||||
|
||||
renorm_cabac_encoder(c);
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void put_cabac_static(CABACContext *c, int RangeLPS, int bit){
|
||||
assert(c->range > RangeLPS);
|
||||
|
||||
if(!bit){
|
||||
c->range -= RangeLPS;
|
||||
}else{
|
||||
c->low += c->range - RangeLPS;
|
||||
c->range = RangeLPS;
|
||||
}
|
||||
|
||||
renorm_cabac_encoder(c);
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bit 0 -> write zero bit, !=0 write one bit
|
||||
*/
|
||||
static void put_cabac_bypass(CABACContext *c, int bit){
|
||||
c->low += c->low;
|
||||
|
||||
if(bit){
|
||||
c->low += c->range;
|
||||
}
|
||||
//FIXME optimize
|
||||
if(c->low<0x200){
|
||||
put_cabac_bit(c, 0);
|
||||
}else if(c->low<0x400){
|
||||
c->outstanding_count++;
|
||||
c->low -= 0x200;
|
||||
}else{
|
||||
put_cabac_bit(c, 1);
|
||||
c->low -= 0x400;
|
||||
}
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return the number of bytes written
|
||||
*/
|
||||
static int put_cabac_terminate(CABACContext *c, int bit){
|
||||
c->range -= 2;
|
||||
|
||||
if(!bit){
|
||||
renorm_cabac_encoder(c);
|
||||
}else{
|
||||
c->low += c->range;
|
||||
c->range= 2;
|
||||
|
||||
renorm_cabac_encoder(c);
|
||||
|
||||
assert(c->low <= 0x1FF);
|
||||
put_cabac_bit(c, c->low>>9);
|
||||
put_bits(&c->pb, 2, ((c->low>>7)&3)|1);
|
||||
|
||||
flush_put_bits(&c->pb); //FIXME FIXME FIXME XXX wrong
|
||||
}
|
||||
|
||||
#ifdef STRICT_LIMITS
|
||||
c->symCount++;
|
||||
#endif
|
||||
|
||||
return (put_bits_count(&c->pb)+7)>>3;
|
||||
}
|
||||
|
||||
/**
|
||||
* put (truncated) unary binarization.
|
||||
*/
|
||||
static void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){
|
||||
int i;
|
||||
|
||||
assert(v <= max);
|
||||
|
||||
#if 1
|
||||
for(i=0; i<v; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
if(truncated==0 || v<max)
|
||||
put_cabac(c, state, 0);
|
||||
#else
|
||||
if(v <= max_index){
|
||||
for(i=0; i<v; i++){
|
||||
put_cabac(c, state+i, 1);
|
||||
}
|
||||
if(truncated==0 || v<max)
|
||||
put_cabac(c, state+i, 0);
|
||||
}else{
|
||||
for(i=0; i<=max_index; i++){
|
||||
put_cabac(c, state+i, 1);
|
||||
}
|
||||
for(; i<v; i++){
|
||||
put_cabac(c, state+max_index, 1);
|
||||
}
|
||||
if(truncated==0 || v<max)
|
||||
put_cabac(c, state+max_index, 0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* put unary exp golomb k-th order binarization.
|
||||
*/
|
||||
static void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){
|
||||
int i;
|
||||
|
||||
if(v==0)
|
||||
put_cabac(c, state, 0);
|
||||
else{
|
||||
const int sign= v < 0;
|
||||
|
||||
if(is_signed) v= FFABS(v);
|
||||
|
||||
if(v<max){
|
||||
for(i=0; i<v; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
|
||||
put_cabac(c, state, 0);
|
||||
}else{
|
||||
int m= 1<<k;
|
||||
|
||||
for(i=0; i<max; i++){
|
||||
put_cabac(c, state, 1);
|
||||
if(i < max_index) state++;
|
||||
}
|
||||
|
||||
v -= max;
|
||||
while(v >= m){ //FIXME optimize
|
||||
put_cabac_bypass(c, 1);
|
||||
v-= m;
|
||||
m+= m;
|
||||
}
|
||||
put_cabac_bypass(c, 0);
|
||||
while(m>>=1){
|
||||
put_cabac_bypass(c, v&m);
|
||||
}
|
||||
}
|
||||
|
||||
if(is_signed)
|
||||
put_cabac_bypass(c, sign);
|
||||
}
|
||||
}
|
||||
#endif /* TEST */
|
||||
|
||||
static void refill(CABACContext *c){
|
||||
#if CABAC_BITS == 16
|
||||
c->low+= (c->bytestream[0]<<9) + (c->bytestream[1]<<1);
|
||||
|
@ -190,7 +190,6 @@ static void idct_mmx_init(void)
|
||||
|
||||
DECLARE_ALIGNED(16, static DCTELEM, block)[64];
|
||||
DECLARE_ALIGNED(8, static DCTELEM, block1)[64];
|
||||
DECLARE_ALIGNED(8, static DCTELEM, block_org)[64];
|
||||
|
||||
static inline void mmx_emms(void)
|
||||
{
|
||||
@ -246,9 +245,6 @@ static int dct_error(const struct algo *dct, int test, int is_idct, int speed, c
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < 64; i++)
|
||||
block_org[i] = block1[i];
|
||||
|
||||
if (dct->format == MMX_PERM) {
|
||||
for (i = 0; i < 64; i++)
|
||||
block[idct_mmx_perm[i]] = block1[i];
|
||||
|
@ -2832,7 +2832,7 @@ av_cold void dsputil_static_init(void)
|
||||
|
||||
int ff_check_alignment(void){
|
||||
static int did_fail=0;
|
||||
DECLARE_ALIGNED(16, int, aligned);
|
||||
LOCAL_ALIGNED_16(int, aligned);
|
||||
|
||||
if((intptr_t)&aligned & 15){
|
||||
if(!did_fail){
|
||||
|
@ -374,30 +374,6 @@ int ff_init_me(MpegEncContext *s){
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int pix_dev(uint8_t * pix, int line_size, int mean)
|
||||
{
|
||||
int s, i, j;
|
||||
|
||||
s = 0;
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j += 8) {
|
||||
s += FFABS(pix[0]-mean);
|
||||
s += FFABS(pix[1]-mean);
|
||||
s += FFABS(pix[2]-mean);
|
||||
s += FFABS(pix[3]-mean);
|
||||
s += FFABS(pix[4]-mean);
|
||||
s += FFABS(pix[5]-mean);
|
||||
s += FFABS(pix[6]-mean);
|
||||
s += FFABS(pix[7]-mean);
|
||||
pix += 8;
|
||||
}
|
||||
pix += line_size - 16;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void no_motion_search(MpegEncContext * s,
|
||||
int *mx_ptr, int *my_ptr)
|
||||
{
|
||||
@ -1214,30 +1190,6 @@ void ff_estimate_p_frame_motion(MpegEncContext * s,
|
||||
|
||||
intra_score= s->dsp.mb_cmp[0](s, c->scratchpad, pix, s->linesize, 16);
|
||||
}
|
||||
#if 0 //FIXME
|
||||
/* get chroma score */
|
||||
if(c->avctx->mb_cmp&FF_CMP_CHROMA){
|
||||
for(i=1; i<3; i++){
|
||||
uint8_t *dest_c;
|
||||
int mean;
|
||||
|
||||
if(s->out_format == FMT_H263){
|
||||
mean= (s->dc_val[i][mb_x + mb_y*s->b8_stride] + 4)>>3; //FIXME not exact but simple ;)
|
||||
}else{
|
||||
mean= (s->last_dc[i] + 4)>>3;
|
||||
}
|
||||
dest_c = s->new_picture.f.data[i] + (mb_y * 8 * (s->uvlinesize)) + mb_x * 8;
|
||||
|
||||
mean*= 0x01010101;
|
||||
for(i=0; i<8; i++){
|
||||
*(uint32_t*)(&c->scratchpad[i*s->uvlinesize+ 0]) = mean;
|
||||
*(uint32_t*)(&c->scratchpad[i*s->uvlinesize+ 4]) = mean;
|
||||
}
|
||||
|
||||
intra_score+= s->dsp.mb_cmp[1](s, c->scratchpad, dest_c, s->uvlinesize);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
intra_score += c->mb_penalty_factor*16;
|
||||
|
||||
if(intra_score < dmin){
|
||||
@ -1850,10 +1802,6 @@ void ff_estimate_b_frame_motion(MpegEncContext * s,
|
||||
if(dmin>256*256*16) type&= ~CANDIDATE_MB_TYPE_DIRECT; //do not try direct mode if it is invalid for this MB
|
||||
if(s->codec_id == CODEC_ID_MPEG4 && type&CANDIDATE_MB_TYPE_DIRECT && s->flags&CODEC_FLAG_MV0 && *(uint32_t*)s->b_direct_mv_table[xy])
|
||||
type |= CANDIDATE_MB_TYPE_DIRECT0;
|
||||
#if 0
|
||||
if(s->out_format == FMT_MPEG1)
|
||||
type |= CANDIDATE_MB_TYPE_INTRA;
|
||||
#endif
|
||||
}
|
||||
|
||||
s->mb_type[mb_y*s->mb_stride + mb_x]= type;
|
||||
|
@ -44,75 +44,6 @@
|
||||
COPY3_IF_LT(dmin, d, bx, hx, by, hy)\
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int hpel_motion_search)(MpegEncContext * s,
|
||||
int *mx_ptr, int *my_ptr, int dmin,
|
||||
uint8_t *ref_data[3],
|
||||
int size)
|
||||
{
|
||||
const int xx = 16 * s->mb_x + 8*(n&1);
|
||||
const int yy = 16 * s->mb_y + 8*(n>>1);
|
||||
const int mx = *mx_ptr;
|
||||
const int my = *my_ptr;
|
||||
const int penalty_factor= c->sub_penalty_factor;
|
||||
|
||||
LOAD_COMMON
|
||||
|
||||
// INIT;
|
||||
//FIXME factorize
|
||||
me_cmp_func cmp, chroma_cmp, cmp_sub, chroma_cmp_sub;
|
||||
|
||||
if(s->no_rounding /*FIXME b_type*/){
|
||||
hpel_put= &s->dsp.put_no_rnd_pixels_tab[size];
|
||||
chroma_hpel_put= &s->dsp.put_no_rnd_pixels_tab[size+1];
|
||||
}else{
|
||||
hpel_put=& s->dsp.put_pixels_tab[size];
|
||||
chroma_hpel_put= &s->dsp.put_pixels_tab[size+1];
|
||||
}
|
||||
cmpf= s->dsp.me_cmp[size];
|
||||
chroma_cmpf= s->dsp.me_cmp[size+1];
|
||||
cmp_sub= s->dsp.me_sub_cmp[size];
|
||||
chroma_cmp_sub= s->dsp.me_sub_cmp[size+1];
|
||||
|
||||
if(c->skip){ //FIXME somehow move up (benchmark)
|
||||
*mx_ptr = 0;
|
||||
*my_ptr = 0;
|
||||
return dmin;
|
||||
}
|
||||
|
||||
if(c->avctx->me_cmp != c->avctx->me_sub_cmp){
|
||||
CMP_HPEL(dmin, 0, 0, mx, my, size);
|
||||
if(mx || my)
|
||||
dmin += (mv_penalty[2*mx - pred_x] + mv_penalty[2*my - pred_y])*penalty_factor;
|
||||
}
|
||||
|
||||
if (mx > xmin && mx < xmax &&
|
||||
my > ymin && my < ymax) {
|
||||
int bx=2*mx, by=2*my;
|
||||
int d= dmin;
|
||||
|
||||
CHECK_HALF_MV(1, 1, mx-1, my-1)
|
||||
CHECK_HALF_MV(0, 1, mx , my-1)
|
||||
CHECK_HALF_MV(1, 1, mx , my-1)
|
||||
CHECK_HALF_MV(1, 0, mx-1, my )
|
||||
CHECK_HALF_MV(1, 0, mx , my )
|
||||
CHECK_HALF_MV(1, 1, mx-1, my )
|
||||
CHECK_HALF_MV(0, 1, mx , my )
|
||||
CHECK_HALF_MV(1, 1, mx , my )
|
||||
|
||||
assert(bx >= xmin*2 || bx <= xmax*2 || by >= ymin*2 || by <= ymax*2);
|
||||
|
||||
*mx_ptr = bx;
|
||||
*my_ptr = by;
|
||||
}else{
|
||||
*mx_ptr =2*mx;
|
||||
*my_ptr =2*my;
|
||||
}
|
||||
|
||||
return dmin;
|
||||
}
|
||||
|
||||
#else
|
||||
static int hpel_motion_search(MpegEncContext * s,
|
||||
int *mx_ptr, int *my_ptr, int dmin,
|
||||
int src_index, int ref_index,
|
||||
@ -220,7 +151,6 @@ static int hpel_motion_search(MpegEncContext * s,
|
||||
|
||||
return dmin;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int no_sub_motion_search(MpegEncContext * s,
|
||||
int *mx_ptr, int *my_ptr, int dmin,
|
||||
@ -323,7 +253,6 @@ static int qpel_motion_search(MpegEncContext * s,
|
||||
int best_pos[8][2];
|
||||
|
||||
memset(best, 64, sizeof(int)*8);
|
||||
#if 1
|
||||
if(s->me.dia_size>=2){
|
||||
const int tl= score_map[(index-(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
|
||||
const int bl= score_map[(index+(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
|
||||
@ -412,76 +341,6 @@ static int qpel_motion_search(MpegEncContext * s,
|
||||
CHECK_QUARTER_MV(nx&3, ny&3, nx>>2, ny>>2)
|
||||
}
|
||||
|
||||
#if 0
|
||||
const int tl= score_map[(index-(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
|
||||
const int bl= score_map[(index+(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
|
||||
const int tr= score_map[(index-(1<<ME_MAP_SHIFT)+1)&(ME_MAP_SIZE-1)];
|
||||
const int br= score_map[(index+(1<<ME_MAP_SHIFT)+1)&(ME_MAP_SIZE-1)];
|
||||
// if(l < r && l < t && l < b && l < tl && l < bl && l < tr && l < br && bl < tl){
|
||||
if(tl<br){
|
||||
|
||||
// nx= FFMAX(4*mx - bx, bx - 4*mx);
|
||||
// ny= FFMAX(4*my - by, by - 4*my);
|
||||
|
||||
static int stats[7][7], count;
|
||||
count++;
|
||||
stats[4*mx - bx + 3][4*my - by + 3]++;
|
||||
if(256*256*256*64 % count ==0){
|
||||
for(i=0; i<49; i++){
|
||||
if((i%7)==0) printf("\n");
|
||||
printf("%6d ", stats[0][i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
|
||||
CHECK_QUARTER_MV(2, 2, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(0, 2, mx , my-1)
|
||||
CHECK_QUARTER_MV(2, 2, mx , my-1)
|
||||
CHECK_QUARTER_MV(2, 0, mx , my )
|
||||
CHECK_QUARTER_MV(2, 2, mx , my )
|
||||
CHECK_QUARTER_MV(0, 2, mx , my )
|
||||
CHECK_QUARTER_MV(2, 2, mx-1, my )
|
||||
CHECK_QUARTER_MV(2, 0, mx-1, my )
|
||||
|
||||
nx= bx;
|
||||
ny= by;
|
||||
|
||||
for(i=0; i<8; i++){
|
||||
int ox[8]= {0, 1, 1, 1, 0,-1,-1,-1};
|
||||
int oy[8]= {1, 1, 0,-1,-1,-1, 0, 1};
|
||||
CHECK_QUARTER_MV((nx + ox[i])&3, (ny + oy[i])&3, (nx + ox[i])>>2, (ny + oy[i])>>2)
|
||||
}
|
||||
#endif
|
||||
#if 0
|
||||
//outer ring
|
||||
CHECK_QUARTER_MV(1, 3, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(1, 2, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(1, 1, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(2, 1, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(3, 1, mx-1, my-1)
|
||||
CHECK_QUARTER_MV(0, 1, mx , my-1)
|
||||
CHECK_QUARTER_MV(1, 1, mx , my-1)
|
||||
CHECK_QUARTER_MV(2, 1, mx , my-1)
|
||||
CHECK_QUARTER_MV(3, 1, mx , my-1)
|
||||
CHECK_QUARTER_MV(3, 2, mx , my-1)
|
||||
CHECK_QUARTER_MV(3, 3, mx , my-1)
|
||||
CHECK_QUARTER_MV(3, 0, mx , my )
|
||||
CHECK_QUARTER_MV(3, 1, mx , my )
|
||||
CHECK_QUARTER_MV(3, 2, mx , my )
|
||||
CHECK_QUARTER_MV(3, 3, mx , my )
|
||||
CHECK_QUARTER_MV(2, 3, mx , my )
|
||||
CHECK_QUARTER_MV(1, 3, mx , my )
|
||||
CHECK_QUARTER_MV(0, 3, mx , my )
|
||||
CHECK_QUARTER_MV(3, 3, mx-1, my )
|
||||
CHECK_QUARTER_MV(2, 3, mx-1, my )
|
||||
CHECK_QUARTER_MV(1, 3, mx-1, my )
|
||||
CHECK_QUARTER_MV(1, 2, mx-1, my )
|
||||
CHECK_QUARTER_MV(1, 1, mx-1, my )
|
||||
CHECK_QUARTER_MV(1, 0, mx-1, my )
|
||||
#endif
|
||||
assert(bx >= xmin*4 && bx <= xmax*4 && by >= ymin*4 && by <= ymax*4);
|
||||
|
||||
*mx_ptr = bx;
|
||||
|
@ -34,17 +34,6 @@
|
||||
#include "mathops.h"
|
||||
#include "simple_idct.h"
|
||||
|
||||
#if 0
|
||||
#define W1 2841 /* 2048*sqrt (2)*cos (1*pi/16) */
|
||||
#define W2 2676 /* 2048*sqrt (2)*cos (2*pi/16) */
|
||||
#define W3 2408 /* 2048*sqrt (2)*cos (3*pi/16) */
|
||||
#define W4 2048 /* 2048*sqrt (2)*cos (4*pi/16) */
|
||||
#define W5 1609 /* 2048*sqrt (2)*cos (5*pi/16) */
|
||||
#define W6 1108 /* 2048*sqrt (2)*cos (6*pi/16) */
|
||||
#define W7 565 /* 2048*sqrt (2)*cos (7*pi/16) */
|
||||
#define ROW_SHIFT 8
|
||||
#define COL_SHIFT 17
|
||||
#else
|
||||
#define W1 22725 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define W2 21407 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define W3 19266 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
@ -54,7 +43,6 @@
|
||||
#define W7 4520 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define ROW_SHIFT 11
|
||||
#define COL_SHIFT 20 // 6
|
||||
#endif
|
||||
|
||||
static inline void idctRowCondDC (DCTELEM * row)
|
||||
{
|
||||
|
@ -74,20 +74,11 @@ extern VLC ff_vc1_ac_coeff_table[8];
|
||||
//@}
|
||||
|
||||
|
||||
#if 0 //original bfraction from vc9data.h, not conforming to standard
|
||||
/* Denominator used for ff_vc1_bfraction_lut */
|
||||
#define B_FRACTION_DEN 840
|
||||
|
||||
/* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
|
||||
extern const int16_t ff_vc1_bfraction_lut[23];
|
||||
#else
|
||||
/* Denominator used for ff_vc1_bfraction_lut */
|
||||
#define B_FRACTION_DEN 256
|
||||
|
||||
/* pre-computed scales for all bfractions and base=256 */
|
||||
extern const int16_t ff_vc1_bfraction_lut[23];
|
||||
#endif
|
||||
|
||||
extern const uint8_t ff_vc1_bfraction_bits[23];
|
||||
extern const uint8_t ff_vc1_bfraction_codes[23];
|
||||
|
||||
|
@ -37,11 +37,7 @@
|
||||
#define C1 22725 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define C2 21407 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define C3 19266 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#if 0
|
||||
#define C4 16384 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#else
|
||||
#define C4 16383 //cos(i*M_PI/16)*sqrt(2)*(1<<14) - 0.5
|
||||
#endif
|
||||
#define C5 12873 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define C6 8867 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
#define C7 4520 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
@ -80,135 +76,6 @@ DECLARE_ALIGNED(8, static const int16_t, coeffs)[]= {
|
||||
C3, -C1, C3, -C1
|
||||
};
|
||||
|
||||
#if 0
|
||||
static void unused_var_killer(void)
|
||||
{
|
||||
int a= wm1010 + d40000;
|
||||
temp[0]=a;
|
||||
}
|
||||
|
||||
static void inline idctCol (int16_t * col, int16_t *input)
|
||||
{
|
||||
#undef C0
|
||||
#undef C1
|
||||
#undef C2
|
||||
#undef C3
|
||||
#undef C4
|
||||
#undef C5
|
||||
#undef C6
|
||||
#undef C7
|
||||
int a0, a1, a2, a3, b0, b1, b2, b3;
|
||||
const int C0 = 23170; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C1 = 22725; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C2 = 21407; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C3 = 19266; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C4 = 16383; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C5 = 12873; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C6 = 8867; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C7 = 4520; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
/*
|
||||
if( !(col[8*1] | col[8*2] |col[8*3] |col[8*4] |col[8*5] |col[8*6] | col[8*7])) {
|
||||
col[8*0] = col[8*1] = col[8*2] = col[8*3] = col[8*4] =
|
||||
col[8*5] = col[8*6] = col[8*7] = col[8*0]<<3;
|
||||
return;
|
||||
}*/
|
||||
|
||||
col[8*0] = input[8*0 + 0];
|
||||
col[8*1] = input[8*2 + 0];
|
||||
col[8*2] = input[8*0 + 1];
|
||||
col[8*3] = input[8*2 + 1];
|
||||
col[8*4] = input[8*4 + 0];
|
||||
col[8*5] = input[8*6 + 0];
|
||||
col[8*6] = input[8*4 + 1];
|
||||
col[8*7] = input[8*6 + 1];
|
||||
|
||||
a0 = C4*col[8*0] + C2*col[8*2] + C4*col[8*4] + C6*col[8*6] + (1<<(COL_SHIFT-1));
|
||||
a1 = C4*col[8*0] + C6*col[8*2] - C4*col[8*4] - C2*col[8*6] + (1<<(COL_SHIFT-1));
|
||||
a2 = C4*col[8*0] - C6*col[8*2] - C4*col[8*4] + C2*col[8*6] + (1<<(COL_SHIFT-1));
|
||||
a3 = C4*col[8*0] - C2*col[8*2] + C4*col[8*4] - C6*col[8*6] + (1<<(COL_SHIFT-1));
|
||||
|
||||
b0 = C1*col[8*1] + C3*col[8*3] + C5*col[8*5] + C7*col[8*7];
|
||||
b1 = C3*col[8*1] - C7*col[8*3] - C1*col[8*5] - C5*col[8*7];
|
||||
b2 = C5*col[8*1] - C1*col[8*3] + C7*col[8*5] + C3*col[8*7];
|
||||
b3 = C7*col[8*1] - C5*col[8*3] + C3*col[8*5] - C1*col[8*7];
|
||||
|
||||
col[8*0] = (a0 + b0) >> COL_SHIFT;
|
||||
col[8*1] = (a1 + b1) >> COL_SHIFT;
|
||||
col[8*2] = (a2 + b2) >> COL_SHIFT;
|
||||
col[8*3] = (a3 + b3) >> COL_SHIFT;
|
||||
col[8*4] = (a3 - b3) >> COL_SHIFT;
|
||||
col[8*5] = (a2 - b2) >> COL_SHIFT;
|
||||
col[8*6] = (a1 - b1) >> COL_SHIFT;
|
||||
col[8*7] = (a0 - b0) >> COL_SHIFT;
|
||||
}
|
||||
|
||||
static void inline idctRow (int16_t * output, int16_t * input)
|
||||
{
|
||||
int16_t row[8];
|
||||
|
||||
int a0, a1, a2, a3, b0, b1, b2, b3;
|
||||
const int C0 = 23170; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C1 = 22725; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C2 = 21407; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C3 = 19266; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C4 = 16383; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C5 = 12873; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C6 = 8867; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
const int C7 = 4520; //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||
|
||||
row[0] = input[0];
|
||||
row[2] = input[1];
|
||||
row[4] = input[4];
|
||||
row[6] = input[5];
|
||||
row[1] = input[8];
|
||||
row[3] = input[9];
|
||||
row[5] = input[12];
|
||||
row[7] = input[13];
|
||||
|
||||
if( !(row[1] | row[2] |row[3] |row[4] |row[5] |row[6] | row[7]) ) {
|
||||
row[0] = row[1] = row[2] = row[3] = row[4] =
|
||||
row[5] = row[6] = row[7] = row[0]<<3;
|
||||
output[0] = row[0];
|
||||
output[2] = row[1];
|
||||
output[4] = row[2];
|
||||
output[6] = row[3];
|
||||
output[8] = row[4];
|
||||
output[10] = row[5];
|
||||
output[12] = row[6];
|
||||
output[14] = row[7];
|
||||
return;
|
||||
}
|
||||
|
||||
a0 = C4*row[0] + C2*row[2] + C4*row[4] + C6*row[6] + (1<<(ROW_SHIFT-1));
|
||||
a1 = C4*row[0] + C6*row[2] - C4*row[4] - C2*row[6] + (1<<(ROW_SHIFT-1));
|
||||
a2 = C4*row[0] - C6*row[2] - C4*row[4] + C2*row[6] + (1<<(ROW_SHIFT-1));
|
||||
a3 = C4*row[0] - C2*row[2] + C4*row[4] - C6*row[6] + (1<<(ROW_SHIFT-1));
|
||||
|
||||
b0 = C1*row[1] + C3*row[3] + C5*row[5] + C7*row[7];
|
||||
b1 = C3*row[1] - C7*row[3] - C1*row[5] - C5*row[7];
|
||||
b2 = C5*row[1] - C1*row[3] + C7*row[5] + C3*row[7];
|
||||
b3 = C7*row[1] - C5*row[3] + C3*row[5] - C1*row[7];
|
||||
|
||||
row[0] = (a0 + b0) >> ROW_SHIFT;
|
||||
row[1] = (a1 + b1) >> ROW_SHIFT;
|
||||
row[2] = (a2 + b2) >> ROW_SHIFT;
|
||||
row[3] = (a3 + b3) >> ROW_SHIFT;
|
||||
row[4] = (a3 - b3) >> ROW_SHIFT;
|
||||
row[5] = (a2 - b2) >> ROW_SHIFT;
|
||||
row[6] = (a1 - b1) >> ROW_SHIFT;
|
||||
row[7] = (a0 - b0) >> ROW_SHIFT;
|
||||
|
||||
output[0] = row[0];
|
||||
output[2] = row[1];
|
||||
output[4] = row[2];
|
||||
output[6] = row[3];
|
||||
output[8] = row[4];
|
||||
output[10] = row[5];
|
||||
output[12] = row[6];
|
||||
output[14] = row[7];
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void idct(int16_t *block)
|
||||
{
|
||||
DECLARE_ALIGNED(8, int64_t, align_tmp)[16];
|
||||
|
@ -345,11 +345,11 @@ static int fourxm_read_close(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVInputFormat ff_fourxm_demuxer = {
|
||||
"4xm",
|
||||
NULL_IF_CONFIG_SMALL("4X Technologies format"),
|
||||
sizeof(FourxmDemuxContext),
|
||||
fourxm_probe,
|
||||
fourxm_read_header,
|
||||
fourxm_read_packet,
|
||||
fourxm_read_close,
|
||||
.name = "4xm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("4X Technologies format"),
|
||||
.priv_data_size = sizeof(FourxmDemuxContext),
|
||||
.read_probe = fourxm_probe,
|
||||
.read_header = fourxm_read_header,
|
||||
.read_packet = fourxm_read_packet,
|
||||
.read_close = fourxm_read_close,
|
||||
};
|
||||
|
@ -170,7 +170,7 @@ AVOutputFormat ff_a64_muxer = {
|
||||
.extensions = "a64, A64",
|
||||
.priv_data_size = sizeof (A64Context),
|
||||
.video_codec = CODEC_ID_A64_MULTI,
|
||||
a64_write_header,
|
||||
a64_write_packet,
|
||||
a64_write_trailer
|
||||
.write_header = a64_write_header,
|
||||
.write_packet = a64_write_packet,
|
||||
.write_trailer = a64_write_trailer
|
||||
};
|
||||
|
@ -82,12 +82,11 @@ static int adts_aac_read_header(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_aac_demuxer = {
|
||||
"aac",
|
||||
NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
|
||||
0,
|
||||
adts_aac_probe,
|
||||
adts_aac_read_header,
|
||||
ff_raw_read_partial_packet,
|
||||
.name = "aac",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
|
||||
.read_probe = adts_aac_probe,
|
||||
.read_header = adts_aac_read_header,
|
||||
.read_packet = ff_raw_read_partial_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "aac",
|
||||
.value = CODEC_ID_AAC,
|
||||
|
@ -71,12 +71,11 @@ static int ac3_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_ac3_demuxer = {
|
||||
"ac3",
|
||||
NULL_IF_CONFIG_SMALL("raw AC-3"),
|
||||
0,
|
||||
ac3_probe,
|
||||
ff_raw_audio_read_header,
|
||||
ff_raw_read_partial_packet,
|
||||
.name = "ac3",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw AC-3"),
|
||||
.read_probe = ac3_probe,
|
||||
.read_header = ff_raw_audio_read_header,
|
||||
.read_packet = ff_raw_read_partial_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "ac3",
|
||||
.value = CODEC_ID_AC3,
|
||||
@ -90,12 +89,11 @@ static int eac3_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_eac3_demuxer = {
|
||||
"eac3",
|
||||
NULL_IF_CONFIG_SMALL("raw E-AC-3"),
|
||||
0,
|
||||
eac3_probe,
|
||||
ff_raw_audio_read_header,
|
||||
ff_raw_read_partial_packet,
|
||||
.name = "eac3",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
|
||||
.read_probe = eac3_probe,
|
||||
.read_header = ff_raw_audio_read_header,
|
||||
.read_packet = ff_raw_read_partial_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "eac3",
|
||||
.value = CODEC_ID_EAC3,
|
||||
|
@ -142,13 +142,13 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_adts_muxer = {
|
||||
"adts",
|
||||
NULL_IF_CONFIG_SMALL("ADTS AAC"),
|
||||
"audio/aac",
|
||||
"aac,adts",
|
||||
sizeof(ADTSContext),
|
||||
CODEC_ID_AAC,
|
||||
CODEC_ID_NONE,
|
||||
adts_write_header,
|
||||
adts_write_packet,
|
||||
.name = "adts",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ADTS AAC"),
|
||||
.mime_type = "audio/aac",
|
||||
.extensions = "aac,adts",
|
||||
.priv_data_size = sizeof(ADTSContext),
|
||||
.audio_codec = CODEC_ID_AAC,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = adts_write_header,
|
||||
.write_packet = adts_write_packet,
|
||||
};
|
||||
|
@ -95,14 +95,12 @@ static int aea_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_aea_demuxer = {
|
||||
"aea",
|
||||
NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
|
||||
0,
|
||||
aea_read_probe,
|
||||
aea_read_header,
|
||||
aea_read_packet,
|
||||
0,
|
||||
pcm_read_seek,
|
||||
.name = "aea",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
|
||||
.read_probe = aea_read_probe,
|
||||
.read_header = aea_read_header,
|
||||
.read_packet = aea_read_packet,
|
||||
.read_seek = pcm_read_seek,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "aea",
|
||||
};
|
||||
|
@ -320,13 +320,12 @@ static int aiff_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_aiff_demuxer = {
|
||||
"aiff",
|
||||
NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||
sizeof(AIFFInputContext),
|
||||
aiff_probe,
|
||||
aiff_read_header,
|
||||
aiff_read_packet,
|
||||
NULL,
|
||||
pcm_read_seek,
|
||||
.name = "aiff",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||
.priv_data_size = sizeof(AIFFInputContext),
|
||||
.read_probe = aiff_probe,
|
||||
.read_header = aiff_read_header,
|
||||
.read_packet = aiff_read_packet,
|
||||
.read_seek = pcm_read_seek,
|
||||
.codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
|
||||
};
|
||||
|
@ -155,15 +155,15 @@ static int aiff_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_aiff_muxer = {
|
||||
"aiff",
|
||||
NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||
"audio/aiff",
|
||||
"aif,aiff,afc,aifc",
|
||||
sizeof(AIFFOutputContext),
|
||||
CODEC_ID_PCM_S16BE,
|
||||
CODEC_ID_NONE,
|
||||
aiff_write_header,
|
||||
aiff_write_packet,
|
||||
aiff_write_trailer,
|
||||
.name = "aiff",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||
.mime_type = "audio/aiff",
|
||||
.extensions = "aif,aiff,afc,aifc",
|
||||
.priv_data_size = sizeof(AIFFOutputContext),
|
||||
.audio_codec = CODEC_ID_PCM_S16BE,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = aiff_write_header,
|
||||
.write_packet = aiff_write_packet,
|
||||
.write_trailer = aiff_write_trailer,
|
||||
.codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
|
||||
};
|
||||
|
@ -174,27 +174,25 @@ static int amr_read_packet(AVFormatContext *s,
|
||||
|
||||
#if CONFIG_AMR_DEMUXER
|
||||
AVInputFormat ff_amr_demuxer = {
|
||||
"amr",
|
||||
NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||
0, /*priv_data_size*/
|
||||
amr_probe,
|
||||
amr_read_header,
|
||||
amr_read_packet,
|
||||
NULL,
|
||||
.name = "amr",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||
.priv_data_size = 0, /*priv_data_size*/
|
||||
.read_probe = amr_probe,
|
||||
.read_header = amr_read_header,
|
||||
.read_packet = amr_read_packet,
|
||||
.flags = AVFMT_GENERIC_INDEX,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_AMR_MUXER
|
||||
AVOutputFormat ff_amr_muxer = {
|
||||
"amr",
|
||||
NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||
"audio/amr",
|
||||
"amr",
|
||||
0,
|
||||
CODEC_ID_AMR_NB,
|
||||
CODEC_ID_NONE,
|
||||
amr_write_header,
|
||||
amr_write_packet,
|
||||
.name = "amr",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||
.mime_type = "audio/amr",
|
||||
.extensions = "amr",
|
||||
.audio_codec = CODEC_ID_AMR_NB,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = amr_write_header,
|
||||
.write_packet = amr_write_packet,
|
||||
};
|
||||
#endif
|
||||
|
@ -226,10 +226,10 @@ repeat:
|
||||
}
|
||||
|
||||
AVInputFormat ff_anm_demuxer = {
|
||||
"anm",
|
||||
NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
|
||||
sizeof(AnmDemuxContext),
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "anm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
|
||||
.priv_data_size = sizeof(AnmDemuxContext),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
};
|
||||
|
@ -81,10 +81,9 @@ static int apc_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_apc_demuxer = {
|
||||
"apc",
|
||||
NULL_IF_CONFIG_SMALL("CRYO APC format"),
|
||||
0,
|
||||
apc_probe,
|
||||
apc_read_header,
|
||||
apc_read_packet,
|
||||
.name = "apc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("CRYO APC format"),
|
||||
.read_probe = apc_probe,
|
||||
.read_header = apc_read_header,
|
||||
.read_packet = apc_read_packet,
|
||||
};
|
||||
|
@ -405,13 +405,13 @@ static int ape_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
|
||||
}
|
||||
|
||||
AVInputFormat ff_ape_demuxer = {
|
||||
"ape",
|
||||
NULL_IF_CONFIG_SMALL("Monkey's Audio"),
|
||||
sizeof(APEContext),
|
||||
ape_probe,
|
||||
ape_read_header,
|
||||
ape_read_packet,
|
||||
ape_read_close,
|
||||
ape_read_seek,
|
||||
.name = "ape",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
|
||||
.priv_data_size = sizeof(APEContext),
|
||||
.read_probe = ape_probe,
|
||||
.read_header = ape_read_header,
|
||||
.read_packet = ape_read_packet,
|
||||
.read_close = ape_read_close,
|
||||
.read_seek = ape_read_seek,
|
||||
.extensions = "ape,apl,mac"
|
||||
};
|
||||
|
@ -668,12 +668,12 @@ static int applehttp_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_applehttp_demuxer = {
|
||||
"applehttp",
|
||||
NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
|
||||
sizeof(AppleHTTPContext),
|
||||
applehttp_probe,
|
||||
applehttp_read_header,
|
||||
applehttp_read_packet,
|
||||
applehttp_close,
|
||||
applehttp_read_seek,
|
||||
.name = "applehttp",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
|
||||
.priv_data_size = sizeof(AppleHTTPContext),
|
||||
.read_probe = applehttp_probe,
|
||||
.read_header = applehttp_read_header,
|
||||
.read_packet = applehttp_read_packet,
|
||||
.read_close = applehttp_close,
|
||||
.read_seek = applehttp_read_seek,
|
||||
};
|
||||
|
@ -1282,14 +1282,14 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
|
||||
}
|
||||
|
||||
AVInputFormat ff_asf_demuxer = {
|
||||
"asf",
|
||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
sizeof(ASFContext),
|
||||
asf_probe,
|
||||
asf_read_header,
|
||||
asf_read_packet,
|
||||
asf_read_close,
|
||||
asf_read_seek,
|
||||
asf_read_pts,
|
||||
.name = "asf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
.priv_data_size = sizeof(ASFContext),
|
||||
.read_probe = asf_probe,
|
||||
.read_header = asf_read_header,
|
||||
.read_packet = asf_read_packet,
|
||||
.read_close = asf_read_close,
|
||||
.read_seek = asf_read_seek,
|
||||
.read_timestamp = asf_read_pts,
|
||||
.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
|
||||
};
|
||||
|
@ -882,20 +882,20 @@ static int asf_write_trailer(AVFormatContext *s)
|
||||
|
||||
#if CONFIG_ASF_MUXER
|
||||
AVOutputFormat ff_asf_muxer = {
|
||||
"asf",
|
||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
"video/x-ms-asf",
|
||||
"asf,wmv,wma",
|
||||
sizeof(ASFContext),
|
||||
.name = "asf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
.mime_type = "video/x-ms-asf",
|
||||
.extensions = "asf,wmv,wma",
|
||||
.priv_data_size = sizeof(ASFContext),
|
||||
#if CONFIG_LIBMP3LAME
|
||||
CODEC_ID_MP3,
|
||||
.audio_codec = CODEC_ID_MP3,
|
||||
#else
|
||||
CODEC_ID_MP2,
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
#endif
|
||||
CODEC_ID_MSMPEG4V3,
|
||||
asf_write_header,
|
||||
asf_write_packet,
|
||||
asf_write_trailer,
|
||||
.video_codec = CODEC_ID_MSMPEG4V3,
|
||||
.write_header = asf_write_header,
|
||||
.write_packet = asf_write_packet,
|
||||
.write_trailer = asf_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||
};
|
||||
@ -903,20 +903,20 @@ AVOutputFormat ff_asf_muxer = {
|
||||
|
||||
#if CONFIG_ASF_STREAM_MUXER
|
||||
AVOutputFormat ff_asf_stream_muxer = {
|
||||
"asf_stream",
|
||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
"video/x-ms-asf",
|
||||
"asf,wmv,wma",
|
||||
sizeof(ASFContext),
|
||||
.name = "asf_stream",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||
.mime_type = "video/x-ms-asf",
|
||||
.extensions = "asf,wmv,wma",
|
||||
.priv_data_size = sizeof(ASFContext),
|
||||
#if CONFIG_LIBMP3LAME
|
||||
CODEC_ID_MP3,
|
||||
.audio_codec = CODEC_ID_MP3,
|
||||
#else
|
||||
CODEC_ID_MP2,
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
#endif
|
||||
CODEC_ID_MSMPEG4V3,
|
||||
asf_write_stream_header,
|
||||
asf_write_packet,
|
||||
asf_write_trailer,
|
||||
.video_codec = CODEC_ID_MSMPEG4V3,
|
||||
.write_header = asf_write_stream_header,
|
||||
.write_packet = asf_write_packet,
|
||||
.write_trailer = asf_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||
};
|
||||
|
@ -185,30 +185,27 @@ static int au_read_packet(AVFormatContext *s,
|
||||
|
||||
#if CONFIG_AU_DEMUXER
|
||||
AVInputFormat ff_au_demuxer = {
|
||||
"au",
|
||||
NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||
0,
|
||||
au_probe,
|
||||
au_read_header,
|
||||
au_read_packet,
|
||||
NULL,
|
||||
pcm_read_seek,
|
||||
.name = "au",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||
.read_probe = au_probe,
|
||||
.read_header = au_read_header,
|
||||
.read_packet = au_read_packet,
|
||||
.read_seek = pcm_read_seek,
|
||||
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_AU_MUXER
|
||||
AVOutputFormat ff_au_muxer = {
|
||||
"au",
|
||||
NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||
"audio/basic",
|
||||
"au",
|
||||
0,
|
||||
CODEC_ID_PCM_S16BE,
|
||||
CODEC_ID_NONE,
|
||||
au_write_header,
|
||||
au_write_packet,
|
||||
au_write_trailer,
|
||||
.name = "au",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||
.mime_type = "audio/basic",
|
||||
.extensions = "au",
|
||||
.audio_codec = CODEC_ID_PCM_S16BE,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = au_write_header,
|
||||
.write_packet = au_write_packet,
|
||||
.write_trailer = au_write_trailer,
|
||||
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
||||
};
|
||||
#endif //CONFIG_AU_MUXER
|
||||
|
@ -1446,13 +1446,13 @@ static int avi_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_avi_demuxer = {
|
||||
"avi",
|
||||
NULL_IF_CONFIG_SMALL("AVI format"),
|
||||
sizeof(AVIContext),
|
||||
avi_probe,
|
||||
avi_read_header,
|
||||
avi_read_packet,
|
||||
avi_read_close,
|
||||
avi_read_seek,
|
||||
.name = "avi",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("AVI format"),
|
||||
.priv_data_size = sizeof(AVIContext),
|
||||
.read_probe = avi_probe,
|
||||
.read_header = avi_read_header,
|
||||
.read_packet = avi_read_packet,
|
||||
.read_close = avi_read_close,
|
||||
.read_seek = avi_read_seek,
|
||||
.priv_class = &demuxer_class,
|
||||
};
|
||||
|
@ -639,16 +639,16 @@ static int avi_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_avi_muxer = {
|
||||
"avi",
|
||||
NULL_IF_CONFIG_SMALL("AVI format"),
|
||||
"video/x-msvideo",
|
||||
"avi",
|
||||
sizeof(AVIContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG4,
|
||||
avi_write_header,
|
||||
avi_write_packet,
|
||||
avi_write_trailer,
|
||||
.name = "avi",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("AVI format"),
|
||||
.mime_type = "video/x-msvideo",
|
||||
.extensions = "avi",
|
||||
.priv_data_size = sizeof(AVIContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = avi_write_header,
|
||||
.write_packet = avi_write_packet,
|
||||
.write_trailer = avi_write_trailer,
|
||||
.codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||
.flags= AVFMT_VARIABLE_FPS,
|
||||
};
|
||||
|
@ -208,15 +208,12 @@ static int avisynth_read_seek(AVFormatContext *s, int stream_index, int64_t pts,
|
||||
}
|
||||
|
||||
AVInputFormat ff_avisynth_demuxer = {
|
||||
"avs",
|
||||
NULL_IF_CONFIG_SMALL("AVISynth"),
|
||||
sizeof(AVISynthContext),
|
||||
NULL,
|
||||
avisynth_read_header,
|
||||
avisynth_read_packet,
|
||||
avisynth_read_close,
|
||||
avisynth_read_seek,
|
||||
NULL,
|
||||
0,
|
||||
"avs",
|
||||
.name = "avs",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("AVISynth"),
|
||||
.priv_data_size = sizeof(AVISynthContext),
|
||||
.read_header = avisynth_read_header,
|
||||
.read_packet = avisynth_read_packet,
|
||||
.read_close = avisynth_read_close,
|
||||
.read_seek = avisynth_read_seek,
|
||||
.extensions = "avs",
|
||||
};
|
||||
|
@ -216,11 +216,11 @@ static int avs_read_close(AVFormatContext * s)
|
||||
}
|
||||
|
||||
AVInputFormat ff_avs_demuxer = {
|
||||
"avs",
|
||||
NULL_IF_CONFIG_SMALL("AVS format"),
|
||||
sizeof(AvsFormat),
|
||||
avs_probe,
|
||||
avs_read_header,
|
||||
avs_read_packet,
|
||||
avs_read_close,
|
||||
.name = "avs",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("AVS format"),
|
||||
.priv_data_size = sizeof(AvsFormat),
|
||||
.read_probe = avs_probe,
|
||||
.read_header = avs_read_header,
|
||||
.read_packet = avs_read_packet,
|
||||
.read_close = avs_read_close,
|
||||
};
|
||||
|
@ -223,10 +223,10 @@ static int vid_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_bethsoftvid_demuxer = {
|
||||
"bethsoftvid",
|
||||
NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
|
||||
sizeof(BVID_DemuxContext),
|
||||
vid_probe,
|
||||
vid_read_header,
|
||||
vid_read_packet,
|
||||
.name = "bethsoftvid",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
|
||||
.priv_data_size = sizeof(BVID_DemuxContext),
|
||||
.read_probe = vid_probe,
|
||||
.read_header = vid_read_header,
|
||||
.read_packet = vid_read_packet,
|
||||
};
|
||||
|
@ -159,10 +159,10 @@ static int bfi_read_packet(AVFormatContext * s, AVPacket * pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_bfi_demuxer = {
|
||||
"bfi",
|
||||
NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
|
||||
sizeof(BFIContext),
|
||||
bfi_probe,
|
||||
bfi_read_header,
|
||||
bfi_read_packet,
|
||||
.name = "bfi",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
|
||||
.priv_data_size = sizeof(BFIContext),
|
||||
.read_probe = bfi_probe,
|
||||
.read_header = bfi_read_header,
|
||||
.read_packet = bfi_read_packet,
|
||||
};
|
||||
|
@ -264,12 +264,11 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
|
||||
}
|
||||
|
||||
AVInputFormat ff_bink_demuxer = {
|
||||
"bink",
|
||||
NULL_IF_CONFIG_SMALL("Bink"),
|
||||
sizeof(BinkDemuxContext),
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
NULL,
|
||||
read_seek,
|
||||
.name = "bink",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Bink"),
|
||||
.priv_data_size = sizeof(BinkDemuxContext),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.read_seek = read_seek,
|
||||
};
|
||||
|
@ -193,10 +193,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_c93_demuxer = {
|
||||
"c93",
|
||||
NULL_IF_CONFIG_SMALL("Interplay C93"),
|
||||
sizeof(C93DemuxContext),
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "c93",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
|
||||
.priv_data_size = sizeof(C93DemuxContext),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
};
|
||||
|
@ -390,13 +390,12 @@ static int read_seek(AVFormatContext *s, int stream_index,
|
||||
}
|
||||
|
||||
AVInputFormat ff_caf_demuxer = {
|
||||
"caf",
|
||||
NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
|
||||
sizeof(CaffContext),
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
NULL,
|
||||
read_seek,
|
||||
.name = "caf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
|
||||
.priv_data_size = sizeof(CaffContext),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.read_seek = read_seek,
|
||||
.codec_tag = (const AVCodecTag*[]){ff_codec_caf_tags, 0},
|
||||
};
|
||||
|
@ -56,11 +56,9 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_cdg_demuxer = {
|
||||
"cdg",
|
||||
NULL_IF_CONFIG_SMALL("CD Graphics Format"),
|
||||
0,
|
||||
NULL,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "cdg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("CD Graphics Format"),
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.extensions = "cdg"
|
||||
};
|
||||
|
@ -55,14 +55,13 @@ static int crc_write_trailer(struct AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_crc_muxer = {
|
||||
"crc",
|
||||
NULL_IF_CONFIG_SMALL("CRC testing format"),
|
||||
NULL,
|
||||
"",
|
||||
sizeof(CRCState),
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
crc_write_header,
|
||||
crc_write_packet,
|
||||
crc_write_trailer,
|
||||
.name = "crc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("CRC testing format"),
|
||||
.extensions = "",
|
||||
.priv_data_size = sizeof(CRCState),
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_header = crc_write_header,
|
||||
.write_packet = crc_write_packet,
|
||||
.write_trailer = crc_write_trailer,
|
||||
};
|
||||
|
@ -71,14 +71,10 @@ static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||
|
||||
#if CONFIG_DAUD_DEMUXER
|
||||
AVInputFormat ff_daud_demuxer = {
|
||||
"daud",
|
||||
NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
||||
0,
|
||||
NULL,
|
||||
daud_header,
|
||||
daud_packet,
|
||||
NULL,
|
||||
NULL,
|
||||
.name = "daud",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
||||
.read_header = daud_header,
|
||||
.read_packet = daud_packet,
|
||||
.extensions = "302",
|
||||
};
|
||||
#endif
|
||||
|
@ -109,11 +109,10 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_dfa_demuxer = {
|
||||
"dfa",
|
||||
NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
|
||||
0,
|
||||
dfa_probe,
|
||||
dfa_read_header,
|
||||
dfa_read_packet,
|
||||
.name = "dfa",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
|
||||
.read_probe = dfa_probe,
|
||||
.read_header = dfa_read_header,
|
||||
.read_packet = dfa_read_packet,
|
||||
.flags = AVFMT_GENERIC_INDEX,
|
||||
};
|
||||
|
@ -217,10 +217,10 @@ static int cin_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_dsicin_demuxer = {
|
||||
"dsicin",
|
||||
NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
|
||||
sizeof(CinDemuxContext),
|
||||
cin_probe,
|
||||
cin_read_header,
|
||||
cin_read_packet,
|
||||
.name = "dsicin",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
|
||||
.priv_data_size = sizeof(CinDemuxContext),
|
||||
.read_probe = cin_probe,
|
||||
.read_header = cin_read_header,
|
||||
.read_packet = cin_read_packet,
|
||||
};
|
||||
|
@ -66,12 +66,11 @@ static int dts_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_dts_demuxer = {
|
||||
"dts",
|
||||
NULL_IF_CONFIG_SMALL("raw DTS"),
|
||||
0,
|
||||
dts_probe,
|
||||
ff_raw_audio_read_header,
|
||||
ff_raw_read_partial_packet,
|
||||
.name = "dts",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw DTS"),
|
||||
.read_probe = dts_probe,
|
||||
.read_header = ff_raw_audio_read_header,
|
||||
.read_packet = ff_raw_read_partial_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "dts",
|
||||
.value = CODEC_ID_DTS,
|
||||
|
@ -523,14 +523,14 @@ static int dv_probe(AVProbeData *p)
|
||||
|
||||
#if CONFIG_DV_DEMUXER
|
||||
AVInputFormat ff_dv_demuxer = {
|
||||
"dv",
|
||||
NULL_IF_CONFIG_SMALL("DV video format"),
|
||||
sizeof(RawDVContext),
|
||||
dv_probe,
|
||||
dv_read_header,
|
||||
dv_read_packet,
|
||||
dv_read_close,
|
||||
dv_read_seek,
|
||||
.name = "dv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("DV video format"),
|
||||
.priv_data_size = sizeof(RawDVContext),
|
||||
.read_probe = dv_probe,
|
||||
.read_header = dv_read_header,
|
||||
.read_packet = dv_read_packet,
|
||||
.read_close = dv_read_close,
|
||||
.read_seek = dv_read_seek,
|
||||
.extensions = "dv,dif",
|
||||
};
|
||||
#endif
|
||||
|
@ -408,14 +408,13 @@ static int dv_write_trailer(struct AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_dv_muxer = {
|
||||
"dv",
|
||||
NULL_IF_CONFIG_SMALL("DV video format"),
|
||||
NULL,
|
||||
"dv",
|
||||
sizeof(DVMuxContext),
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_DVVIDEO,
|
||||
dv_write_header,
|
||||
dv_write_packet,
|
||||
dv_write_trailer,
|
||||
.name = "dv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("DV video format"),
|
||||
.extensions = "dv",
|
||||
.priv_data_size = sizeof(DVMuxContext),
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_DVVIDEO,
|
||||
.write_header = dv_write_header,
|
||||
.write_packet = dv_write_packet,
|
||||
.write_trailer = dv_write_trailer,
|
||||
};
|
||||
|
@ -213,10 +213,10 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_dxa_demuxer = {
|
||||
"dxa",
|
||||
NULL_IF_CONFIG_SMALL("DXA"),
|
||||
sizeof(DXAContext),
|
||||
dxa_probe,
|
||||
dxa_read_header,
|
||||
dxa_read_packet,
|
||||
.name = "dxa",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("DXA"),
|
||||
.priv_data_size = sizeof(DXAContext),
|
||||
.read_probe = dxa_probe,
|
||||
.read_header = dxa_read_header,
|
||||
.read_packet = dxa_read_packet,
|
||||
};
|
||||
|
@ -95,11 +95,11 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_ea_cdata_demuxer = {
|
||||
"ea_cdata",
|
||||
NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
|
||||
sizeof(CdataDemuxContext),
|
||||
cdata_probe,
|
||||
cdata_read_header,
|
||||
cdata_read_packet,
|
||||
.name = "ea_cdata",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
|
||||
.priv_data_size = sizeof(CdataDemuxContext),
|
||||
.read_probe = cdata_probe,
|
||||
.read_header = cdata_read_header,
|
||||
.read_packet = cdata_read_packet,
|
||||
.extensions = "cdata",
|
||||
};
|
||||
|
@ -571,10 +571,10 @@ get_video_packet:
|
||||
}
|
||||
|
||||
AVInputFormat ff_ea_demuxer = {
|
||||
"ea",
|
||||
NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
|
||||
sizeof(EaDemuxContext),
|
||||
ea_probe,
|
||||
ea_read_header,
|
||||
ea_read_packet,
|
||||
.name = "ea",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
|
||||
.priv_data_size = sizeof(EaDemuxContext),
|
||||
.read_probe = ea_probe,
|
||||
.read_header = ea_read_header,
|
||||
.read_packet = ea_read_packet,
|
||||
};
|
||||
|
@ -508,12 +508,12 @@ static int ffm_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_ffm_demuxer = {
|
||||
"ffm",
|
||||
NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||
sizeof(FFMContext),
|
||||
ffm_probe,
|
||||
ffm_read_header,
|
||||
ffm_read_packet,
|
||||
ffm_close,
|
||||
ffm_seek,
|
||||
.name = "ffm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||
.priv_data_size = sizeof(FFMContext),
|
||||
.read_probe = ffm_probe,
|
||||
.read_header = ffm_read_header,
|
||||
.read_packet = ffm_read_packet,
|
||||
.read_close = ffm_close,
|
||||
.read_seek = ffm_seek,
|
||||
};
|
||||
|
@ -241,15 +241,14 @@ static int ffm_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_ffm_muxer = {
|
||||
"ffm",
|
||||
NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||
"",
|
||||
"ffm",
|
||||
sizeof(FFMContext),
|
||||
/* not really used */
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG1VIDEO,
|
||||
ffm_write_header,
|
||||
ffm_write_packet,
|
||||
ffm_write_trailer,
|
||||
.name = "ffm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||
.mime_type = "",
|
||||
.extensions = "ffm",
|
||||
.priv_data_size = sizeof(FFMContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||
.write_header = ffm_write_header,
|
||||
.write_packet = ffm_write_packet,
|
||||
.write_trailer = ffm_write_trailer,
|
||||
};
|
||||
|
@ -99,13 +99,11 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, in
|
||||
}
|
||||
|
||||
AVInputFormat ff_filmstrip_demuxer = {
|
||||
"filmstrip",
|
||||
NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||
sizeof(FilmstripDemuxContext),
|
||||
NULL,
|
||||
read_header,
|
||||
read_packet,
|
||||
NULL,
|
||||
read_seek,
|
||||
.name = "filmstrip",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||
.priv_data_size = sizeof(FilmstripDemuxContext),
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.read_seek = read_seek,
|
||||
.extensions = "flm",
|
||||
};
|
||||
|
@ -72,14 +72,13 @@ static int write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_filmstrip_muxer = {
|
||||
"filmstrip",
|
||||
NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||
NULL,
|
||||
"flm",
|
||||
sizeof(FilmstripMuxContext),
|
||||
CODEC_ID_NONE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
write_header,
|
||||
write_packet,
|
||||
write_trailer,
|
||||
.name = "filmstrip",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||
.extensions = "flm",
|
||||
.priv_data_size = sizeof(FilmstripMuxContext),
|
||||
.audio_codec = CODEC_ID_NONE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_header = write_header,
|
||||
.write_packet = write_packet,
|
||||
.write_trailer = write_trailer,
|
||||
};
|
||||
|
@ -124,12 +124,11 @@ static int flac_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_flac_demuxer = {
|
||||
"flac",
|
||||
NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||
0,
|
||||
flac_probe,
|
||||
flac_read_header,
|
||||
ff_raw_read_partial_packet,
|
||||
.name = "flac",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||
.read_probe = flac_probe,
|
||||
.read_header = flac_read_header,
|
||||
.read_packet = ff_raw_read_partial_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "flac",
|
||||
.value = CODEC_ID_FLAC,
|
||||
|
@ -118,15 +118,14 @@ static int flac_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_flac_muxer = {
|
||||
"flac",
|
||||
NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||
"audio/x-flac",
|
||||
"flac",
|
||||
0,
|
||||
CODEC_ID_FLAC,
|
||||
CODEC_ID_NONE,
|
||||
flac_write_header,
|
||||
flac_write_packet,
|
||||
flac_write_trailer,
|
||||
.name = "flac",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||
.mime_type = "audio/x-flac",
|
||||
.extensions = "flac",
|
||||
.audio_codec = CODEC_ID_FLAC,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = flac_write_header,
|
||||
.write_packet = flac_write_packet,
|
||||
.write_trailer = flac_write_trailer,
|
||||
.flags= AVFMT_NOTIMESTAMPS,
|
||||
};
|
||||
|
@ -261,10 +261,10 @@ static int flic_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_flic_demuxer = {
|
||||
"flic",
|
||||
NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
|
||||
sizeof(FlicDemuxContext),
|
||||
flic_probe,
|
||||
flic_read_header,
|
||||
flic_read_packet,
|
||||
.name = "flic",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
|
||||
.priv_data_size = sizeof(FlicDemuxContext),
|
||||
.read_probe = flic_probe,
|
||||
.read_header = flic_read_header,
|
||||
.read_packet = flic_read_packet,
|
||||
};
|
||||
|
@ -560,12 +560,12 @@ static int flv_read_seek2(AVFormatContext *s, int stream_index,
|
||||
#endif
|
||||
|
||||
AVInputFormat ff_flv_demuxer = {
|
||||
"flv",
|
||||
NULL_IF_CONFIG_SMALL("FLV format"),
|
||||
sizeof(FLVContext),
|
||||
flv_probe,
|
||||
flv_read_header,
|
||||
flv_read_packet,
|
||||
.name = "flv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FLV format"),
|
||||
.priv_data_size = sizeof(FLVContext),
|
||||
.read_probe = flv_probe,
|
||||
.read_header = flv_read_header,
|
||||
.read_packet = flv_read_packet,
|
||||
.read_seek = flv_read_seek,
|
||||
#if 0
|
||||
.read_seek2 = flv_read_seek2,
|
||||
|
@ -446,20 +446,20 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_flv_muxer = {
|
||||
"flv",
|
||||
NULL_IF_CONFIG_SMALL("FLV format"),
|
||||
"video/x-flv",
|
||||
"flv",
|
||||
sizeof(FLVContext),
|
||||
.name = "flv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FLV format"),
|
||||
.mime_type = "video/x-flv",
|
||||
.extensions = "flv",
|
||||
.priv_data_size = sizeof(FLVContext),
|
||||
#if CONFIG_LIBMP3LAME
|
||||
CODEC_ID_MP3,
|
||||
.audio_codec = CODEC_ID_MP3,
|
||||
#else // CONFIG_LIBMP3LAME
|
||||
CODEC_ID_ADPCM_SWF,
|
||||
.audio_codec = CODEC_ID_ADPCM_SWF,
|
||||
#endif // CONFIG_LIBMP3LAME
|
||||
CODEC_ID_FLV1,
|
||||
flv_write_header,
|
||||
flv_write_packet,
|
||||
flv_write_trailer,
|
||||
.video_codec = CODEC_ID_FLV1,
|
||||
.write_header = flv_write_header,
|
||||
.write_packet = flv_write_packet,
|
||||
.write_trailer = flv_write_trailer,
|
||||
.codec_tag= (const AVCodecTag* const []){flv_video_codec_ids, flv_audio_codec_ids, 0},
|
||||
.flags= AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
||||
};
|
||||
|
@ -34,14 +34,10 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_framecrc_muxer = {
|
||||
"framecrc",
|
||||
NULL_IF_CONFIG_SMALL("framecrc testing format"),
|
||||
NULL,
|
||||
"",
|
||||
0,
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
NULL,
|
||||
framecrc_write_packet,
|
||||
NULL,
|
||||
.name = "framecrc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("framecrc testing format"),
|
||||
.extensions = "",
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_packet = framecrc_write_packet,
|
||||
};
|
||||
|
@ -363,15 +363,15 @@ static const AVClass gif_muxer_class = {
|
||||
};
|
||||
|
||||
AVOutputFormat ff_gif_muxer = {
|
||||
"gif",
|
||||
NULL_IF_CONFIG_SMALL("GIF Animation"),
|
||||
"image/gif",
|
||||
"gif",
|
||||
sizeof(GIFContext),
|
||||
CODEC_ID_NONE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
gif_write_header,
|
||||
gif_write_packet,
|
||||
gif_write_trailer,
|
||||
.name = "gif",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("GIF Animation"),
|
||||
.mime_type = "image/gif",
|
||||
.extensions = "gif",
|
||||
.priv_data_size = sizeof(GIFContext),
|
||||
.audio_codec = CODEC_ID_NONE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_header = gif_write_header,
|
||||
.write_packet = gif_write_packet,
|
||||
.write_trailer = gif_write_trailer,
|
||||
.priv_class = &gif_muxer_class,
|
||||
};
|
||||
|
@ -523,13 +523,12 @@ static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index,
|
||||
}
|
||||
|
||||
AVInputFormat ff_gxf_demuxer = {
|
||||
"gxf",
|
||||
NULL_IF_CONFIG_SMALL("GXF format"),
|
||||
sizeof(struct gxf_stream_info),
|
||||
gxf_probe,
|
||||
gxf_header,
|
||||
gxf_packet,
|
||||
NULL,
|
||||
gxf_seek,
|
||||
gxf_read_timestamp,
|
||||
.name = "gxf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("GXF format"),
|
||||
.priv_data_size = sizeof(struct gxf_stream_info),
|
||||
.read_probe = gxf_probe,
|
||||
.read_header = gxf_header,
|
||||
.read_packet = gxf_packet,
|
||||
.read_seek = gxf_seek,
|
||||
.read_timestamp = gxf_read_timestamp,
|
||||
};
|
||||
|
@ -943,17 +943,14 @@ static int gxf_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *pk
|
||||
}
|
||||
|
||||
AVOutputFormat ff_gxf_muxer = {
|
||||
"gxf",
|
||||
NULL_IF_CONFIG_SMALL("GXF format"),
|
||||
NULL,
|
||||
"gxf",
|
||||
sizeof(GXFContext),
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
gxf_write_header,
|
||||
gxf_write_packet,
|
||||
gxf_write_trailer,
|
||||
0,
|
||||
NULL,
|
||||
gxf_interleave_packet,
|
||||
.name = "gxf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("GXF format"),
|
||||
.extensions = "gxf",
|
||||
.priv_data_size = sizeof(GXFContext),
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = gxf_write_header,
|
||||
.write_packet = gxf_write_packet,
|
||||
.write_trailer = gxf_write_trailer,
|
||||
.interleave_packet = gxf_interleave_packet,
|
||||
};
|
||||
|
@ -292,10 +292,10 @@ static int idcin_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_idcin_demuxer = {
|
||||
"idcin",
|
||||
NULL_IF_CONFIG_SMALL("id Cinematic format"),
|
||||
sizeof(IdcinDemuxContext),
|
||||
idcin_probe,
|
||||
idcin_read_header,
|
||||
idcin_read_packet,
|
||||
.name = "idcin",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("id Cinematic format"),
|
||||
.priv_data_size = sizeof(IdcinDemuxContext),
|
||||
.read_probe = idcin_probe,
|
||||
.read_header = idcin_read_header,
|
||||
.read_packet = idcin_read_packet,
|
||||
};
|
||||
|
@ -216,10 +216,10 @@ static int roq_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_roq_demuxer = {
|
||||
"RoQ",
|
||||
NULL_IF_CONFIG_SMALL("id RoQ format"),
|
||||
sizeof(RoqDemuxContext),
|
||||
roq_probe,
|
||||
roq_read_header,
|
||||
roq_read_packet,
|
||||
.name = "RoQ",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("id RoQ format"),
|
||||
.priv_data_size = sizeof(RoqDemuxContext),
|
||||
.read_probe = roq_probe,
|
||||
.read_header = roq_read_header,
|
||||
.read_packet = roq_read_packet,
|
||||
};
|
||||
|
@ -340,10 +340,10 @@ static int iff_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_iff_demuxer = {
|
||||
"IFF",
|
||||
NULL_IF_CONFIG_SMALL("IFF format"),
|
||||
sizeof(IffDemuxContext),
|
||||
iff_probe,
|
||||
iff_read_header,
|
||||
iff_read_packet,
|
||||
.name = "IFF",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("IFF format"),
|
||||
.priv_data_size = sizeof(IffDemuxContext),
|
||||
.read_probe = iff_probe,
|
||||
.read_header = iff_read_header,
|
||||
.read_packet = iff_read_packet,
|
||||
};
|
||||
|
@ -59,12 +59,11 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_ingenient_demuxer = {
|
||||
"ingenient",
|
||||
NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
|
||||
sizeof(FFRawVideoDemuxerContext),
|
||||
NULL,
|
||||
ff_raw_video_read_header,
|
||||
ingenient_read_packet,
|
||||
.name = "ingenient",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
|
||||
.priv_data_size = sizeof(FFRawVideoDemuxerContext),
|
||||
.read_header = ff_raw_video_read_header,
|
||||
.read_packet = ingenient_read_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "cgi", // FIXME
|
||||
.value = CODEC_ID_MJPEG,
|
||||
|
@ -616,10 +616,10 @@ static int ipmovie_read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_ipmovie_demuxer = {
|
||||
"ipmovie",
|
||||
NULL_IF_CONFIG_SMALL("Interplay MVE format"),
|
||||
sizeof(IPMVEContext),
|
||||
ipmovie_probe,
|
||||
ipmovie_read_header,
|
||||
ipmovie_read_packet,
|
||||
.name = "ipmovie",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Interplay MVE format"),
|
||||
.priv_data_size = sizeof(IPMVEContext),
|
||||
.read_probe = ipmovie_probe,
|
||||
.read_header = ipmovie_read_header,
|
||||
.read_packet = ipmovie_read_packet,
|
||||
};
|
||||
|
@ -122,11 +122,11 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_iss_demuxer = {
|
||||
"ISS",
|
||||
NULL_IF_CONFIG_SMALL("Funcom ISS format"),
|
||||
sizeof(IssDemuxContext),
|
||||
iss_probe,
|
||||
iss_read_header,
|
||||
iss_read_packet,
|
||||
.name = "ISS",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Funcom ISS format"),
|
||||
.priv_data_size = sizeof(IssDemuxContext),
|
||||
.read_probe = iss_probe,
|
||||
.read_header = iss_read_header,
|
||||
.read_packet = iss_read_packet,
|
||||
};
|
||||
|
||||
|
@ -85,12 +85,11 @@ retry:
|
||||
}
|
||||
|
||||
AVInputFormat ff_iv8_demuxer = {
|
||||
"iv8",
|
||||
NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
|
||||
0,
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "iv8",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.value = CODEC_ID_MPEG4,
|
||||
};
|
||||
|
@ -80,12 +80,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_ivf_demuxer = {
|
||||
"ivf",
|
||||
NULL_IF_CONFIG_SMALL("On2 IVF"),
|
||||
0,
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "ivf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("On2 IVF"),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.codec_tag = (const AVCodecTag*[]){ff_codec_bmp_tags, 0},
|
||||
};
|
||||
|
@ -151,16 +151,16 @@ static int nut_write_trailer(AVFormatContext * avf) {
|
||||
}
|
||||
|
||||
AVOutputFormat ff_libnut_muxer = {
|
||||
"libnut",
|
||||
"nut format",
|
||||
"video/x-nut",
|
||||
"nut",
|
||||
sizeof(NUTContext),
|
||||
CODEC_ID_VORBIS,
|
||||
CODEC_ID_MPEG4,
|
||||
nut_write_header,
|
||||
nut_write_packet,
|
||||
nut_write_trailer,
|
||||
.name = "libnut",
|
||||
.long_name = "nut format",
|
||||
.mime_type = "video/x-nut",
|
||||
.extensions = "nut",
|
||||
.priv_data_size = sizeof(NUTContext),
|
||||
.audio_codec = CODEC_ID_VORBIS,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = nut_write_header,
|
||||
.write_packet = nut_write_packet,
|
||||
.write_trailer = nut_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
};
|
||||
#endif /* CONFIG_LIBNUT_MUXER */
|
||||
@ -298,13 +298,13 @@ static int nut_read_close(AVFormatContext *s) {
|
||||
}
|
||||
|
||||
AVInputFormat ff_libnut_demuxer = {
|
||||
"libnut",
|
||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
sizeof(NUTContext),
|
||||
nut_probe,
|
||||
nut_read_header,
|
||||
nut_read_packet,
|
||||
nut_read_close,
|
||||
nut_read_seek,
|
||||
.name = "libnut",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
.priv_data_size = sizeof(NUTContext),
|
||||
.read_probe = nut_probe,
|
||||
.read_header = nut_read_header,
|
||||
.read_packet = nut_read_packet,
|
||||
.read_close = nut_read_close,
|
||||
.read_seek = nut_read_seek,
|
||||
.extensions = "nut",
|
||||
};
|
||||
|
@ -118,10 +118,9 @@ static int lmlm4_read_packet(AVFormatContext *s, AVPacket *pkt) {
|
||||
}
|
||||
|
||||
AVInputFormat ff_lmlm4_demuxer = {
|
||||
"lmlm4",
|
||||
NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
|
||||
0,
|
||||
lmlm4_probe,
|
||||
lmlm4_read_header,
|
||||
lmlm4_read_packet,
|
||||
.name = "lmlm4",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
|
||||
.read_probe = lmlm4_probe,
|
||||
.read_header = lmlm4_read_header,
|
||||
.read_packet = lmlm4_read_packet,
|
||||
};
|
||||
|
@ -2055,12 +2055,12 @@ static int matroska_read_close(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVInputFormat ff_matroska_demuxer = {
|
||||
"matroska,webm",
|
||||
NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
|
||||
sizeof(MatroskaDemuxContext),
|
||||
matroska_probe,
|
||||
matroska_read_header,
|
||||
matroska_read_packet,
|
||||
matroska_read_close,
|
||||
matroska_read_seek,
|
||||
.name = "matroska,webm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
|
||||
.priv_data_size = sizeof(MatroskaDemuxContext),
|
||||
.read_probe = matroska_probe,
|
||||
.read_header = matroska_read_header,
|
||||
.read_packet = matroska_read_packet,
|
||||
.read_close = matroska_read_close,
|
||||
.read_seek = matroska_read_seek,
|
||||
};
|
||||
|
@ -1200,16 +1200,16 @@ static int mkv_write_trailer(AVFormatContext *s)
|
||||
|
||||
#if CONFIG_MATROSKA_MUXER
|
||||
AVOutputFormat ff_matroska_muxer = {
|
||||
"matroska",
|
||||
NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||
"video/x-matroska",
|
||||
"mkv",
|
||||
sizeof(MatroskaMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG4,
|
||||
mkv_write_header,
|
||||
mkv_write_packet,
|
||||
mkv_write_trailer,
|
||||
.name = "matroska",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||
.mime_type = "video/x-matroska",
|
||||
.extensions = "mkv",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = mkv_write_header,
|
||||
.write_packet = mkv_write_packet,
|
||||
.write_trailer = mkv_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
||||
.codec_tag = (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||
.subtitle_codec = CODEC_ID_SSA,
|
||||
@ -1218,32 +1218,32 @@ AVOutputFormat ff_matroska_muxer = {
|
||||
|
||||
#if CONFIG_WEBM_MUXER
|
||||
AVOutputFormat ff_webm_muxer = {
|
||||
"webm",
|
||||
NULL_IF_CONFIG_SMALL("WebM file format"),
|
||||
"video/webm",
|
||||
"webm",
|
||||
sizeof(MatroskaMuxContext),
|
||||
CODEC_ID_VORBIS,
|
||||
CODEC_ID_VP8,
|
||||
mkv_write_header,
|
||||
mkv_write_packet,
|
||||
mkv_write_trailer,
|
||||
.name = "webm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("WebM file format"),
|
||||
.mime_type = "video/webm",
|
||||
.extensions = "webm",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
.audio_codec = CODEC_ID_VORBIS,
|
||||
.video_codec = CODEC_ID_VP8,
|
||||
.write_header = mkv_write_header,
|
||||
.write_packet = mkv_write_packet,
|
||||
.write_trailer = mkv_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_MATROSKA_AUDIO_MUXER
|
||||
AVOutputFormat ff_matroska_audio_muxer = {
|
||||
"matroska",
|
||||
NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||
"audio/x-matroska",
|
||||
"mka",
|
||||
sizeof(MatroskaMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_NONE,
|
||||
mkv_write_header,
|
||||
mkv_write_packet,
|
||||
mkv_write_trailer,
|
||||
.name = "matroska",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||
.mime_type = "audio/x-matroska",
|
||||
.extensions = "mka",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = mkv_write_header,
|
||||
.write_packet = mkv_write_packet,
|
||||
.write_trailer = mkv_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
|
||||
};
|
||||
|
@ -66,16 +66,15 @@ static int write_trailer(struct AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_md5_muxer = {
|
||||
"md5",
|
||||
NULL_IF_CONFIG_SMALL("MD5 testing format"),
|
||||
NULL,
|
||||
"",
|
||||
PRIVSIZE,
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
write_header,
|
||||
write_packet,
|
||||
write_trailer,
|
||||
.name = "md5",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MD5 testing format"),
|
||||
.extensions = "",
|
||||
.priv_data_size = PRIVSIZE,
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_header = write_header,
|
||||
.write_packet = write_packet,
|
||||
.write_trailer = write_trailer,
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -96,15 +95,12 @@ static int framemd5_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_framemd5_muxer = {
|
||||
"framemd5",
|
||||
NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
|
||||
NULL,
|
||||
"",
|
||||
PRIVSIZE,
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_RAWVIDEO,
|
||||
NULL,
|
||||
framemd5_write_packet,
|
||||
NULL,
|
||||
.name = "framemd5",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
|
||||
.extensions = "",
|
||||
.priv_data_size = PRIVSIZE,
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_packet = framemd5_write_packet,
|
||||
};
|
||||
#endif
|
||||
|
@ -187,10 +187,10 @@ static int read_packet(AVFormatContext *s,
|
||||
}
|
||||
|
||||
AVInputFormat ff_mm_demuxer = {
|
||||
"mm",
|
||||
NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
|
||||
sizeof(MmDemuxContext),
|
||||
probe,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "mm",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
|
||||
.priv_data_size = sizeof(MmDemuxContext),
|
||||
.read_probe = probe,
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
};
|
||||
|
@ -291,27 +291,26 @@ static int mmf_read_packet(AVFormatContext *s,
|
||||
|
||||
#if CONFIG_MMF_DEMUXER
|
||||
AVInputFormat ff_mmf_demuxer = {
|
||||
"mmf",
|
||||
NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||
sizeof(MMFContext),
|
||||
mmf_probe,
|
||||
mmf_read_header,
|
||||
mmf_read_packet,
|
||||
NULL,
|
||||
pcm_read_seek,
|
||||
.name = "mmf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||
.priv_data_size = sizeof(MMFContext),
|
||||
.read_probe = mmf_probe,
|
||||
.read_header = mmf_read_header,
|
||||
.read_packet = mmf_read_packet,
|
||||
.read_seek = pcm_read_seek,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_MMF_MUXER
|
||||
AVOutputFormat ff_mmf_muxer = {
|
||||
"mmf",
|
||||
NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||
"application/vnd.smaf",
|
||||
"mmf",
|
||||
sizeof(MMFContext),
|
||||
CODEC_ID_ADPCM_YAMAHA,
|
||||
CODEC_ID_NONE,
|
||||
mmf_write_header,
|
||||
mmf_write_packet,
|
||||
mmf_write_trailer,
|
||||
.name = "mmf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||
.mime_type = "application/vnd.smaf",
|
||||
.extensions = "mmf",
|
||||
.priv_data_size = sizeof(MMFContext),
|
||||
.audio_codec = CODEC_ID_ADPCM_YAMAHA,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = mmf_write_header,
|
||||
.write_packet = mmf_write_packet,
|
||||
.write_trailer = mmf_write_trailer,
|
||||
};
|
||||
#endif
|
||||
|
@ -2630,12 +2630,12 @@ static int mov_read_close(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVInputFormat ff_mov_demuxer = {
|
||||
"mov,mp4,m4a,3gp,3g2,mj2",
|
||||
NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
|
||||
sizeof(MOVContext),
|
||||
mov_probe,
|
||||
mov_read_header,
|
||||
mov_read_packet,
|
||||
mov_read_close,
|
||||
mov_read_seek,
|
||||
.name = "mov,mp4,m4a,3gp,3g2,mj2",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
|
||||
.priv_data_size = sizeof(MOVContext),
|
||||
.read_probe = mov_probe,
|
||||
.read_header = mov_read_header,
|
||||
.read_packet = mov_read_packet,
|
||||
.read_close = mov_read_close,
|
||||
.read_seek = mov_read_seek,
|
||||
};
|
||||
|
@ -2351,16 +2351,15 @@ static int mov_write_trailer(AVFormatContext *s)
|
||||
|
||||
#if CONFIG_MOV_MUXER
|
||||
AVOutputFormat ff_mov_muxer = {
|
||||
"mov",
|
||||
NULL_IF_CONFIG_SMALL("MOV format"),
|
||||
NULL,
|
||||
"mov",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AAC,
|
||||
CODEC_ID_MPEG4,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "mov",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MOV format"),
|
||||
.extensions = "mov",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AAC,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
@ -2368,16 +2367,15 @@ AVOutputFormat ff_mov_muxer = {
|
||||
#endif
|
||||
#if CONFIG_TGP_MUXER
|
||||
AVOutputFormat ff_tgp_muxer = {
|
||||
"3gp",
|
||||
NULL_IF_CONFIG_SMALL("3GP format"),
|
||||
NULL,
|
||||
"3gp",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AMR_NB,
|
||||
CODEC_ID_H263,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "3gp",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("3GP format"),
|
||||
.extensions = "3gp",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AMR_NB,
|
||||
.video_codec = CODEC_ID_H263,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
@ -2385,16 +2383,16 @@ AVOutputFormat ff_tgp_muxer = {
|
||||
#endif
|
||||
#if CONFIG_MP4_MUXER
|
||||
AVOutputFormat ff_mp4_muxer = {
|
||||
"mp4",
|
||||
NULL_IF_CONFIG_SMALL("MP4 format"),
|
||||
"application/mp4",
|
||||
"mp4",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AAC,
|
||||
CODEC_ID_MPEG4,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "mp4",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MP4 format"),
|
||||
.mime_type = "application/mp4",
|
||||
.extensions = "mp4",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AAC,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
@ -2402,16 +2400,15 @@ AVOutputFormat ff_mp4_muxer = {
|
||||
#endif
|
||||
#if CONFIG_PSP_MUXER
|
||||
AVOutputFormat ff_psp_muxer = {
|
||||
"psp",
|
||||
NULL_IF_CONFIG_SMALL("PSP MP4 format"),
|
||||
NULL,
|
||||
"mp4,psp",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AAC,
|
||||
CODEC_ID_MPEG4,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "psp",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("PSP MP4 format"),
|
||||
.extensions = "mp4,psp",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AAC,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
@ -2419,16 +2416,15 @@ AVOutputFormat ff_psp_muxer = {
|
||||
#endif
|
||||
#if CONFIG_TG2_MUXER
|
||||
AVOutputFormat ff_tg2_muxer = {
|
||||
"3g2",
|
||||
NULL_IF_CONFIG_SMALL("3GP2 format"),
|
||||
NULL,
|
||||
"3g2",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AMR_NB,
|
||||
CODEC_ID_H263,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "3g2",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("3GP2 format"),
|
||||
.extensions = "3g2",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AMR_NB,
|
||||
.video_codec = CODEC_ID_H263,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
@ -2436,16 +2432,16 @@ AVOutputFormat ff_tg2_muxer = {
|
||||
#endif
|
||||
#if CONFIG_IPOD_MUXER
|
||||
AVOutputFormat ff_ipod_muxer = {
|
||||
"ipod",
|
||||
NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
|
||||
"application/mp4",
|
||||
"m4v,m4a",
|
||||
sizeof(MOVMuxContext),
|
||||
CODEC_ID_AAC,
|
||||
CODEC_ID_H264,
|
||||
mov_write_header,
|
||||
ff_mov_write_packet,
|
||||
mov_write_trailer,
|
||||
.name = "ipod",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
|
||||
.mime_type = "application/mp4",
|
||||
.extensions = "m4v,m4a",
|
||||
.priv_data_size = sizeof(MOVMuxContext),
|
||||
.audio_codec = CODEC_ID_AAC,
|
||||
.video_codec = CODEC_ID_H264,
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = ff_mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER,
|
||||
.codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0},
|
||||
.priv_class = &mov_muxer_class,
|
||||
|
@ -188,12 +188,11 @@ static int mp3_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_mp3_demuxer = {
|
||||
"mp3",
|
||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
|
||||
0,
|
||||
mp3_read_probe,
|
||||
mp3_read_header,
|
||||
mp3_read_packet,
|
||||
.name = "mp3",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
|
||||
.read_probe = mp3_read_probe,
|
||||
.read_header = mp3_read_header,
|
||||
.read_packet = mp3_read_packet,
|
||||
.flags= AVFMT_GENERIC_INDEX,
|
||||
.extensions = "mp2,mp3,m2a", /* XXX: use probe */
|
||||
};
|
||||
|
@ -174,16 +174,14 @@ static int mp2_write_trailer(struct AVFormatContext *s)
|
||||
|
||||
#if CONFIG_MP2_MUXER
|
||||
AVOutputFormat ff_mp2_muxer = {
|
||||
"mp2",
|
||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
|
||||
"audio/x-mpeg",
|
||||
"mp2,m2a",
|
||||
0,
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_NONE,
|
||||
NULL,
|
||||
ff_raw_write_packet,
|
||||
mp2_write_trailer,
|
||||
.name = "mp2",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
|
||||
.mime_type = "audio/x-mpeg",
|
||||
.extensions = "mp2,m2a",
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_packet = ff_raw_write_packet,
|
||||
.write_trailer = mp2_write_trailer,
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -459,17 +457,17 @@ static int mp3_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_mp3_muxer = {
|
||||
"mp3",
|
||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
|
||||
"audio/x-mpeg",
|
||||
"mp3",
|
||||
sizeof(MP3Context),
|
||||
CODEC_ID_MP3,
|
||||
CODEC_ID_NONE,
|
||||
mp3_write_header,
|
||||
mp3_write_packet,
|
||||
mp3_write_trailer,
|
||||
AVFMT_NOTIMESTAMPS,
|
||||
.name = "mp3",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
|
||||
.mime_type = "audio/x-mpeg",
|
||||
.extensions = "mp3",
|
||||
.priv_data_size = sizeof(MP3Context),
|
||||
.audio_codec = CODEC_ID_MP3,
|
||||
.video_codec = CODEC_ID_NONE,
|
||||
.write_header = mp3_write_header,
|
||||
.write_packet = mp3_write_packet,
|
||||
.write_trailer = mp3_write_trailer,
|
||||
.flags = AVFMT_NOTIMESTAMPS,
|
||||
.priv_class = &mp3_muxer_class,
|
||||
};
|
||||
#endif
|
||||
|
@ -222,13 +222,13 @@ static int mpc_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
|
||||
|
||||
|
||||
AVInputFormat ff_mpc_demuxer = {
|
||||
"mpc",
|
||||
NULL_IF_CONFIG_SMALL("Musepack"),
|
||||
sizeof(MPCContext),
|
||||
mpc_probe,
|
||||
mpc_read_header,
|
||||
mpc_read_packet,
|
||||
mpc_read_close,
|
||||
mpc_read_seek,
|
||||
.name = "mpc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Musepack"),
|
||||
.priv_data_size = sizeof(MPCContext),
|
||||
.read_probe = mpc_probe,
|
||||
.read_header = mpc_read_header,
|
||||
.read_packet = mpc_read_packet,
|
||||
.read_close = mpc_read_close,
|
||||
.read_seek = mpc_read_seek,
|
||||
.extensions = "mpc",
|
||||
};
|
||||
|
@ -281,12 +281,11 @@ static int mpc8_read_seek(AVFormatContext *s, int stream_index, int64_t timestam
|
||||
|
||||
|
||||
AVInputFormat ff_mpc8_demuxer = {
|
||||
"mpc8",
|
||||
NULL_IF_CONFIG_SMALL("Musepack SV8"),
|
||||
sizeof(MPCContext),
|
||||
mpc8_probe,
|
||||
mpc8_read_header,
|
||||
mpc8_read_packet,
|
||||
NULL,
|
||||
mpc8_read_seek,
|
||||
.name = "mpc8",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
|
||||
.priv_data_size = sizeof(MPCContext),
|
||||
.read_probe = mpc8_probe,
|
||||
.read_header = mpc8_read_header,
|
||||
.read_packet = mpc8_read_packet,
|
||||
.read_seek = mpc8_read_seek,
|
||||
};
|
||||
|
@ -606,14 +606,13 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index,
|
||||
}
|
||||
|
||||
AVInputFormat ff_mpegps_demuxer = {
|
||||
"mpeg",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-PS format"),
|
||||
sizeof(MpegDemuxContext),
|
||||
mpegps_probe,
|
||||
mpegps_read_header,
|
||||
mpegps_read_packet,
|
||||
NULL,
|
||||
NULL, //mpegps_read_seek,
|
||||
mpegps_read_dts,
|
||||
.name = "mpeg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-PS format"),
|
||||
.priv_data_size = sizeof(MpegDemuxContext),
|
||||
.read_probe = mpegps_probe,
|
||||
.read_header = mpegps_read_header,
|
||||
.read_packet = mpegps_read_packet,
|
||||
.read_seek = NULL, //mpegps_read_seek,
|
||||
.read_timestamp = mpegps_read_dts,
|
||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||
};
|
||||
|
@ -1232,75 +1232,74 @@ static int mpeg_mux_end(AVFormatContext *ctx)
|
||||
|
||||
#if CONFIG_MPEG1SYSTEM_MUXER
|
||||
AVOutputFormat ff_mpeg1system_muxer = {
|
||||
"mpeg",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
|
||||
"video/mpeg",
|
||||
"mpg,mpeg",
|
||||
sizeof(MpegMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG1VIDEO,
|
||||
mpeg_mux_init,
|
||||
mpeg_mux_write_packet,
|
||||
mpeg_mux_end,
|
||||
.name = "mpeg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
|
||||
.mime_type = "video/mpeg",
|
||||
.extensions = "mpg,mpeg",
|
||||
.priv_data_size = sizeof(MpegMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||
.write_header = mpeg_mux_init,
|
||||
.write_packet = mpeg_mux_write_packet,
|
||||
.write_trailer = mpeg_mux_end,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_MPEG1VCD_MUXER
|
||||
AVOutputFormat ff_mpeg1vcd_muxer = {
|
||||
"vcd",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
|
||||
"video/mpeg",
|
||||
NULL,
|
||||
sizeof(MpegMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG1VIDEO,
|
||||
mpeg_mux_init,
|
||||
mpeg_mux_write_packet,
|
||||
mpeg_mux_end,
|
||||
.name = "vcd",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
|
||||
.mime_type = "video/mpeg",
|
||||
.priv_data_size = sizeof(MpegMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||
.write_header = mpeg_mux_init,
|
||||
.write_packet = mpeg_mux_write_packet,
|
||||
.write_trailer = mpeg_mux_end,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_MPEG2VOB_MUXER
|
||||
AVOutputFormat ff_mpeg2vob_muxer = {
|
||||
"vob",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||
"video/mpeg",
|
||||
"vob",
|
||||
sizeof(MpegMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mpeg_mux_init,
|
||||
mpeg_mux_write_packet,
|
||||
mpeg_mux_end,
|
||||
.name = "vob",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||
.mime_type = "video/mpeg",
|
||||
.extensions = "vob",
|
||||
.priv_data_size = sizeof(MpegMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mpeg_mux_init,
|
||||
.write_packet = mpeg_mux_write_packet,
|
||||
.write_trailer = mpeg_mux_end,
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Same as mpeg2vob_mux except that the pack size is 2324 */
|
||||
#if CONFIG_MPEG2SVCD_MUXER
|
||||
AVOutputFormat ff_mpeg2svcd_muxer = {
|
||||
"svcd",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||
"video/mpeg",
|
||||
"vob",
|
||||
sizeof(MpegMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mpeg_mux_init,
|
||||
mpeg_mux_write_packet,
|
||||
mpeg_mux_end,
|
||||
.name = "svcd",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||
.mime_type = "video/mpeg",
|
||||
.extensions = "vob",
|
||||
.priv_data_size = sizeof(MpegMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mpeg_mux_init,
|
||||
.write_packet = mpeg_mux_write_packet,
|
||||
.write_trailer = mpeg_mux_end,
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
|
||||
#if CONFIG_MPEG2DVD_MUXER
|
||||
AVOutputFormat ff_mpeg2dvd_muxer = {
|
||||
"dvd",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
|
||||
"video/mpeg",
|
||||
"dvd",
|
||||
sizeof(MpegMuxContext),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mpeg_mux_init,
|
||||
mpeg_mux_write_packet,
|
||||
mpeg_mux_end,
|
||||
.name = "dvd",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
|
||||
.mime_type = "video/mpeg",
|
||||
.extensions = "dvd",
|
||||
.priv_data_size = sizeof(MpegMuxContext),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mpeg_mux_init,
|
||||
.write_packet = mpeg_mux_write_packet,
|
||||
.write_trailer = mpeg_mux_end,
|
||||
};
|
||||
#endif
|
||||
|
@ -1887,15 +1887,15 @@ void ff_mpegts_parse_close(MpegTSContext *ts)
|
||||
}
|
||||
|
||||
AVInputFormat ff_mpegts_demuxer = {
|
||||
"mpegts",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||
sizeof(MpegTSContext),
|
||||
mpegts_probe,
|
||||
mpegts_read_header,
|
||||
mpegts_read_packet,
|
||||
mpegts_read_close,
|
||||
read_seek,
|
||||
mpegts_get_pcr,
|
||||
.name = "mpegts",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||
.priv_data_size = sizeof(MpegTSContext),
|
||||
.read_probe = mpegts_probe,
|
||||
.read_header = mpegts_read_header,
|
||||
.read_packet = mpegts_read_packet,
|
||||
.read_close = mpegts_read_close,
|
||||
.read_seek = read_seek,
|
||||
.read_timestamp = mpegts_get_pcr,
|
||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||
#ifdef USE_SYNCPOINT_SEARCH
|
||||
.read_seek2 = read_seek2,
|
||||
@ -1903,15 +1903,14 @@ AVInputFormat ff_mpegts_demuxer = {
|
||||
};
|
||||
|
||||
AVInputFormat ff_mpegtsraw_demuxer = {
|
||||
"mpegtsraw",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
|
||||
sizeof(MpegTSContext),
|
||||
NULL,
|
||||
mpegts_read_header,
|
||||
mpegts_raw_read_packet,
|
||||
mpegts_read_close,
|
||||
read_seek,
|
||||
mpegts_get_pcr,
|
||||
.name = "mpegtsraw",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
|
||||
.priv_data_size = sizeof(MpegTSContext),
|
||||
.read_header = mpegts_read_header,
|
||||
.read_packet = mpegts_raw_read_packet,
|
||||
.read_close = mpegts_read_close,
|
||||
.read_seek = read_seek,
|
||||
.read_timestamp = mpegts_get_pcr,
|
||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||
#ifdef USE_SYNCPOINT_SEARCH
|
||||
.read_seek2 = read_seek2,
|
||||
|
@ -1051,15 +1051,15 @@ static int mpegts_write_end(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_mpegts_muxer = {
|
||||
"mpegts",
|
||||
NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||
"video/x-mpegts",
|
||||
"ts,m2t",
|
||||
sizeof(MpegTSWrite),
|
||||
CODEC_ID_MP2,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mpegts_write_header,
|
||||
mpegts_write_packet,
|
||||
mpegts_write_end,
|
||||
.name = "mpegts",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||
.mime_type = "video/x-mpegts",
|
||||
.extensions = "ts,m2t",
|
||||
.priv_data_size = sizeof(MpegTSWrite),
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mpegts_write_header,
|
||||
.write_packet = mpegts_write_packet,
|
||||
.write_trailer = mpegts_write_end,
|
||||
.priv_class = &mpegts_muxer_class,
|
||||
};
|
||||
|
@ -54,14 +54,13 @@ static int mpjpeg_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_mpjpeg_muxer = {
|
||||
"mpjpeg",
|
||||
NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
|
||||
"multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
|
||||
"mjpg",
|
||||
0,
|
||||
CODEC_ID_NONE,
|
||||
CODEC_ID_MJPEG,
|
||||
mpjpeg_write_header,
|
||||
mpjpeg_write_packet,
|
||||
mpjpeg_write_trailer,
|
||||
.name = "mpjpeg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
|
||||
.mime_type = "multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
|
||||
.extensions = "mjpg",
|
||||
.audio_codec = CODEC_ID_NONE,
|
||||
.video_codec = CODEC_ID_MJPEG,
|
||||
.write_header = mpjpeg_write_header,
|
||||
.write_packet = mpjpeg_write_packet,
|
||||
.write_trailer = mpjpeg_write_trailer,
|
||||
};
|
||||
|
@ -131,10 +131,9 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_msnwc_tcp_demuxer = {
|
||||
"msnwctcp",
|
||||
NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
|
||||
0,
|
||||
msnwc_tcp_probe,
|
||||
msnwc_tcp_read_header,
|
||||
msnwc_tcp_read_packet,
|
||||
.name = "msnwctcp",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
|
||||
.read_probe = msnwc_tcp_probe,
|
||||
.read_header = msnwc_tcp_read_header,
|
||||
.read_packet = msnwc_tcp_read_packet,
|
||||
};
|
||||
|
@ -197,10 +197,10 @@ static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_mtv_demuxer = {
|
||||
"MTV",
|
||||
NULL_IF_CONFIG_SMALL("MTV format"),
|
||||
sizeof(MTVDemuxContext),
|
||||
mtv_probe,
|
||||
mtv_read_header,
|
||||
mtv_read_packet,
|
||||
.name = "MTV",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("MTV format"),
|
||||
.priv_data_size = sizeof(MTVDemuxContext),
|
||||
.read_probe = mtv_probe,
|
||||
.read_header = mtv_read_header,
|
||||
.read_packet = mtv_read_packet,
|
||||
};
|
||||
|
@ -124,11 +124,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_mvi_demuxer = {
|
||||
"mvi",
|
||||
NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
|
||||
sizeof(MviDemuxContext),
|
||||
NULL,
|
||||
read_header,
|
||||
read_packet,
|
||||
.name = "mvi",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
|
||||
.priv_data_size = sizeof(MviDemuxContext),
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.extensions = "mvi"
|
||||
};
|
||||
|
@ -1016,12 +1016,12 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti
|
||||
}
|
||||
|
||||
AVInputFormat ff_mxf_demuxer = {
|
||||
"mxf",
|
||||
NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||
sizeof(MXFContext),
|
||||
mxf_probe,
|
||||
mxf_read_header,
|
||||
mxf_read_packet,
|
||||
mxf_read_close,
|
||||
mxf_read_seek,
|
||||
.name = "mxf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||
.priv_data_size = sizeof(MXFContext),
|
||||
.read_probe = mxf_probe,
|
||||
.read_header = mxf_read_header,
|
||||
.read_packet = mxf_read_packet,
|
||||
.read_close = mxf_read_close,
|
||||
.read_seek = mxf_read_seek,
|
||||
};
|
||||
|
@ -1890,33 +1890,30 @@ static int mxf_interleave(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int
|
||||
}
|
||||
|
||||
AVOutputFormat ff_mxf_muxer = {
|
||||
"mxf",
|
||||
NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||
"application/mxf",
|
||||
"mxf",
|
||||
sizeof(MXFContext),
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mxf_write_header,
|
||||
mxf_write_packet,
|
||||
mxf_write_footer,
|
||||
AVFMT_NOTIMESTAMPS,
|
||||
NULL,
|
||||
mxf_interleave,
|
||||
.name = "mxf",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||
.mime_type = "application/mxf",
|
||||
.extensions = "mxf",
|
||||
.priv_data_size = sizeof(MXFContext),
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mxf_write_header,
|
||||
.write_packet = mxf_write_packet,
|
||||
.write_trailer = mxf_write_footer,
|
||||
.flags = AVFMT_NOTIMESTAMPS,
|
||||
.interleave_packet = mxf_interleave,
|
||||
};
|
||||
|
||||
AVOutputFormat ff_mxf_d10_muxer = {
|
||||
"mxf_d10",
|
||||
NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
|
||||
"application/mxf",
|
||||
NULL,
|
||||
sizeof(MXFContext),
|
||||
CODEC_ID_PCM_S16LE,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
mxf_write_header,
|
||||
mxf_write_packet,
|
||||
mxf_write_footer,
|
||||
AVFMT_NOTIMESTAMPS,
|
||||
NULL,
|
||||
mxf_interleave,
|
||||
.name = "mxf_d10",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
|
||||
.mime_type = "application/mxf",
|
||||
.priv_data_size = sizeof(MXFContext),
|
||||
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||
.write_header = mxf_write_header,
|
||||
.write_packet = mxf_write_packet,
|
||||
.write_trailer = mxf_write_footer,
|
||||
.flags = AVFMT_NOTIMESTAMPS,
|
||||
.interleave_packet = mxf_interleave,
|
||||
};
|
||||
|
@ -91,11 +91,10 @@ static int nc_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVInputFormat ff_nc_demuxer = {
|
||||
"nc",
|
||||
NULL_IF_CONFIG_SMALL("NC camera feed format"),
|
||||
0,
|
||||
nc_probe,
|
||||
nc_read_header,
|
||||
nc_read_packet,
|
||||
.name = "nc",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("NC camera feed format"),
|
||||
.read_probe = nc_probe,
|
||||
.read_header = nc_read_header,
|
||||
.read_packet = nc_read_packet,
|
||||
.extensions = "v",
|
||||
};
|
||||
|
@ -770,12 +770,12 @@ static int nsv_probe(AVProbeData *p)
|
||||
}
|
||||
|
||||
AVInputFormat ff_nsv_demuxer = {
|
||||
"nsv",
|
||||
NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
|
||||
sizeof(NSVContext),
|
||||
nsv_probe,
|
||||
nsv_read_header,
|
||||
nsv_read_packet,
|
||||
nsv_read_close,
|
||||
nsv_read_seek,
|
||||
.name = "nsv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
|
||||
.priv_data_size = sizeof(NSVContext),
|
||||
.read_probe = nsv_probe,
|
||||
.read_header = nsv_read_header,
|
||||
.read_packet = nsv_read_packet,
|
||||
.read_close = nsv_read_close,
|
||||
.read_seek = nsv_read_seek,
|
||||
};
|
||||
|
@ -27,14 +27,10 @@ static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_null_muxer = {
|
||||
"null",
|
||||
NULL_IF_CONFIG_SMALL("raw null video format"),
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
|
||||
CODEC_ID_RAWVIDEO,
|
||||
NULL,
|
||||
null_write_packet,
|
||||
.name = "null",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("raw null video format"),
|
||||
.audio_codec = AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
|
||||
.video_codec = CODEC_ID_RAWVIDEO,
|
||||
.write_packet = null_write_packet,
|
||||
.flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
|
||||
};
|
||||
|
@ -924,14 +924,14 @@ static int nut_read_close(AVFormatContext *s)
|
||||
|
||||
#if CONFIG_NUT_DEMUXER
|
||||
AVInputFormat ff_nut_demuxer = {
|
||||
"nut",
|
||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
sizeof(NUTContext),
|
||||
nut_probe,
|
||||
nut_read_header,
|
||||
nut_read_packet,
|
||||
nut_read_close,
|
||||
read_seek,
|
||||
.name = "nut",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
.priv_data_size = sizeof(NUTContext),
|
||||
.read_probe = nut_probe,
|
||||
.read_header = nut_read_header,
|
||||
.read_packet = nut_read_packet,
|
||||
.read_close = nut_read_close,
|
||||
.read_seek = read_seek,
|
||||
.extensions = "nut",
|
||||
.codec_tag = (const AVCodecTag * const []) { ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
|
||||
};
|
||||
|
@ -862,22 +862,22 @@ static int write_trailer(AVFormatContext *s){
|
||||
}
|
||||
|
||||
AVOutputFormat ff_nut_muxer = {
|
||||
"nut",
|
||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
"video/x-nut",
|
||||
"nut",
|
||||
sizeof(NUTContext),
|
||||
.name = "nut",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||
.mime_type = "video/x-nut",
|
||||
.extensions = "nut",
|
||||
.priv_data_size = sizeof(NUTContext),
|
||||
#if CONFIG_LIBVORBIS
|
||||
CODEC_ID_VORBIS,
|
||||
.audio_codec = CODEC_ID_VORBIS,
|
||||
#elif CONFIG_LIBMP3LAME
|
||||
CODEC_ID_MP3,
|
||||
.audio_codec = CODEC_ID_MP3,
|
||||
#else
|
||||
CODEC_ID_MP2,
|
||||
.audio_codec = CODEC_ID_MP2,
|
||||
#endif
|
||||
CODEC_ID_MPEG4,
|
||||
write_header,
|
||||
write_packet,
|
||||
write_trailer,
|
||||
.video_codec = CODEC_ID_MPEG4,
|
||||
.write_header = write_header,
|
||||
.write_packet = write_packet,
|
||||
.write_trailer = write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
||||
.codec_tag = (const AVCodecTag * const []){ ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
|
||||
};
|
||||
|
@ -259,13 +259,11 @@ static int nuv_packet(AVFormatContext *s, AVPacket *pkt) {
|
||||
}
|
||||
|
||||
AVInputFormat ff_nuv_demuxer = {
|
||||
"nuv",
|
||||
NULL_IF_CONFIG_SMALL("NuppelVideo format"),
|
||||
sizeof(NUVContext),
|
||||
nuv_probe,
|
||||
nuv_header,
|
||||
nuv_packet,
|
||||
NULL,
|
||||
NULL,
|
||||
.name = "nuv",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo format"),
|
||||
.priv_data_size = sizeof(NUVContext),
|
||||
.read_probe = nuv_probe,
|
||||
.read_header = nuv_header,
|
||||
.read_packet = nuv_packet,
|
||||
.flags = AVFMT_GENERIC_INDEX,
|
||||
};
|
||||
|
@ -525,15 +525,15 @@ static int ogg_write_trailer(AVFormatContext *s)
|
||||
}
|
||||
|
||||
AVOutputFormat ff_ogg_muxer = {
|
||||
"ogg",
|
||||
NULL_IF_CONFIG_SMALL("Ogg"),
|
||||
"application/ogg",
|
||||
"ogg,ogv,spx",
|
||||
sizeof(OGGContext),
|
||||
CODEC_ID_FLAC,
|
||||
CODEC_ID_THEORA,
|
||||
ogg_write_header,
|
||||
ogg_write_packet,
|
||||
ogg_write_trailer,
|
||||
.name = "ogg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("Ogg"),
|
||||
.mime_type = "application/ogg",
|
||||
.extensions = "ogg,ogv,spx",
|
||||
.priv_data_size = sizeof(OGGContext),
|
||||
.audio_codec = CODEC_ID_FLAC,
|
||||
.video_codec = CODEC_ID_THEORA,
|
||||
.write_header = ogg_write_header,
|
||||
.write_packet = ogg_write_packet,
|
||||
.write_trailer = ogg_write_trailer,
|
||||
.priv_class = &ogg_muxer_class,
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user