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 \
|
mmf \
|
||||||
mov \
|
mov \
|
||||||
pcm_mulaw=mulaw \
|
pcm_mulaw=mulaw \
|
||||||
mxf \
|
mxf="mxf mxf_d10" \
|
||||||
nut \
|
nut \
|
||||||
ogg \
|
ogg \
|
||||||
rawvideo=pixfmt \
|
rawvideo=pixfmt \
|
||||||
|
@ -38,8 +38,8 @@ Force displayed width.
|
|||||||
@item -y @var{height}
|
@item -y @var{height}
|
||||||
Force displayed height.
|
Force displayed height.
|
||||||
@item -s @var{size}
|
@item -s @var{size}
|
||||||
Set frame size (WxH or abbreviation), needed for videos which don't
|
This option has been removed. Use private format options for specifying the
|
||||||
contain a header with the frame size like raw YUV.
|
input video size.
|
||||||
@item -an
|
@item -an
|
||||||
Disable audio.
|
Disable audio.
|
||||||
@item -vn
|
@item -vn
|
||||||
@ -89,7 +89,8 @@ Read @var{input_file}.
|
|||||||
@section Advanced options
|
@section Advanced options
|
||||||
@table @option
|
@table @option
|
||||||
@item -pix_fmt @var{format}
|
@item -pix_fmt @var{format}
|
||||||
Set pixel format.
|
This option has been removed. Use private options for specifying the
|
||||||
|
input pixel format.
|
||||||
@item -stats
|
@item -stats
|
||||||
Show the stream duration, the codec parameters, the current position in
|
Show the stream duration, the codec parameters, the current position in
|
||||||
the stream and the audio/video synchronisation drift.
|
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");
|
fprintf(stderr, "Video pixel format is unknown, stream cannot be encoded\n");
|
||||||
ffmpeg_exit(1);
|
ffmpeg_exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!codec->width || !codec->height) {
|
||||||
|
codec->width = icodec->width;
|
||||||
|
codec->height = icodec->height;
|
||||||
|
}
|
||||||
|
|
||||||
ost->video_resample = codec->width != icodec->width ||
|
ost->video_resample = codec->width != icodec->width ||
|
||||||
codec->height != icodec->height ||
|
codec->height != icodec->height ||
|
||||||
codec->pix_fmt != icodec->pix_fmt;
|
codec->pix_fmt != icodec->pix_fmt;
|
||||||
if (ost->video_resample) {
|
if (ost->video_resample) {
|
||||||
codec->bits_per_raw_sample= frame_bits_per_raw_sample;
|
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_height = icodec->height;
|
||||||
ost->resample_width = icodec->width;
|
ost->resample_width = icodec->width;
|
||||||
ost->resample_pix_fmt= icodec->pix_fmt;
|
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 fs_screen_height;
|
||||||
static int screen_width = 0;
|
static int screen_width = 0;
|
||||||
static int screen_height = 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 audio_disable;
|
||||||
static int video_disable;
|
static int video_disable;
|
||||||
static int wanted_stream[AVMEDIA_TYPE_NB]={
|
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)
|
static int opt_frame_size(const char *opt, const char *arg)
|
||||||
{
|
{
|
||||||
if (av_parse_video_size(&frame_width, &frame_height, arg) < 0) {
|
av_log(NULL, AV_LOG_ERROR,
|
||||||
fprintf(stderr, "Incorrect frame size\n");
|
"Option '%s' has been removed, use private format options instead\n", opt);
|
||||||
return AVERROR(EINVAL);
|
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)
|
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)
|
static int opt_frame_pix_fmt(const char *opt, const char *arg)
|
||||||
{
|
{
|
||||||
frame_pix_fmt = av_get_pix_fmt(arg);
|
av_log(NULL, AV_LOG_ERROR,
|
||||||
return 0;
|
"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)
|
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 "avcodec.h"
|
||||||
#include "cabac.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){
|
int main(void){
|
||||||
CABACContext c;
|
CABACContext c;
|
||||||
uint8_t b[9*SIZE];
|
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){
|
static void refill(CABACContext *c){
|
||||||
#if CABAC_BITS == 16
|
#if CABAC_BITS == 16
|
||||||
c->low+= (c->bytestream[0]<<9) + (c->bytestream[1]<<1);
|
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(16, static DCTELEM, block)[64];
|
||||||
DECLARE_ALIGNED(8, static DCTELEM, block1)[64];
|
DECLARE_ALIGNED(8, static DCTELEM, block1)[64];
|
||||||
DECLARE_ALIGNED(8, static DCTELEM, block_org)[64];
|
|
||||||
|
|
||||||
static inline void mmx_emms(void)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 64; i++)
|
|
||||||
block_org[i] = block1[i];
|
|
||||||
|
|
||||||
if (dct->format == MMX_PERM) {
|
if (dct->format == MMX_PERM) {
|
||||||
for (i = 0; i < 64; i++)
|
for (i = 0; i < 64; i++)
|
||||||
block[idct_mmx_perm[i]] = block1[i];
|
block[idct_mmx_perm[i]] = block1[i];
|
||||||
|
@ -2832,7 +2832,7 @@ av_cold void dsputil_static_init(void)
|
|||||||
|
|
||||||
int ff_check_alignment(void){
|
int ff_check_alignment(void){
|
||||||
static int did_fail=0;
|
static int did_fail=0;
|
||||||
DECLARE_ALIGNED(16, int, aligned);
|
LOCAL_ALIGNED_16(int, aligned);
|
||||||
|
|
||||||
if((intptr_t)&aligned & 15){
|
if((intptr_t)&aligned & 15){
|
||||||
if(!did_fail){
|
if(!did_fail){
|
||||||
|
@ -374,30 +374,6 @@ int ff_init_me(MpegEncContext *s){
|
|||||||
return 0;
|
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,
|
static inline void no_motion_search(MpegEncContext * s,
|
||||||
int *mx_ptr, int *my_ptr)
|
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);
|
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;
|
intra_score += c->mb_penalty_factor*16;
|
||||||
|
|
||||||
if(intra_score < dmin){
|
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(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])
|
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;
|
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;
|
s->mb_type[mb_y*s->mb_stride + mb_x]= type;
|
||||||
|
@ -44,75 +44,6 @@
|
|||||||
COPY3_IF_LT(dmin, d, bx, hx, by, hy)\
|
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,
|
static int hpel_motion_search(MpegEncContext * s,
|
||||||
int *mx_ptr, int *my_ptr, int dmin,
|
int *mx_ptr, int *my_ptr, int dmin,
|
||||||
int src_index, int ref_index,
|
int src_index, int ref_index,
|
||||||
@ -220,7 +151,6 @@ static int hpel_motion_search(MpegEncContext * s,
|
|||||||
|
|
||||||
return dmin;
|
return dmin;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static int no_sub_motion_search(MpegEncContext * s,
|
static int no_sub_motion_search(MpegEncContext * s,
|
||||||
int *mx_ptr, int *my_ptr, int dmin,
|
int *mx_ptr, int *my_ptr, int dmin,
|
||||||
@ -323,7 +253,6 @@ static int qpel_motion_search(MpegEncContext * s,
|
|||||||
int best_pos[8][2];
|
int best_pos[8][2];
|
||||||
|
|
||||||
memset(best, 64, sizeof(int)*8);
|
memset(best, 64, sizeof(int)*8);
|
||||||
#if 1
|
|
||||||
if(s->me.dia_size>=2){
|
if(s->me.dia_size>=2){
|
||||||
const int tl= score_map[(index-(1<<ME_MAP_SHIFT)-1)&(ME_MAP_SIZE-1)];
|
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 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)
|
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);
|
assert(bx >= xmin*4 && bx <= xmax*4 && by >= ymin*4 && by <= ymax*4);
|
||||||
|
|
||||||
*mx_ptr = bx;
|
*mx_ptr = bx;
|
||||||
|
@ -34,17 +34,6 @@
|
|||||||
#include "mathops.h"
|
#include "mathops.h"
|
||||||
#include "simple_idct.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 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 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
|
#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 W7 4520 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
|
||||||
#define ROW_SHIFT 11
|
#define ROW_SHIFT 11
|
||||||
#define COL_SHIFT 20 // 6
|
#define COL_SHIFT 20 // 6
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline void idctRowCondDC (DCTELEM * row)
|
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 */
|
/* Denominator used for ff_vc1_bfraction_lut */
|
||||||
#define B_FRACTION_DEN 256
|
#define B_FRACTION_DEN 256
|
||||||
|
|
||||||
/* pre-computed scales for all bfractions and base=256 */
|
/* pre-computed scales for all bfractions and base=256 */
|
||||||
extern const int16_t ff_vc1_bfraction_lut[23];
|
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_bits[23];
|
||||||
extern const uint8_t ff_vc1_bfraction_codes[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 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 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
|
#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
|
#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 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 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
|
#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
|
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)
|
static inline void idct(int16_t *block)
|
||||||
{
|
{
|
||||||
DECLARE_ALIGNED(8, int64_t, align_tmp)[16];
|
DECLARE_ALIGNED(8, int64_t, align_tmp)[16];
|
||||||
|
@ -345,11 +345,11 @@ static int fourxm_read_close(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_fourxm_demuxer = {
|
AVInputFormat ff_fourxm_demuxer = {
|
||||||
"4xm",
|
.name = "4xm",
|
||||||
NULL_IF_CONFIG_SMALL("4X Technologies format"),
|
.long_name = NULL_IF_CONFIG_SMALL("4X Technologies format"),
|
||||||
sizeof(FourxmDemuxContext),
|
.priv_data_size = sizeof(FourxmDemuxContext),
|
||||||
fourxm_probe,
|
.read_probe = fourxm_probe,
|
||||||
fourxm_read_header,
|
.read_header = fourxm_read_header,
|
||||||
fourxm_read_packet,
|
.read_packet = fourxm_read_packet,
|
||||||
fourxm_read_close,
|
.read_close = fourxm_read_close,
|
||||||
};
|
};
|
||||||
|
@ -170,7 +170,7 @@ AVOutputFormat ff_a64_muxer = {
|
|||||||
.extensions = "a64, A64",
|
.extensions = "a64, A64",
|
||||||
.priv_data_size = sizeof (A64Context),
|
.priv_data_size = sizeof (A64Context),
|
||||||
.video_codec = CODEC_ID_A64_MULTI,
|
.video_codec = CODEC_ID_A64_MULTI,
|
||||||
a64_write_header,
|
.write_header = a64_write_header,
|
||||||
a64_write_packet,
|
.write_packet = a64_write_packet,
|
||||||
a64_write_trailer
|
.write_trailer = a64_write_trailer
|
||||||
};
|
};
|
||||||
|
@ -82,12 +82,11 @@ static int adts_aac_read_header(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_aac_demuxer = {
|
AVInputFormat ff_aac_demuxer = {
|
||||||
"aac",
|
.name = "aac",
|
||||||
NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw ADTS AAC"),
|
||||||
0,
|
.read_probe = adts_aac_probe,
|
||||||
adts_aac_probe,
|
.read_header = adts_aac_read_header,
|
||||||
adts_aac_read_header,
|
.read_packet = ff_raw_read_partial_packet,
|
||||||
ff_raw_read_partial_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "aac",
|
.extensions = "aac",
|
||||||
.value = CODEC_ID_AAC,
|
.value = CODEC_ID_AAC,
|
||||||
|
@ -71,12 +71,11 @@ static int ac3_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ac3_demuxer = {
|
AVInputFormat ff_ac3_demuxer = {
|
||||||
"ac3",
|
.name = "ac3",
|
||||||
NULL_IF_CONFIG_SMALL("raw AC-3"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw AC-3"),
|
||||||
0,
|
.read_probe = ac3_probe,
|
||||||
ac3_probe,
|
.read_header = ff_raw_audio_read_header,
|
||||||
ff_raw_audio_read_header,
|
.read_packet = ff_raw_read_partial_packet,
|
||||||
ff_raw_read_partial_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "ac3",
|
.extensions = "ac3",
|
||||||
.value = CODEC_ID_AC3,
|
.value = CODEC_ID_AC3,
|
||||||
@ -90,12 +89,11 @@ static int eac3_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_eac3_demuxer = {
|
AVInputFormat ff_eac3_demuxer = {
|
||||||
"eac3",
|
.name = "eac3",
|
||||||
NULL_IF_CONFIG_SMALL("raw E-AC-3"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw E-AC-3"),
|
||||||
0,
|
.read_probe = eac3_probe,
|
||||||
eac3_probe,
|
.read_header = ff_raw_audio_read_header,
|
||||||
ff_raw_audio_read_header,
|
.read_packet = ff_raw_read_partial_packet,
|
||||||
ff_raw_read_partial_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "eac3",
|
.extensions = "eac3",
|
||||||
.value = CODEC_ID_EAC3,
|
.value = CODEC_ID_EAC3,
|
||||||
|
@ -142,13 +142,13 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_adts_muxer = {
|
AVOutputFormat ff_adts_muxer = {
|
||||||
"adts",
|
.name = "adts",
|
||||||
NULL_IF_CONFIG_SMALL("ADTS AAC"),
|
.long_name = NULL_IF_CONFIG_SMALL("ADTS AAC"),
|
||||||
"audio/aac",
|
.mime_type = "audio/aac",
|
||||||
"aac,adts",
|
.extensions = "aac,adts",
|
||||||
sizeof(ADTSContext),
|
.priv_data_size = sizeof(ADTSContext),
|
||||||
CODEC_ID_AAC,
|
.audio_codec = CODEC_ID_AAC,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
adts_write_header,
|
.write_header = adts_write_header,
|
||||||
adts_write_packet,
|
.write_packet = adts_write_packet,
|
||||||
};
|
};
|
||||||
|
@ -95,14 +95,12 @@ static int aea_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_aea_demuxer = {
|
AVInputFormat ff_aea_demuxer = {
|
||||||
"aea",
|
.name = "aea",
|
||||||
NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
|
.long_name = NULL_IF_CONFIG_SMALL("MD STUDIO audio"),
|
||||||
0,
|
.read_probe = aea_read_probe,
|
||||||
aea_read_probe,
|
.read_header = aea_read_header,
|
||||||
aea_read_header,
|
.read_packet = aea_read_packet,
|
||||||
aea_read_packet,
|
.read_seek = pcm_read_seek,
|
||||||
0,
|
|
||||||
pcm_read_seek,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "aea",
|
.extensions = "aea",
|
||||||
};
|
};
|
||||||
|
@ -320,13 +320,12 @@ static int aiff_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_aiff_demuxer = {
|
AVInputFormat ff_aiff_demuxer = {
|
||||||
"aiff",
|
.name = "aiff",
|
||||||
NULL_IF_CONFIG_SMALL("Audio IFF"),
|
.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||||
sizeof(AIFFInputContext),
|
.priv_data_size = sizeof(AIFFInputContext),
|
||||||
aiff_probe,
|
.read_probe = aiff_probe,
|
||||||
aiff_read_header,
|
.read_header = aiff_read_header,
|
||||||
aiff_read_packet,
|
.read_packet = aiff_read_packet,
|
||||||
NULL,
|
.read_seek = pcm_read_seek,
|
||||||
pcm_read_seek,
|
|
||||||
.codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
|
.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 = {
|
AVOutputFormat ff_aiff_muxer = {
|
||||||
"aiff",
|
.name = "aiff",
|
||||||
NULL_IF_CONFIG_SMALL("Audio IFF"),
|
.long_name = NULL_IF_CONFIG_SMALL("Audio IFF"),
|
||||||
"audio/aiff",
|
.mime_type = "audio/aiff",
|
||||||
"aif,aiff,afc,aifc",
|
.extensions = "aif,aiff,afc,aifc",
|
||||||
sizeof(AIFFOutputContext),
|
.priv_data_size = sizeof(AIFFOutputContext),
|
||||||
CODEC_ID_PCM_S16BE,
|
.audio_codec = CODEC_ID_PCM_S16BE,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
aiff_write_header,
|
.write_header = aiff_write_header,
|
||||||
aiff_write_packet,
|
.write_packet = aiff_write_packet,
|
||||||
aiff_write_trailer,
|
.write_trailer = aiff_write_trailer,
|
||||||
.codec_tag= (const AVCodecTag* const []){ff_codec_aiff_tags, 0},
|
.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
|
#if CONFIG_AMR_DEMUXER
|
||||||
AVInputFormat ff_amr_demuxer = {
|
AVInputFormat ff_amr_demuxer = {
|
||||||
"amr",
|
.name = "amr",
|
||||||
NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||||
0, /*priv_data_size*/
|
.priv_data_size = 0, /*priv_data_size*/
|
||||||
amr_probe,
|
.read_probe = amr_probe,
|
||||||
amr_read_header,
|
.read_header = amr_read_header,
|
||||||
amr_read_packet,
|
.read_packet = amr_read_packet,
|
||||||
NULL,
|
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_AMR_MUXER
|
#if CONFIG_AMR_MUXER
|
||||||
AVOutputFormat ff_amr_muxer = {
|
AVOutputFormat ff_amr_muxer = {
|
||||||
"amr",
|
.name = "amr",
|
||||||
NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("3GPP AMR file format"),
|
||||||
"audio/amr",
|
.mime_type = "audio/amr",
|
||||||
"amr",
|
.extensions = "amr",
|
||||||
0,
|
.audio_codec = CODEC_ID_AMR_NB,
|
||||||
CODEC_ID_AMR_NB,
|
.video_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.write_header = amr_write_header,
|
||||||
amr_write_header,
|
.write_packet = amr_write_packet,
|
||||||
amr_write_packet,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -226,10 +226,10 @@ repeat:
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_anm_demuxer = {
|
AVInputFormat ff_anm_demuxer = {
|
||||||
"anm",
|
.name = "anm",
|
||||||
NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
|
.long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
|
||||||
sizeof(AnmDemuxContext),
|
.priv_data_size = sizeof(AnmDemuxContext),
|
||||||
probe,
|
.read_probe = probe,
|
||||||
read_header,
|
.read_header = read_header,
|
||||||
read_packet,
|
.read_packet = read_packet,
|
||||||
};
|
};
|
||||||
|
@ -81,10 +81,9 @@ static int apc_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_apc_demuxer = {
|
AVInputFormat ff_apc_demuxer = {
|
||||||
"apc",
|
.name = "apc",
|
||||||
NULL_IF_CONFIG_SMALL("CRYO APC format"),
|
.long_name = NULL_IF_CONFIG_SMALL("CRYO APC format"),
|
||||||
0,
|
.read_probe = apc_probe,
|
||||||
apc_probe,
|
.read_header = apc_read_header,
|
||||||
apc_read_header,
|
.read_packet = apc_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 = {
|
AVInputFormat ff_ape_demuxer = {
|
||||||
"ape",
|
.name = "ape",
|
||||||
NULL_IF_CONFIG_SMALL("Monkey's Audio"),
|
.long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
|
||||||
sizeof(APEContext),
|
.priv_data_size = sizeof(APEContext),
|
||||||
ape_probe,
|
.read_probe = ape_probe,
|
||||||
ape_read_header,
|
.read_header = ape_read_header,
|
||||||
ape_read_packet,
|
.read_packet = ape_read_packet,
|
||||||
ape_read_close,
|
.read_close = ape_read_close,
|
||||||
ape_read_seek,
|
.read_seek = ape_read_seek,
|
||||||
.extensions = "ape,apl,mac"
|
.extensions = "ape,apl,mac"
|
||||||
};
|
};
|
||||||
|
@ -668,12 +668,12 @@ static int applehttp_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_applehttp_demuxer = {
|
AVInputFormat ff_applehttp_demuxer = {
|
||||||
"applehttp",
|
.name = "applehttp",
|
||||||
NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
|
||||||
sizeof(AppleHTTPContext),
|
.priv_data_size = sizeof(AppleHTTPContext),
|
||||||
applehttp_probe,
|
.read_probe = applehttp_probe,
|
||||||
applehttp_read_header,
|
.read_header = applehttp_read_header,
|
||||||
applehttp_read_packet,
|
.read_packet = applehttp_read_packet,
|
||||||
applehttp_close,
|
.read_close = applehttp_close,
|
||||||
applehttp_read_seek,
|
.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 = {
|
AVInputFormat ff_asf_demuxer = {
|
||||||
"asf",
|
.name = "asf",
|
||||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||||
sizeof(ASFContext),
|
.priv_data_size = sizeof(ASFContext),
|
||||||
asf_probe,
|
.read_probe = asf_probe,
|
||||||
asf_read_header,
|
.read_header = asf_read_header,
|
||||||
asf_read_packet,
|
.read_packet = asf_read_packet,
|
||||||
asf_read_close,
|
.read_close = asf_read_close,
|
||||||
asf_read_seek,
|
.read_seek = asf_read_seek,
|
||||||
asf_read_pts,
|
.read_timestamp = asf_read_pts,
|
||||||
.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
|
.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH,
|
||||||
};
|
};
|
||||||
|
@ -882,20 +882,20 @@ static int asf_write_trailer(AVFormatContext *s)
|
|||||||
|
|
||||||
#if CONFIG_ASF_MUXER
|
#if CONFIG_ASF_MUXER
|
||||||
AVOutputFormat ff_asf_muxer = {
|
AVOutputFormat ff_asf_muxer = {
|
||||||
"asf",
|
.name = "asf",
|
||||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||||
"video/x-ms-asf",
|
.mime_type = "video/x-ms-asf",
|
||||||
"asf,wmv,wma",
|
.extensions = "asf,wmv,wma",
|
||||||
sizeof(ASFContext),
|
.priv_data_size = sizeof(ASFContext),
|
||||||
#if CONFIG_LIBMP3LAME
|
#if CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_MP3,
|
.audio_codec = CODEC_ID_MP3,
|
||||||
#else
|
#else
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
#endif
|
#endif
|
||||||
CODEC_ID_MSMPEG4V3,
|
.video_codec = CODEC_ID_MSMPEG4V3,
|
||||||
asf_write_header,
|
.write_header = asf_write_header,
|
||||||
asf_write_packet,
|
.write_packet = asf_write_packet,
|
||||||
asf_write_trailer,
|
.write_trailer = asf_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
.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
|
#if CONFIG_ASF_STREAM_MUXER
|
||||||
AVOutputFormat ff_asf_stream_muxer = {
|
AVOutputFormat ff_asf_stream_muxer = {
|
||||||
"asf_stream",
|
.name = "asf_stream",
|
||||||
NULL_IF_CONFIG_SMALL("ASF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("ASF format"),
|
||||||
"video/x-ms-asf",
|
.mime_type = "video/x-ms-asf",
|
||||||
"asf,wmv,wma",
|
.extensions = "asf,wmv,wma",
|
||||||
sizeof(ASFContext),
|
.priv_data_size = sizeof(ASFContext),
|
||||||
#if CONFIG_LIBMP3LAME
|
#if CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_MP3,
|
.audio_codec = CODEC_ID_MP3,
|
||||||
#else
|
#else
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
#endif
|
#endif
|
||||||
CODEC_ID_MSMPEG4V3,
|
.video_codec = CODEC_ID_MSMPEG4V3,
|
||||||
asf_write_stream_header,
|
.write_header = asf_write_stream_header,
|
||||||
asf_write_packet,
|
.write_packet = asf_write_packet,
|
||||||
asf_write_trailer,
|
.write_trailer = asf_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag= (const AVCodecTag* const []){codec_asf_bmp_tags, ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
.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
|
#if CONFIG_AU_DEMUXER
|
||||||
AVInputFormat ff_au_demuxer = {
|
AVInputFormat ff_au_demuxer = {
|
||||||
"au",
|
.name = "au",
|
||||||
NULL_IF_CONFIG_SMALL("SUN AU format"),
|
.long_name = NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||||
0,
|
.read_probe = au_probe,
|
||||||
au_probe,
|
.read_header = au_read_header,
|
||||||
au_read_header,
|
.read_packet = au_read_packet,
|
||||||
au_read_packet,
|
.read_seek = pcm_read_seek,
|
||||||
NULL,
|
|
||||||
pcm_read_seek,
|
|
||||||
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_AU_MUXER
|
#if CONFIG_AU_MUXER
|
||||||
AVOutputFormat ff_au_muxer = {
|
AVOutputFormat ff_au_muxer = {
|
||||||
"au",
|
.name = "au",
|
||||||
NULL_IF_CONFIG_SMALL("SUN AU format"),
|
.long_name = NULL_IF_CONFIG_SMALL("SUN AU format"),
|
||||||
"audio/basic",
|
.mime_type = "audio/basic",
|
||||||
"au",
|
.extensions = "au",
|
||||||
0,
|
.audio_codec = CODEC_ID_PCM_S16BE,
|
||||||
CODEC_ID_PCM_S16BE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.write_header = au_write_header,
|
||||||
au_write_header,
|
.write_packet = au_write_packet,
|
||||||
au_write_packet,
|
.write_trailer = au_write_trailer,
|
||||||
au_write_trailer,
|
|
||||||
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
.codec_tag= (const AVCodecTag* const []){codec_au_tags, 0},
|
||||||
};
|
};
|
||||||
#endif //CONFIG_AU_MUXER
|
#endif //CONFIG_AU_MUXER
|
||||||
|
@ -1446,13 +1446,13 @@ static int avi_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_avi_demuxer = {
|
AVInputFormat ff_avi_demuxer = {
|
||||||
"avi",
|
.name = "avi",
|
||||||
NULL_IF_CONFIG_SMALL("AVI format"),
|
.long_name = NULL_IF_CONFIG_SMALL("AVI format"),
|
||||||
sizeof(AVIContext),
|
.priv_data_size = sizeof(AVIContext),
|
||||||
avi_probe,
|
.read_probe = avi_probe,
|
||||||
avi_read_header,
|
.read_header = avi_read_header,
|
||||||
avi_read_packet,
|
.read_packet = avi_read_packet,
|
||||||
avi_read_close,
|
.read_close = avi_read_close,
|
||||||
avi_read_seek,
|
.read_seek = avi_read_seek,
|
||||||
.priv_class = &demuxer_class,
|
.priv_class = &demuxer_class,
|
||||||
};
|
};
|
||||||
|
@ -639,16 +639,16 @@ static int avi_write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_avi_muxer = {
|
AVOutputFormat ff_avi_muxer = {
|
||||||
"avi",
|
.name = "avi",
|
||||||
NULL_IF_CONFIG_SMALL("AVI format"),
|
.long_name = NULL_IF_CONFIG_SMALL("AVI format"),
|
||||||
"video/x-msvideo",
|
.mime_type = "video/x-msvideo",
|
||||||
"avi",
|
.extensions = "avi",
|
||||||
sizeof(AVIContext),
|
.priv_data_size = sizeof(AVIContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG4,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
avi_write_header,
|
.write_header = avi_write_header,
|
||||||
avi_write_packet,
|
.write_packet = avi_write_packet,
|
||||||
avi_write_trailer,
|
.write_trailer = avi_write_trailer,
|
||||||
.codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
.codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||||
.flags= AVFMT_VARIABLE_FPS,
|
.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 = {
|
AVInputFormat ff_avisynth_demuxer = {
|
||||||
"avs",
|
.name = "avs",
|
||||||
NULL_IF_CONFIG_SMALL("AVISynth"),
|
.long_name = NULL_IF_CONFIG_SMALL("AVISynth"),
|
||||||
sizeof(AVISynthContext),
|
.priv_data_size = sizeof(AVISynthContext),
|
||||||
NULL,
|
.read_header = avisynth_read_header,
|
||||||
avisynth_read_header,
|
.read_packet = avisynth_read_packet,
|
||||||
avisynth_read_packet,
|
.read_close = avisynth_read_close,
|
||||||
avisynth_read_close,
|
.read_seek = avisynth_read_seek,
|
||||||
avisynth_read_seek,
|
.extensions = "avs",
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
"avs",
|
|
||||||
};
|
};
|
||||||
|
@ -216,11 +216,11 @@ static int avs_read_close(AVFormatContext * s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_avs_demuxer = {
|
AVInputFormat ff_avs_demuxer = {
|
||||||
"avs",
|
.name = "avs",
|
||||||
NULL_IF_CONFIG_SMALL("AVS format"),
|
.long_name = NULL_IF_CONFIG_SMALL("AVS format"),
|
||||||
sizeof(AvsFormat),
|
.priv_data_size = sizeof(AvsFormat),
|
||||||
avs_probe,
|
.read_probe = avs_probe,
|
||||||
avs_read_header,
|
.read_header = avs_read_header,
|
||||||
avs_read_packet,
|
.read_packet = avs_read_packet,
|
||||||
avs_read_close,
|
.read_close = avs_read_close,
|
||||||
};
|
};
|
||||||
|
@ -223,10 +223,10 @@ static int vid_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_bethsoftvid_demuxer = {
|
AVInputFormat ff_bethsoftvid_demuxer = {
|
||||||
"bethsoftvid",
|
.name = "bethsoftvid",
|
||||||
NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Bethesda Softworks VID format"),
|
||||||
sizeof(BVID_DemuxContext),
|
.priv_data_size = sizeof(BVID_DemuxContext),
|
||||||
vid_probe,
|
.read_probe = vid_probe,
|
||||||
vid_read_header,
|
.read_header = vid_read_header,
|
||||||
vid_read_packet,
|
.read_packet = vid_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -159,10 +159,10 @@ static int bfi_read_packet(AVFormatContext * s, AVPacket * pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_bfi_demuxer = {
|
AVInputFormat ff_bfi_demuxer = {
|
||||||
"bfi",
|
.name = "bfi",
|
||||||
NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
|
.long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
|
||||||
sizeof(BFIContext),
|
.priv_data_size = sizeof(BFIContext),
|
||||||
bfi_probe,
|
.read_probe = bfi_probe,
|
||||||
bfi_read_header,
|
.read_header = bfi_read_header,
|
||||||
bfi_read_packet,
|
.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 = {
|
AVInputFormat ff_bink_demuxer = {
|
||||||
"bink",
|
.name = "bink",
|
||||||
NULL_IF_CONFIG_SMALL("Bink"),
|
.long_name = NULL_IF_CONFIG_SMALL("Bink"),
|
||||||
sizeof(BinkDemuxContext),
|
.priv_data_size = sizeof(BinkDemuxContext),
|
||||||
probe,
|
.read_probe = probe,
|
||||||
read_header,
|
.read_header = read_header,
|
||||||
read_packet,
|
.read_packet = read_packet,
|
||||||
NULL,
|
.read_seek = read_seek,
|
||||||
read_seek,
|
|
||||||
};
|
};
|
||||||
|
@ -193,10 +193,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_c93_demuxer = {
|
AVInputFormat ff_c93_demuxer = {
|
||||||
"c93",
|
.name = "c93",
|
||||||
NULL_IF_CONFIG_SMALL("Interplay C93"),
|
.long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
|
||||||
sizeof(C93DemuxContext),
|
.priv_data_size = sizeof(C93DemuxContext),
|
||||||
probe,
|
.read_probe = probe,
|
||||||
read_header,
|
.read_header = read_header,
|
||||||
read_packet,
|
.read_packet = read_packet,
|
||||||
};
|
};
|
||||||
|
@ -390,13 +390,12 @@ static int read_seek(AVFormatContext *s, int stream_index,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_caf_demuxer = {
|
AVInputFormat ff_caf_demuxer = {
|
||||||
"caf",
|
.name = "caf",
|
||||||
NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Apple Core Audio Format"),
|
||||||
sizeof(CaffContext),
|
.priv_data_size = sizeof(CaffContext),
|
||||||
probe,
|
.read_probe = probe,
|
||||||
read_header,
|
.read_header = read_header,
|
||||||
read_packet,
|
.read_packet = read_packet,
|
||||||
NULL,
|
.read_seek = read_seek,
|
||||||
read_seek,
|
|
||||||
.codec_tag = (const AVCodecTag*[]){ff_codec_caf_tags, 0},
|
.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 = {
|
AVInputFormat ff_cdg_demuxer = {
|
||||||
"cdg",
|
.name = "cdg",
|
||||||
NULL_IF_CONFIG_SMALL("CD Graphics Format"),
|
.long_name = NULL_IF_CONFIG_SMALL("CD Graphics Format"),
|
||||||
0,
|
.read_header = read_header,
|
||||||
NULL,
|
.read_packet = read_packet,
|
||||||
read_header,
|
|
||||||
read_packet,
|
|
||||||
.extensions = "cdg"
|
.extensions = "cdg"
|
||||||
};
|
};
|
||||||
|
@ -55,14 +55,13 @@ static int crc_write_trailer(struct AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_crc_muxer = {
|
AVOutputFormat ff_crc_muxer = {
|
||||||
"crc",
|
.name = "crc",
|
||||||
NULL_IF_CONFIG_SMALL("CRC testing format"),
|
.long_name = NULL_IF_CONFIG_SMALL("CRC testing format"),
|
||||||
NULL,
|
.extensions = "",
|
||||||
"",
|
.priv_data_size = sizeof(CRCState),
|
||||||
sizeof(CRCState),
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
CODEC_ID_RAWVIDEO,
|
.write_header = crc_write_header,
|
||||||
crc_write_header,
|
.write_packet = crc_write_packet,
|
||||||
crc_write_packet,
|
.write_trailer = crc_write_trailer,
|
||||||
crc_write_trailer,
|
|
||||||
};
|
};
|
||||||
|
@ -71,14 +71,10 @@ static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
|||||||
|
|
||||||
#if CONFIG_DAUD_DEMUXER
|
#if CONFIG_DAUD_DEMUXER
|
||||||
AVInputFormat ff_daud_demuxer = {
|
AVInputFormat ff_daud_demuxer = {
|
||||||
"daud",
|
.name = "daud",
|
||||||
NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
.long_name = NULL_IF_CONFIG_SMALL("D-Cinema audio format"),
|
||||||
0,
|
.read_header = daud_header,
|
||||||
NULL,
|
.read_packet = daud_packet,
|
||||||
daud_header,
|
|
||||||
daud_packet,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
.extensions = "302",
|
.extensions = "302",
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -109,11 +109,10 @@ static int dfa_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_dfa_demuxer = {
|
AVInputFormat ff_dfa_demuxer = {
|
||||||
"dfa",
|
.name = "dfa",
|
||||||
NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
|
.long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
|
||||||
0,
|
.read_probe = dfa_probe,
|
||||||
dfa_probe,
|
.read_header = dfa_read_header,
|
||||||
dfa_read_header,
|
.read_packet = dfa_read_packet,
|
||||||
dfa_read_packet,
|
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
};
|
};
|
||||||
|
@ -217,10 +217,10 @@ static int cin_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_dsicin_demuxer = {
|
AVInputFormat ff_dsicin_demuxer = {
|
||||||
"dsicin",
|
.name = "dsicin",
|
||||||
NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN format"),
|
||||||
sizeof(CinDemuxContext),
|
.priv_data_size = sizeof(CinDemuxContext),
|
||||||
cin_probe,
|
.read_probe = cin_probe,
|
||||||
cin_read_header,
|
.read_header = cin_read_header,
|
||||||
cin_read_packet,
|
.read_packet = cin_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -66,12 +66,11 @@ static int dts_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_dts_demuxer = {
|
AVInputFormat ff_dts_demuxer = {
|
||||||
"dts",
|
.name = "dts",
|
||||||
NULL_IF_CONFIG_SMALL("raw DTS"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw DTS"),
|
||||||
0,
|
.read_probe = dts_probe,
|
||||||
dts_probe,
|
.read_header = ff_raw_audio_read_header,
|
||||||
ff_raw_audio_read_header,
|
.read_packet = ff_raw_read_partial_packet,
|
||||||
ff_raw_read_partial_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "dts",
|
.extensions = "dts",
|
||||||
.value = CODEC_ID_DTS,
|
.value = CODEC_ID_DTS,
|
||||||
|
@ -523,14 +523,14 @@ static int dv_probe(AVProbeData *p)
|
|||||||
|
|
||||||
#if CONFIG_DV_DEMUXER
|
#if CONFIG_DV_DEMUXER
|
||||||
AVInputFormat ff_dv_demuxer = {
|
AVInputFormat ff_dv_demuxer = {
|
||||||
"dv",
|
.name = "dv",
|
||||||
NULL_IF_CONFIG_SMALL("DV video format"),
|
.long_name = NULL_IF_CONFIG_SMALL("DV video format"),
|
||||||
sizeof(RawDVContext),
|
.priv_data_size = sizeof(RawDVContext),
|
||||||
dv_probe,
|
.read_probe = dv_probe,
|
||||||
dv_read_header,
|
.read_header = dv_read_header,
|
||||||
dv_read_packet,
|
.read_packet = dv_read_packet,
|
||||||
dv_read_close,
|
.read_close = dv_read_close,
|
||||||
dv_read_seek,
|
.read_seek = dv_read_seek,
|
||||||
.extensions = "dv,dif",
|
.extensions = "dv,dif",
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -408,14 +408,13 @@ static int dv_write_trailer(struct AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_dv_muxer = {
|
AVOutputFormat ff_dv_muxer = {
|
||||||
"dv",
|
.name = "dv",
|
||||||
NULL_IF_CONFIG_SMALL("DV video format"),
|
.long_name = NULL_IF_CONFIG_SMALL("DV video format"),
|
||||||
NULL,
|
.extensions = "dv",
|
||||||
"dv",
|
.priv_data_size = sizeof(DVMuxContext),
|
||||||
sizeof(DVMuxContext),
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_DVVIDEO,
|
||||||
CODEC_ID_DVVIDEO,
|
.write_header = dv_write_header,
|
||||||
dv_write_header,
|
.write_packet = dv_write_packet,
|
||||||
dv_write_packet,
|
.write_trailer = dv_write_trailer,
|
||||||
dv_write_trailer,
|
|
||||||
};
|
};
|
||||||
|
@ -213,10 +213,10 @@ static int dxa_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_dxa_demuxer = {
|
AVInputFormat ff_dxa_demuxer = {
|
||||||
"dxa",
|
.name = "dxa",
|
||||||
NULL_IF_CONFIG_SMALL("DXA"),
|
.long_name = NULL_IF_CONFIG_SMALL("DXA"),
|
||||||
sizeof(DXAContext),
|
.priv_data_size = sizeof(DXAContext),
|
||||||
dxa_probe,
|
.read_probe = dxa_probe,
|
||||||
dxa_read_header,
|
.read_header = dxa_read_header,
|
||||||
dxa_read_packet,
|
.read_packet = dxa_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -95,11 +95,11 @@ static int cdata_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ea_cdata_demuxer = {
|
AVInputFormat ff_ea_cdata_demuxer = {
|
||||||
"ea_cdata",
|
.name = "ea_cdata",
|
||||||
NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
|
.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts cdata"),
|
||||||
sizeof(CdataDemuxContext),
|
.priv_data_size = sizeof(CdataDemuxContext),
|
||||||
cdata_probe,
|
.read_probe = cdata_probe,
|
||||||
cdata_read_header,
|
.read_header = cdata_read_header,
|
||||||
cdata_read_packet,
|
.read_packet = cdata_read_packet,
|
||||||
.extensions = "cdata",
|
.extensions = "cdata",
|
||||||
};
|
};
|
||||||
|
@ -571,10 +571,10 @@ get_video_packet:
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ea_demuxer = {
|
AVInputFormat ff_ea_demuxer = {
|
||||||
"ea",
|
.name = "ea",
|
||||||
NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Multimedia Format"),
|
||||||
sizeof(EaDemuxContext),
|
.priv_data_size = sizeof(EaDemuxContext),
|
||||||
ea_probe,
|
.read_probe = ea_probe,
|
||||||
ea_read_header,
|
.read_header = ea_read_header,
|
||||||
ea_read_packet,
|
.read_packet = ea_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -508,12 +508,12 @@ static int ffm_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ffm_demuxer = {
|
AVInputFormat ff_ffm_demuxer = {
|
||||||
"ffm",
|
.name = "ffm",
|
||||||
NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
.long_name = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||||
sizeof(FFMContext),
|
.priv_data_size = sizeof(FFMContext),
|
||||||
ffm_probe,
|
.read_probe = ffm_probe,
|
||||||
ffm_read_header,
|
.read_header = ffm_read_header,
|
||||||
ffm_read_packet,
|
.read_packet = ffm_read_packet,
|
||||||
ffm_close,
|
.read_close = ffm_close,
|
||||||
ffm_seek,
|
.read_seek = ffm_seek,
|
||||||
};
|
};
|
||||||
|
@ -241,15 +241,14 @@ static int ffm_write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_ffm_muxer = {
|
AVOutputFormat ff_ffm_muxer = {
|
||||||
"ffm",
|
.name = "ffm",
|
||||||
NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
.long_name = NULL_IF_CONFIG_SMALL("FFM (FFserver live feed) format"),
|
||||||
"",
|
.mime_type = "",
|
||||||
"ffm",
|
.extensions = "ffm",
|
||||||
sizeof(FFMContext),
|
.priv_data_size = sizeof(FFMContext),
|
||||||
/* not really used */
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MP2,
|
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||||
CODEC_ID_MPEG1VIDEO,
|
.write_header = ffm_write_header,
|
||||||
ffm_write_header,
|
.write_packet = ffm_write_packet,
|
||||||
ffm_write_packet,
|
.write_trailer = ffm_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 = {
|
AVInputFormat ff_filmstrip_demuxer = {
|
||||||
"filmstrip",
|
.name = "filmstrip",
|
||||||
NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
.long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||||
sizeof(FilmstripDemuxContext),
|
.priv_data_size = sizeof(FilmstripDemuxContext),
|
||||||
NULL,
|
.read_header = read_header,
|
||||||
read_header,
|
.read_packet = read_packet,
|
||||||
read_packet,
|
.read_seek = read_seek,
|
||||||
NULL,
|
|
||||||
read_seek,
|
|
||||||
.extensions = "flm",
|
.extensions = "flm",
|
||||||
};
|
};
|
||||||
|
@ -72,14 +72,13 @@ static int write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_filmstrip_muxer = {
|
AVOutputFormat ff_filmstrip_muxer = {
|
||||||
"filmstrip",
|
.name = "filmstrip",
|
||||||
NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
.long_name = NULL_IF_CONFIG_SMALL("Adobe Filmstrip"),
|
||||||
NULL,
|
.extensions = "flm",
|
||||||
"flm",
|
.priv_data_size = sizeof(FilmstripMuxContext),
|
||||||
sizeof(FilmstripMuxContext),
|
.audio_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
CODEC_ID_RAWVIDEO,
|
.write_header = write_header,
|
||||||
write_header,
|
.write_packet = write_packet,
|
||||||
write_packet,
|
.write_trailer = write_trailer,
|
||||||
write_trailer,
|
|
||||||
};
|
};
|
||||||
|
@ -124,12 +124,11 @@ static int flac_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_flac_demuxer = {
|
AVInputFormat ff_flac_demuxer = {
|
||||||
"flac",
|
.name = "flac",
|
||||||
NULL_IF_CONFIG_SMALL("raw FLAC"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||||
0,
|
.read_probe = flac_probe,
|
||||||
flac_probe,
|
.read_header = flac_read_header,
|
||||||
flac_read_header,
|
.read_packet = ff_raw_read_partial_packet,
|
||||||
ff_raw_read_partial_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "flac",
|
.extensions = "flac",
|
||||||
.value = CODEC_ID_FLAC,
|
.value = CODEC_ID_FLAC,
|
||||||
|
@ -118,15 +118,14 @@ static int flac_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_flac_muxer = {
|
AVOutputFormat ff_flac_muxer = {
|
||||||
"flac",
|
.name = "flac",
|
||||||
NULL_IF_CONFIG_SMALL("raw FLAC"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
|
||||||
"audio/x-flac",
|
.mime_type = "audio/x-flac",
|
||||||
"flac",
|
.extensions = "flac",
|
||||||
0,
|
.audio_codec = CODEC_ID_FLAC,
|
||||||
CODEC_ID_FLAC,
|
.video_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.write_header = flac_write_header,
|
||||||
flac_write_header,
|
.write_packet = flac_write_packet,
|
||||||
flac_write_packet,
|
.write_trailer = flac_write_trailer,
|
||||||
flac_write_trailer,
|
|
||||||
.flags= AVFMT_NOTIMESTAMPS,
|
.flags= AVFMT_NOTIMESTAMPS,
|
||||||
};
|
};
|
||||||
|
@ -261,10 +261,10 @@ static int flic_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_flic_demuxer = {
|
AVInputFormat ff_flic_demuxer = {
|
||||||
"flic",
|
.name = "flic",
|
||||||
NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
|
.long_name = NULL_IF_CONFIG_SMALL("FLI/FLC/FLX animation format"),
|
||||||
sizeof(FlicDemuxContext),
|
.priv_data_size = sizeof(FlicDemuxContext),
|
||||||
flic_probe,
|
.read_probe = flic_probe,
|
||||||
flic_read_header,
|
.read_header = flic_read_header,
|
||||||
flic_read_packet,
|
.read_packet = flic_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -560,12 +560,12 @@ static int flv_read_seek2(AVFormatContext *s, int stream_index,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
AVInputFormat ff_flv_demuxer = {
|
AVInputFormat ff_flv_demuxer = {
|
||||||
"flv",
|
.name = "flv",
|
||||||
NULL_IF_CONFIG_SMALL("FLV format"),
|
.long_name = NULL_IF_CONFIG_SMALL("FLV format"),
|
||||||
sizeof(FLVContext),
|
.priv_data_size = sizeof(FLVContext),
|
||||||
flv_probe,
|
.read_probe = flv_probe,
|
||||||
flv_read_header,
|
.read_header = flv_read_header,
|
||||||
flv_read_packet,
|
.read_packet = flv_read_packet,
|
||||||
.read_seek = flv_read_seek,
|
.read_seek = flv_read_seek,
|
||||||
#if 0
|
#if 0
|
||||||
.read_seek2 = flv_read_seek2,
|
.read_seek2 = flv_read_seek2,
|
||||||
|
@ -446,20 +446,20 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_flv_muxer = {
|
AVOutputFormat ff_flv_muxer = {
|
||||||
"flv",
|
.name = "flv",
|
||||||
NULL_IF_CONFIG_SMALL("FLV format"),
|
.long_name = NULL_IF_CONFIG_SMALL("FLV format"),
|
||||||
"video/x-flv",
|
.mime_type = "video/x-flv",
|
||||||
"flv",
|
.extensions = "flv",
|
||||||
sizeof(FLVContext),
|
.priv_data_size = sizeof(FLVContext),
|
||||||
#if CONFIG_LIBMP3LAME
|
#if CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_MP3,
|
.audio_codec = CODEC_ID_MP3,
|
||||||
#else // CONFIG_LIBMP3LAME
|
#else // CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_ADPCM_SWF,
|
.audio_codec = CODEC_ID_ADPCM_SWF,
|
||||||
#endif // CONFIG_LIBMP3LAME
|
#endif // CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_FLV1,
|
.video_codec = CODEC_ID_FLV1,
|
||||||
flv_write_header,
|
.write_header = flv_write_header,
|
||||||
flv_write_packet,
|
.write_packet = flv_write_packet,
|
||||||
flv_write_trailer,
|
.write_trailer = flv_write_trailer,
|
||||||
.codec_tag= (const AVCodecTag* const []){flv_video_codec_ids, flv_audio_codec_ids, 0},
|
.codec_tag= (const AVCodecTag* const []){flv_video_codec_ids, flv_audio_codec_ids, 0},
|
||||||
.flags= AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
.flags= AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
||||||
};
|
};
|
||||||
|
@ -34,14 +34,10 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_framecrc_muxer = {
|
AVOutputFormat ff_framecrc_muxer = {
|
||||||
"framecrc",
|
.name = "framecrc",
|
||||||
NULL_IF_CONFIG_SMALL("framecrc testing format"),
|
.long_name = NULL_IF_CONFIG_SMALL("framecrc testing format"),
|
||||||
NULL,
|
.extensions = "",
|
||||||
"",
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
0,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
CODEC_ID_PCM_S16LE,
|
.write_packet = framecrc_write_packet,
|
||||||
CODEC_ID_RAWVIDEO,
|
|
||||||
NULL,
|
|
||||||
framecrc_write_packet,
|
|
||||||
NULL,
|
|
||||||
};
|
};
|
||||||
|
@ -363,15 +363,15 @@ static const AVClass gif_muxer_class = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
AVOutputFormat ff_gif_muxer = {
|
AVOutputFormat ff_gif_muxer = {
|
||||||
"gif",
|
.name = "gif",
|
||||||
NULL_IF_CONFIG_SMALL("GIF Animation"),
|
.long_name = NULL_IF_CONFIG_SMALL("GIF Animation"),
|
||||||
"image/gif",
|
.mime_type = "image/gif",
|
||||||
"gif",
|
.extensions = "gif",
|
||||||
sizeof(GIFContext),
|
.priv_data_size = sizeof(GIFContext),
|
||||||
CODEC_ID_NONE,
|
.audio_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_RAWVIDEO,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
gif_write_header,
|
.write_header = gif_write_header,
|
||||||
gif_write_packet,
|
.write_packet = gif_write_packet,
|
||||||
gif_write_trailer,
|
.write_trailer = gif_write_trailer,
|
||||||
.priv_class = &gif_muxer_class,
|
.priv_class = &gif_muxer_class,
|
||||||
};
|
};
|
||||||
|
@ -523,13 +523,12 @@ static int64_t gxf_read_timestamp(AVFormatContext *s, int stream_index,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_gxf_demuxer = {
|
AVInputFormat ff_gxf_demuxer = {
|
||||||
"gxf",
|
.name = "gxf",
|
||||||
NULL_IF_CONFIG_SMALL("GXF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("GXF format"),
|
||||||
sizeof(struct gxf_stream_info),
|
.priv_data_size = sizeof(struct gxf_stream_info),
|
||||||
gxf_probe,
|
.read_probe = gxf_probe,
|
||||||
gxf_header,
|
.read_header = gxf_header,
|
||||||
gxf_packet,
|
.read_packet = gxf_packet,
|
||||||
NULL,
|
.read_seek = gxf_seek,
|
||||||
gxf_seek,
|
.read_timestamp = gxf_read_timestamp,
|
||||||
gxf_read_timestamp,
|
|
||||||
};
|
};
|
||||||
|
@ -943,17 +943,14 @@ static int gxf_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *pk
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_gxf_muxer = {
|
AVOutputFormat ff_gxf_muxer = {
|
||||||
"gxf",
|
.name = "gxf",
|
||||||
NULL_IF_CONFIG_SMALL("GXF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("GXF format"),
|
||||||
NULL,
|
.extensions = "gxf",
|
||||||
"gxf",
|
.priv_data_size = sizeof(GXFContext),
|
||||||
sizeof(GXFContext),
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.write_header = gxf_write_header,
|
||||||
gxf_write_header,
|
.write_packet = gxf_write_packet,
|
||||||
gxf_write_packet,
|
.write_trailer = gxf_write_trailer,
|
||||||
gxf_write_trailer,
|
.interleave_packet = gxf_interleave_packet,
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
gxf_interleave_packet,
|
|
||||||
};
|
};
|
||||||
|
@ -292,10 +292,10 @@ static int idcin_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_idcin_demuxer = {
|
AVInputFormat ff_idcin_demuxer = {
|
||||||
"idcin",
|
.name = "idcin",
|
||||||
NULL_IF_CONFIG_SMALL("id Cinematic format"),
|
.long_name = NULL_IF_CONFIG_SMALL("id Cinematic format"),
|
||||||
sizeof(IdcinDemuxContext),
|
.priv_data_size = sizeof(IdcinDemuxContext),
|
||||||
idcin_probe,
|
.read_probe = idcin_probe,
|
||||||
idcin_read_header,
|
.read_header = idcin_read_header,
|
||||||
idcin_read_packet,
|
.read_packet = idcin_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -216,10 +216,10 @@ static int roq_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_roq_demuxer = {
|
AVInputFormat ff_roq_demuxer = {
|
||||||
"RoQ",
|
.name = "RoQ",
|
||||||
NULL_IF_CONFIG_SMALL("id RoQ format"),
|
.long_name = NULL_IF_CONFIG_SMALL("id RoQ format"),
|
||||||
sizeof(RoqDemuxContext),
|
.priv_data_size = sizeof(RoqDemuxContext),
|
||||||
roq_probe,
|
.read_probe = roq_probe,
|
||||||
roq_read_header,
|
.read_header = roq_read_header,
|
||||||
roq_read_packet,
|
.read_packet = roq_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -340,10 +340,10 @@ static int iff_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_iff_demuxer = {
|
AVInputFormat ff_iff_demuxer = {
|
||||||
"IFF",
|
.name = "IFF",
|
||||||
NULL_IF_CONFIG_SMALL("IFF format"),
|
.long_name = NULL_IF_CONFIG_SMALL("IFF format"),
|
||||||
sizeof(IffDemuxContext),
|
.priv_data_size = sizeof(IffDemuxContext),
|
||||||
iff_probe,
|
.read_probe = iff_probe,
|
||||||
iff_read_header,
|
.read_header = iff_read_header,
|
||||||
iff_read_packet,
|
.read_packet = iff_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -59,12 +59,11 @@ static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ingenient_demuxer = {
|
AVInputFormat ff_ingenient_demuxer = {
|
||||||
"ingenient",
|
.name = "ingenient",
|
||||||
NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw Ingenient MJPEG"),
|
||||||
sizeof(FFRawVideoDemuxerContext),
|
.priv_data_size = sizeof(FFRawVideoDemuxerContext),
|
||||||
NULL,
|
.read_header = ff_raw_video_read_header,
|
||||||
ff_raw_video_read_header,
|
.read_packet = ingenient_read_packet,
|
||||||
ingenient_read_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "cgi", // FIXME
|
.extensions = "cgi", // FIXME
|
||||||
.value = CODEC_ID_MJPEG,
|
.value = CODEC_ID_MJPEG,
|
||||||
|
@ -616,10 +616,10 @@ static int ipmovie_read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ipmovie_demuxer = {
|
AVInputFormat ff_ipmovie_demuxer = {
|
||||||
"ipmovie",
|
.name = "ipmovie",
|
||||||
NULL_IF_CONFIG_SMALL("Interplay MVE format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Interplay MVE format"),
|
||||||
sizeof(IPMVEContext),
|
.priv_data_size = sizeof(IPMVEContext),
|
||||||
ipmovie_probe,
|
.read_probe = ipmovie_probe,
|
||||||
ipmovie_read_header,
|
.read_header = ipmovie_read_header,
|
||||||
ipmovie_read_packet,
|
.read_packet = ipmovie_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -122,11 +122,11 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_iss_demuxer = {
|
AVInputFormat ff_iss_demuxer = {
|
||||||
"ISS",
|
.name = "ISS",
|
||||||
NULL_IF_CONFIG_SMALL("Funcom ISS format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Funcom ISS format"),
|
||||||
sizeof(IssDemuxContext),
|
.priv_data_size = sizeof(IssDemuxContext),
|
||||||
iss_probe,
|
.read_probe = iss_probe,
|
||||||
iss_read_header,
|
.read_header = iss_read_header,
|
||||||
iss_read_packet,
|
.read_packet = iss_read_packet,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -85,12 +85,11 @@ retry:
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_iv8_demuxer = {
|
AVInputFormat ff_iv8_demuxer = {
|
||||||
"iv8",
|
.name = "iv8",
|
||||||
NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
|
.long_name = NULL_IF_CONFIG_SMALL("A format generated by IndigoVision 8000 video server"),
|
||||||
0,
|
.read_probe = probe,
|
||||||
probe,
|
.read_header = read_header,
|
||||||
read_header,
|
.read_packet = read_packet,
|
||||||
read_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.value = CODEC_ID_MPEG4,
|
.value = CODEC_ID_MPEG4,
|
||||||
};
|
};
|
||||||
|
@ -80,12 +80,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_ivf_demuxer = {
|
AVInputFormat ff_ivf_demuxer = {
|
||||||
"ivf",
|
.name = "ivf",
|
||||||
NULL_IF_CONFIG_SMALL("On2 IVF"),
|
.long_name = NULL_IF_CONFIG_SMALL("On2 IVF"),
|
||||||
0,
|
.read_probe = probe,
|
||||||
probe,
|
.read_header = read_header,
|
||||||
read_header,
|
.read_packet = read_packet,
|
||||||
read_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.codec_tag = (const AVCodecTag*[]){ff_codec_bmp_tags, 0},
|
.codec_tag = (const AVCodecTag*[]){ff_codec_bmp_tags, 0},
|
||||||
};
|
};
|
||||||
|
@ -151,16 +151,16 @@ static int nut_write_trailer(AVFormatContext * avf) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_libnut_muxer = {
|
AVOutputFormat ff_libnut_muxer = {
|
||||||
"libnut",
|
.name = "libnut",
|
||||||
"nut format",
|
.long_name = "nut format",
|
||||||
"video/x-nut",
|
.mime_type = "video/x-nut",
|
||||||
"nut",
|
.extensions = "nut",
|
||||||
sizeof(NUTContext),
|
.priv_data_size = sizeof(NUTContext),
|
||||||
CODEC_ID_VORBIS,
|
.audio_codec = CODEC_ID_VORBIS,
|
||||||
CODEC_ID_MPEG4,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
nut_write_header,
|
.write_header = nut_write_header,
|
||||||
nut_write_packet,
|
.write_packet = nut_write_packet,
|
||||||
nut_write_trailer,
|
.write_trailer = nut_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_LIBNUT_MUXER */
|
#endif /* CONFIG_LIBNUT_MUXER */
|
||||||
@ -298,13 +298,13 @@ static int nut_read_close(AVFormatContext *s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_libnut_demuxer = {
|
AVInputFormat ff_libnut_demuxer = {
|
||||||
"libnut",
|
.name = "libnut",
|
||||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||||
sizeof(NUTContext),
|
.priv_data_size = sizeof(NUTContext),
|
||||||
nut_probe,
|
.read_probe = nut_probe,
|
||||||
nut_read_header,
|
.read_header = nut_read_header,
|
||||||
nut_read_packet,
|
.read_packet = nut_read_packet,
|
||||||
nut_read_close,
|
.read_close = nut_read_close,
|
||||||
nut_read_seek,
|
.read_seek = nut_read_seek,
|
||||||
.extensions = "nut",
|
.extensions = "nut",
|
||||||
};
|
};
|
||||||
|
@ -118,10 +118,9 @@ static int lmlm4_read_packet(AVFormatContext *s, AVPacket *pkt) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_lmlm4_demuxer = {
|
AVInputFormat ff_lmlm4_demuxer = {
|
||||||
"lmlm4",
|
.name = "lmlm4",
|
||||||
NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
|
.long_name = NULL_IF_CONFIG_SMALL("lmlm4 raw format"),
|
||||||
0,
|
.read_probe = lmlm4_probe,
|
||||||
lmlm4_probe,
|
.read_header = lmlm4_read_header,
|
||||||
lmlm4_read_header,
|
.read_packet = lmlm4_read_packet,
|
||||||
lmlm4_read_packet,
|
|
||||||
};
|
};
|
||||||
|
@ -2055,12 +2055,12 @@ static int matroska_read_close(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_matroska_demuxer = {
|
AVInputFormat ff_matroska_demuxer = {
|
||||||
"matroska,webm",
|
.name = "matroska,webm",
|
||||||
NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Matroska/WebM file format"),
|
||||||
sizeof(MatroskaDemuxContext),
|
.priv_data_size = sizeof(MatroskaDemuxContext),
|
||||||
matroska_probe,
|
.read_probe = matroska_probe,
|
||||||
matroska_read_header,
|
.read_header = matroska_read_header,
|
||||||
matroska_read_packet,
|
.read_packet = matroska_read_packet,
|
||||||
matroska_read_close,
|
.read_close = matroska_read_close,
|
||||||
matroska_read_seek,
|
.read_seek = matroska_read_seek,
|
||||||
};
|
};
|
||||||
|
@ -1200,16 +1200,16 @@ static int mkv_write_trailer(AVFormatContext *s)
|
|||||||
|
|
||||||
#if CONFIG_MATROSKA_MUXER
|
#if CONFIG_MATROSKA_MUXER
|
||||||
AVOutputFormat ff_matroska_muxer = {
|
AVOutputFormat ff_matroska_muxer = {
|
||||||
"matroska",
|
.name = "matroska",
|
||||||
NULL_IF_CONFIG_SMALL("Matroska file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||||
"video/x-matroska",
|
.mime_type = "video/x-matroska",
|
||||||
"mkv",
|
.extensions = "mkv",
|
||||||
sizeof(MatroskaMuxContext),
|
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG4,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
mkv_write_header,
|
.write_header = mkv_write_header,
|
||||||
mkv_write_packet,
|
.write_packet = mkv_write_packet,
|
||||||
mkv_write_trailer,
|
.write_trailer = mkv_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
||||||
.codec_tag = (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
.codec_tag = (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
|
||||||
.subtitle_codec = CODEC_ID_SSA,
|
.subtitle_codec = CODEC_ID_SSA,
|
||||||
@ -1218,32 +1218,32 @@ AVOutputFormat ff_matroska_muxer = {
|
|||||||
|
|
||||||
#if CONFIG_WEBM_MUXER
|
#if CONFIG_WEBM_MUXER
|
||||||
AVOutputFormat ff_webm_muxer = {
|
AVOutputFormat ff_webm_muxer = {
|
||||||
"webm",
|
.name = "webm",
|
||||||
NULL_IF_CONFIG_SMALL("WebM file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("WebM file format"),
|
||||||
"video/webm",
|
.mime_type = "video/webm",
|
||||||
"webm",
|
.extensions = "webm",
|
||||||
sizeof(MatroskaMuxContext),
|
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||||
CODEC_ID_VORBIS,
|
.audio_codec = CODEC_ID_VORBIS,
|
||||||
CODEC_ID_VP8,
|
.video_codec = CODEC_ID_VP8,
|
||||||
mkv_write_header,
|
.write_header = mkv_write_header,
|
||||||
mkv_write_packet,
|
.write_packet = mkv_write_packet,
|
||||||
mkv_write_trailer,
|
.write_trailer = mkv_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
|
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_MATROSKA_AUDIO_MUXER
|
#if CONFIG_MATROSKA_AUDIO_MUXER
|
||||||
AVOutputFormat ff_matroska_audio_muxer = {
|
AVOutputFormat ff_matroska_audio_muxer = {
|
||||||
"matroska",
|
.name = "matroska",
|
||||||
NULL_IF_CONFIG_SMALL("Matroska file format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Matroska file format"),
|
||||||
"audio/x-matroska",
|
.mime_type = "audio/x-matroska",
|
||||||
"mka",
|
.extensions = "mka",
|
||||||
sizeof(MatroskaMuxContext),
|
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
mkv_write_header,
|
.write_header = mkv_write_header,
|
||||||
mkv_write_packet,
|
.write_packet = mkv_write_packet,
|
||||||
mkv_write_trailer,
|
.write_trailer = mkv_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){ff_codec_wav_tags, 0},
|
.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 = {
|
AVOutputFormat ff_md5_muxer = {
|
||||||
"md5",
|
.name = "md5",
|
||||||
NULL_IF_CONFIG_SMALL("MD5 testing format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MD5 testing format"),
|
||||||
NULL,
|
.extensions = "",
|
||||||
"",
|
.priv_data_size = PRIVSIZE,
|
||||||
PRIVSIZE,
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
CODEC_ID_RAWVIDEO,
|
.write_header = write_header,
|
||||||
write_header,
|
.write_packet = write_packet,
|
||||||
write_packet,
|
.write_trailer = write_trailer,
|
||||||
write_trailer,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -96,15 +95,12 @@ static int framemd5_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_framemd5_muxer = {
|
AVOutputFormat ff_framemd5_muxer = {
|
||||||
"framemd5",
|
.name = "framemd5",
|
||||||
NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Per-frame MD5 testing format"),
|
||||||
NULL,
|
.extensions = "",
|
||||||
"",
|
.priv_data_size = PRIVSIZE,
|
||||||
PRIVSIZE,
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
CODEC_ID_RAWVIDEO,
|
.write_packet = framemd5_write_packet,
|
||||||
NULL,
|
|
||||||
framemd5_write_packet,
|
|
||||||
NULL,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -187,10 +187,10 @@ static int read_packet(AVFormatContext *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mm_demuxer = {
|
AVInputFormat ff_mm_demuxer = {
|
||||||
"mm",
|
.name = "mm",
|
||||||
NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
|
.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM format"),
|
||||||
sizeof(MmDemuxContext),
|
.priv_data_size = sizeof(MmDemuxContext),
|
||||||
probe,
|
.read_probe = probe,
|
||||||
read_header,
|
.read_header = read_header,
|
||||||
read_packet,
|
.read_packet = read_packet,
|
||||||
};
|
};
|
||||||
|
@ -291,27 +291,26 @@ static int mmf_read_packet(AVFormatContext *s,
|
|||||||
|
|
||||||
#if CONFIG_MMF_DEMUXER
|
#if CONFIG_MMF_DEMUXER
|
||||||
AVInputFormat ff_mmf_demuxer = {
|
AVInputFormat ff_mmf_demuxer = {
|
||||||
"mmf",
|
.name = "mmf",
|
||||||
NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
.long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||||
sizeof(MMFContext),
|
.priv_data_size = sizeof(MMFContext),
|
||||||
mmf_probe,
|
.read_probe = mmf_probe,
|
||||||
mmf_read_header,
|
.read_header = mmf_read_header,
|
||||||
mmf_read_packet,
|
.read_packet = mmf_read_packet,
|
||||||
NULL,
|
.read_seek = pcm_read_seek,
|
||||||
pcm_read_seek,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_MMF_MUXER
|
#if CONFIG_MMF_MUXER
|
||||||
AVOutputFormat ff_mmf_muxer = {
|
AVOutputFormat ff_mmf_muxer = {
|
||||||
"mmf",
|
.name = "mmf",
|
||||||
NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
.long_name = NULL_IF_CONFIG_SMALL("Yamaha SMAF"),
|
||||||
"application/vnd.smaf",
|
.mime_type = "application/vnd.smaf",
|
||||||
"mmf",
|
.extensions = "mmf",
|
||||||
sizeof(MMFContext),
|
.priv_data_size = sizeof(MMFContext),
|
||||||
CODEC_ID_ADPCM_YAMAHA,
|
.audio_codec = CODEC_ID_ADPCM_YAMAHA,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
mmf_write_header,
|
.write_header = mmf_write_header,
|
||||||
mmf_write_packet,
|
.write_packet = mmf_write_packet,
|
||||||
mmf_write_trailer,
|
.write_trailer = mmf_write_trailer,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -2630,12 +2630,12 @@ static int mov_read_close(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mov_demuxer = {
|
AVInputFormat ff_mov_demuxer = {
|
||||||
"mov,mp4,m4a,3gp,3g2,mj2",
|
.name = "mov,mp4,m4a,3gp,3g2,mj2",
|
||||||
NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
|
.long_name = NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
|
||||||
sizeof(MOVContext),
|
.priv_data_size = sizeof(MOVContext),
|
||||||
mov_probe,
|
.read_probe = mov_probe,
|
||||||
mov_read_header,
|
.read_header = mov_read_header,
|
||||||
mov_read_packet,
|
.read_packet = mov_read_packet,
|
||||||
mov_read_close,
|
.read_close = mov_read_close,
|
||||||
mov_read_seek,
|
.read_seek = mov_read_seek,
|
||||||
};
|
};
|
||||||
|
@ -2351,16 +2351,15 @@ static int mov_write_trailer(AVFormatContext *s)
|
|||||||
|
|
||||||
#if CONFIG_MOV_MUXER
|
#if CONFIG_MOV_MUXER
|
||||||
AVOutputFormat ff_mov_muxer = {
|
AVOutputFormat ff_mov_muxer = {
|
||||||
"mov",
|
.name = "mov",
|
||||||
NULL_IF_CONFIG_SMALL("MOV format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MOV format"),
|
||||||
NULL,
|
.extensions = "mov",
|
||||||
"mov",
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
sizeof(MOVMuxContext),
|
.audio_codec = CODEC_ID_AAC,
|
||||||
CODEC_ID_AAC,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
CODEC_ID_MPEG4,
|
.write_header = mov_write_header,
|
||||||
mov_write_header,
|
.write_packet = ff_mov_write_packet,
|
||||||
ff_mov_write_packet,
|
.write_trailer = mov_write_trailer,
|
||||||
mov_write_trailer,
|
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
|
.codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
@ -2368,16 +2367,15 @@ AVOutputFormat ff_mov_muxer = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_TGP_MUXER
|
#if CONFIG_TGP_MUXER
|
||||||
AVOutputFormat ff_tgp_muxer = {
|
AVOutputFormat ff_tgp_muxer = {
|
||||||
"3gp",
|
.name = "3gp",
|
||||||
NULL_IF_CONFIG_SMALL("3GP format"),
|
.long_name = NULL_IF_CONFIG_SMALL("3GP format"),
|
||||||
NULL,
|
.extensions = "3gp",
|
||||||
"3gp",
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
sizeof(MOVMuxContext),
|
.audio_codec = CODEC_ID_AMR_NB,
|
||||||
CODEC_ID_AMR_NB,
|
.video_codec = CODEC_ID_H263,
|
||||||
CODEC_ID_H263,
|
.write_header = mov_write_header,
|
||||||
mov_write_header,
|
.write_packet = ff_mov_write_packet,
|
||||||
ff_mov_write_packet,
|
.write_trailer = mov_write_trailer,
|
||||||
mov_write_trailer,
|
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
@ -2385,16 +2383,16 @@ AVOutputFormat ff_tgp_muxer = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_MP4_MUXER
|
#if CONFIG_MP4_MUXER
|
||||||
AVOutputFormat ff_mp4_muxer = {
|
AVOutputFormat ff_mp4_muxer = {
|
||||||
"mp4",
|
.name = "mp4",
|
||||||
NULL_IF_CONFIG_SMALL("MP4 format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MP4 format"),
|
||||||
"application/mp4",
|
.mime_type = "application/mp4",
|
||||||
"mp4",
|
.extensions = "mp4",
|
||||||
sizeof(MOVMuxContext),
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
CODEC_ID_AAC,
|
.audio_codec = CODEC_ID_AAC,
|
||||||
CODEC_ID_MPEG4,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
mov_write_header,
|
.write_header = mov_write_header,
|
||||||
ff_mov_write_packet,
|
.write_packet = ff_mov_write_packet,
|
||||||
mov_write_trailer,
|
.write_trailer = mov_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
@ -2402,16 +2400,15 @@ AVOutputFormat ff_mp4_muxer = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_PSP_MUXER
|
#if CONFIG_PSP_MUXER
|
||||||
AVOutputFormat ff_psp_muxer = {
|
AVOutputFormat ff_psp_muxer = {
|
||||||
"psp",
|
.name = "psp",
|
||||||
NULL_IF_CONFIG_SMALL("PSP MP4 format"),
|
.long_name = NULL_IF_CONFIG_SMALL("PSP MP4 format"),
|
||||||
NULL,
|
.extensions = "mp4,psp",
|
||||||
"mp4,psp",
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
sizeof(MOVMuxContext),
|
.audio_codec = CODEC_ID_AAC,
|
||||||
CODEC_ID_AAC,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
CODEC_ID_MPEG4,
|
.write_header = mov_write_header,
|
||||||
mov_write_header,
|
.write_packet = ff_mov_write_packet,
|
||||||
ff_mov_write_packet,
|
.write_trailer = mov_write_trailer,
|
||||||
mov_write_trailer,
|
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
@ -2419,16 +2416,15 @@ AVOutputFormat ff_psp_muxer = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_TG2_MUXER
|
#if CONFIG_TG2_MUXER
|
||||||
AVOutputFormat ff_tg2_muxer = {
|
AVOutputFormat ff_tg2_muxer = {
|
||||||
"3g2",
|
.name = "3g2",
|
||||||
NULL_IF_CONFIG_SMALL("3GP2 format"),
|
.long_name = NULL_IF_CONFIG_SMALL("3GP2 format"),
|
||||||
NULL,
|
.extensions = "3g2",
|
||||||
"3g2",
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
sizeof(MOVMuxContext),
|
.audio_codec = CODEC_ID_AMR_NB,
|
||||||
CODEC_ID_AMR_NB,
|
.video_codec = CODEC_ID_H263,
|
||||||
CODEC_ID_H263,
|
.write_header = mov_write_header,
|
||||||
mov_write_header,
|
.write_packet = ff_mov_write_packet,
|
||||||
ff_mov_write_packet,
|
.write_trailer = mov_write_trailer,
|
||||||
mov_write_trailer,
|
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
.codec_tag = (const AVCodecTag* const []){codec_3gp_tags, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
@ -2436,16 +2432,16 @@ AVOutputFormat ff_tg2_muxer = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_IPOD_MUXER
|
#if CONFIG_IPOD_MUXER
|
||||||
AVOutputFormat ff_ipod_muxer = {
|
AVOutputFormat ff_ipod_muxer = {
|
||||||
"ipod",
|
.name = "ipod",
|
||||||
NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
|
.long_name = NULL_IF_CONFIG_SMALL("iPod H.264 MP4 format"),
|
||||||
"application/mp4",
|
.mime_type = "application/mp4",
|
||||||
"m4v,m4a",
|
.extensions = "m4v,m4a",
|
||||||
sizeof(MOVMuxContext),
|
.priv_data_size = sizeof(MOVMuxContext),
|
||||||
CODEC_ID_AAC,
|
.audio_codec = CODEC_ID_AAC,
|
||||||
CODEC_ID_H264,
|
.video_codec = CODEC_ID_H264,
|
||||||
mov_write_header,
|
.write_header = mov_write_header,
|
||||||
ff_mov_write_packet,
|
.write_packet = ff_mov_write_packet,
|
||||||
mov_write_trailer,
|
.write_trailer = mov_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER,
|
.flags = AVFMT_GLOBALHEADER,
|
||||||
.codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0},
|
.codec_tag = (const AVCodecTag* const []){codec_ipod_tags, 0},
|
||||||
.priv_class = &mov_muxer_class,
|
.priv_class = &mov_muxer_class,
|
||||||
|
@ -188,12 +188,11 @@ static int mp3_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mp3_demuxer = {
|
AVInputFormat ff_mp3_demuxer = {
|
||||||
"mp3",
|
.name = "mp3",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 2/3"),
|
||||||
0,
|
.read_probe = mp3_read_probe,
|
||||||
mp3_read_probe,
|
.read_header = mp3_read_header,
|
||||||
mp3_read_header,
|
.read_packet = mp3_read_packet,
|
||||||
mp3_read_packet,
|
|
||||||
.flags= AVFMT_GENERIC_INDEX,
|
.flags= AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "mp2,mp3,m2a", /* XXX: use probe */
|
.extensions = "mp2,mp3,m2a", /* XXX: use probe */
|
||||||
};
|
};
|
||||||
|
@ -174,16 +174,14 @@ static int mp2_write_trailer(struct AVFormatContext *s)
|
|||||||
|
|
||||||
#if CONFIG_MP2_MUXER
|
#if CONFIG_MP2_MUXER
|
||||||
AVOutputFormat ff_mp2_muxer = {
|
AVOutputFormat ff_mp2_muxer = {
|
||||||
"mp2",
|
.name = "mp2",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 2"),
|
||||||
"audio/x-mpeg",
|
.mime_type = "audio/x-mpeg",
|
||||||
"mp2,m2a",
|
.extensions = "mp2,m2a",
|
||||||
0,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MP2,
|
.video_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.write_packet = ff_raw_write_packet,
|
||||||
NULL,
|
.write_trailer = mp2_write_trailer,
|
||||||
ff_raw_write_packet,
|
|
||||||
mp2_write_trailer,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -459,17 +457,17 @@ static int mp3_write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_mp3_muxer = {
|
AVOutputFormat ff_mp3_muxer = {
|
||||||
"mp3",
|
.name = "mp3",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG audio layer 3"),
|
||||||
"audio/x-mpeg",
|
.mime_type = "audio/x-mpeg",
|
||||||
"mp3",
|
.extensions = "mp3",
|
||||||
sizeof(MP3Context),
|
.priv_data_size = sizeof(MP3Context),
|
||||||
CODEC_ID_MP3,
|
.audio_codec = CODEC_ID_MP3,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_NONE,
|
||||||
mp3_write_header,
|
.write_header = mp3_write_header,
|
||||||
mp3_write_packet,
|
.write_packet = mp3_write_packet,
|
||||||
mp3_write_trailer,
|
.write_trailer = mp3_write_trailer,
|
||||||
AVFMT_NOTIMESTAMPS,
|
.flags = AVFMT_NOTIMESTAMPS,
|
||||||
.priv_class = &mp3_muxer_class,
|
.priv_class = &mp3_muxer_class,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -222,13 +222,13 @@ static int mpc_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
|
|||||||
|
|
||||||
|
|
||||||
AVInputFormat ff_mpc_demuxer = {
|
AVInputFormat ff_mpc_demuxer = {
|
||||||
"mpc",
|
.name = "mpc",
|
||||||
NULL_IF_CONFIG_SMALL("Musepack"),
|
.long_name = NULL_IF_CONFIG_SMALL("Musepack"),
|
||||||
sizeof(MPCContext),
|
.priv_data_size = sizeof(MPCContext),
|
||||||
mpc_probe,
|
.read_probe = mpc_probe,
|
||||||
mpc_read_header,
|
.read_header = mpc_read_header,
|
||||||
mpc_read_packet,
|
.read_packet = mpc_read_packet,
|
||||||
mpc_read_close,
|
.read_close = mpc_read_close,
|
||||||
mpc_read_seek,
|
.read_seek = mpc_read_seek,
|
||||||
.extensions = "mpc",
|
.extensions = "mpc",
|
||||||
};
|
};
|
||||||
|
@ -281,12 +281,11 @@ static int mpc8_read_seek(AVFormatContext *s, int stream_index, int64_t timestam
|
|||||||
|
|
||||||
|
|
||||||
AVInputFormat ff_mpc8_demuxer = {
|
AVInputFormat ff_mpc8_demuxer = {
|
||||||
"mpc8",
|
.name = "mpc8",
|
||||||
NULL_IF_CONFIG_SMALL("Musepack SV8"),
|
.long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
|
||||||
sizeof(MPCContext),
|
.priv_data_size = sizeof(MPCContext),
|
||||||
mpc8_probe,
|
.read_probe = mpc8_probe,
|
||||||
mpc8_read_header,
|
.read_header = mpc8_read_header,
|
||||||
mpc8_read_packet,
|
.read_packet = mpc8_read_packet,
|
||||||
NULL,
|
.read_seek = mpc8_read_seek,
|
||||||
mpc8_read_seek,
|
|
||||||
};
|
};
|
||||||
|
@ -606,14 +606,13 @@ static int64_t mpegps_read_dts(AVFormatContext *s, int stream_index,
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mpegps_demuxer = {
|
AVInputFormat ff_mpegps_demuxer = {
|
||||||
"mpeg",
|
.name = "mpeg",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-PS format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-PS format"),
|
||||||
sizeof(MpegDemuxContext),
|
.priv_data_size = sizeof(MpegDemuxContext),
|
||||||
mpegps_probe,
|
.read_probe = mpegps_probe,
|
||||||
mpegps_read_header,
|
.read_header = mpegps_read_header,
|
||||||
mpegps_read_packet,
|
.read_packet = mpegps_read_packet,
|
||||||
NULL,
|
.read_seek = NULL, //mpegps_read_seek,
|
||||||
NULL, //mpegps_read_seek,
|
.read_timestamp = mpegps_read_dts,
|
||||||
mpegps_read_dts,
|
|
||||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||||
};
|
};
|
||||||
|
@ -1232,75 +1232,74 @@ static int mpeg_mux_end(AVFormatContext *ctx)
|
|||||||
|
|
||||||
#if CONFIG_MPEG1SYSTEM_MUXER
|
#if CONFIG_MPEG1SYSTEM_MUXER
|
||||||
AVOutputFormat ff_mpeg1system_muxer = {
|
AVOutputFormat ff_mpeg1system_muxer = {
|
||||||
"mpeg",
|
.name = "mpeg",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
|
||||||
"video/mpeg",
|
.mime_type = "video/mpeg",
|
||||||
"mpg,mpeg",
|
.extensions = "mpg,mpeg",
|
||||||
sizeof(MpegMuxContext),
|
.priv_data_size = sizeof(MpegMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG1VIDEO,
|
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||||
mpeg_mux_init,
|
.write_header = mpeg_mux_init,
|
||||||
mpeg_mux_write_packet,
|
.write_packet = mpeg_mux_write_packet,
|
||||||
mpeg_mux_end,
|
.write_trailer = mpeg_mux_end,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_MPEG1VCD_MUXER
|
#if CONFIG_MPEG1VCD_MUXER
|
||||||
AVOutputFormat ff_mpeg1vcd_muxer = {
|
AVOutputFormat ff_mpeg1vcd_muxer = {
|
||||||
"vcd",
|
.name = "vcd",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
|
||||||
"video/mpeg",
|
.mime_type = "video/mpeg",
|
||||||
NULL,
|
.priv_data_size = sizeof(MpegMuxContext),
|
||||||
sizeof(MpegMuxContext),
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MP2,
|
.video_codec = CODEC_ID_MPEG1VIDEO,
|
||||||
CODEC_ID_MPEG1VIDEO,
|
.write_header = mpeg_mux_init,
|
||||||
mpeg_mux_init,
|
.write_packet = mpeg_mux_write_packet,
|
||||||
mpeg_mux_write_packet,
|
.write_trailer = mpeg_mux_end,
|
||||||
mpeg_mux_end,
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_MPEG2VOB_MUXER
|
#if CONFIG_MPEG2VOB_MUXER
|
||||||
AVOutputFormat ff_mpeg2vob_muxer = {
|
AVOutputFormat ff_mpeg2vob_muxer = {
|
||||||
"vob",
|
.name = "vob",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||||
"video/mpeg",
|
.mime_type = "video/mpeg",
|
||||||
"vob",
|
.extensions = "vob",
|
||||||
sizeof(MpegMuxContext),
|
.priv_data_size = sizeof(MpegMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
mpeg_mux_init,
|
.write_header = mpeg_mux_init,
|
||||||
mpeg_mux_write_packet,
|
.write_packet = mpeg_mux_write_packet,
|
||||||
mpeg_mux_end,
|
.write_trailer = mpeg_mux_end,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Same as mpeg2vob_mux except that the pack size is 2324 */
|
/* Same as mpeg2vob_mux except that the pack size is 2324 */
|
||||||
#if CONFIG_MPEG2SVCD_MUXER
|
#if CONFIG_MPEG2SVCD_MUXER
|
||||||
AVOutputFormat ff_mpeg2svcd_muxer = {
|
AVOutputFormat ff_mpeg2svcd_muxer = {
|
||||||
"svcd",
|
.name = "svcd",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
|
||||||
"video/mpeg",
|
.mime_type = "video/mpeg",
|
||||||
"vob",
|
.extensions = "vob",
|
||||||
sizeof(MpegMuxContext),
|
.priv_data_size = sizeof(MpegMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
mpeg_mux_init,
|
.write_header = mpeg_mux_init,
|
||||||
mpeg_mux_write_packet,
|
.write_packet = mpeg_mux_write_packet,
|
||||||
mpeg_mux_end,
|
.write_trailer = mpeg_mux_end,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
|
/* Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
|
||||||
#if CONFIG_MPEG2DVD_MUXER
|
#if CONFIG_MPEG2DVD_MUXER
|
||||||
AVOutputFormat ff_mpeg2dvd_muxer = {
|
AVOutputFormat ff_mpeg2dvd_muxer = {
|
||||||
"dvd",
|
.name = "dvd",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
|
||||||
"video/mpeg",
|
.mime_type = "video/mpeg",
|
||||||
"dvd",
|
.extensions = "dvd",
|
||||||
sizeof(MpegMuxContext),
|
.priv_data_size = sizeof(MpegMuxContext),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
mpeg_mux_init,
|
.write_header = mpeg_mux_init,
|
||||||
mpeg_mux_write_packet,
|
.write_packet = mpeg_mux_write_packet,
|
||||||
mpeg_mux_end,
|
.write_trailer = mpeg_mux_end,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -1887,15 +1887,15 @@ void ff_mpegts_parse_close(MpegTSContext *ts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mpegts_demuxer = {
|
AVInputFormat ff_mpegts_demuxer = {
|
||||||
"mpegts",
|
.name = "mpegts",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||||
sizeof(MpegTSContext),
|
.priv_data_size = sizeof(MpegTSContext),
|
||||||
mpegts_probe,
|
.read_probe = mpegts_probe,
|
||||||
mpegts_read_header,
|
.read_header = mpegts_read_header,
|
||||||
mpegts_read_packet,
|
.read_packet = mpegts_read_packet,
|
||||||
mpegts_read_close,
|
.read_close = mpegts_read_close,
|
||||||
read_seek,
|
.read_seek = read_seek,
|
||||||
mpegts_get_pcr,
|
.read_timestamp = mpegts_get_pcr,
|
||||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||||
#ifdef USE_SYNCPOINT_SEARCH
|
#ifdef USE_SYNCPOINT_SEARCH
|
||||||
.read_seek2 = read_seek2,
|
.read_seek2 = read_seek2,
|
||||||
@ -1903,15 +1903,14 @@ AVInputFormat ff_mpegts_demuxer = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
AVInputFormat ff_mpegtsraw_demuxer = {
|
AVInputFormat ff_mpegtsraw_demuxer = {
|
||||||
"mpegtsraw",
|
.name = "mpegtsraw",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 raw transport stream format"),
|
||||||
sizeof(MpegTSContext),
|
.priv_data_size = sizeof(MpegTSContext),
|
||||||
NULL,
|
.read_header = mpegts_read_header,
|
||||||
mpegts_read_header,
|
.read_packet = mpegts_raw_read_packet,
|
||||||
mpegts_raw_read_packet,
|
.read_close = mpegts_read_close,
|
||||||
mpegts_read_close,
|
.read_seek = read_seek,
|
||||||
read_seek,
|
.read_timestamp = mpegts_get_pcr,
|
||||||
mpegts_get_pcr,
|
|
||||||
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
.flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
|
||||||
#ifdef USE_SYNCPOINT_SEARCH
|
#ifdef USE_SYNCPOINT_SEARCH
|
||||||
.read_seek2 = read_seek2,
|
.read_seek2 = read_seek2,
|
||||||
|
@ -1051,15 +1051,15 @@ static int mpegts_write_end(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_mpegts_muxer = {
|
AVOutputFormat ff_mpegts_muxer = {
|
||||||
"mpegts",
|
.name = "mpegts",
|
||||||
NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 transport stream format"),
|
||||||
"video/x-mpegts",
|
.mime_type = "video/x-mpegts",
|
||||||
"ts,m2t",
|
.extensions = "ts,m2t",
|
||||||
sizeof(MpegTSWrite),
|
.priv_data_size = sizeof(MpegTSWrite),
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
mpegts_write_header,
|
.write_header = mpegts_write_header,
|
||||||
mpegts_write_packet,
|
.write_packet = mpegts_write_packet,
|
||||||
mpegts_write_end,
|
.write_trailer = mpegts_write_end,
|
||||||
.priv_class = &mpegts_muxer_class,
|
.priv_class = &mpegts_muxer_class,
|
||||||
};
|
};
|
||||||
|
@ -54,14 +54,13 @@ static int mpjpeg_write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_mpjpeg_muxer = {
|
AVOutputFormat ff_mpjpeg_muxer = {
|
||||||
"mpjpeg",
|
.name = "mpjpeg",
|
||||||
NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MIME multipart JPEG format"),
|
||||||
"multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
|
.mime_type = "multipart/x-mixed-replace;boundary=" BOUNDARY_TAG,
|
||||||
"mjpg",
|
.extensions = "mjpg",
|
||||||
0,
|
.audio_codec = CODEC_ID_NONE,
|
||||||
CODEC_ID_NONE,
|
.video_codec = CODEC_ID_MJPEG,
|
||||||
CODEC_ID_MJPEG,
|
.write_header = mpjpeg_write_header,
|
||||||
mpjpeg_write_header,
|
.write_packet = mpjpeg_write_packet,
|
||||||
mpjpeg_write_packet,
|
.write_trailer = mpjpeg_write_trailer,
|
||||||
mpjpeg_write_trailer,
|
|
||||||
};
|
};
|
||||||
|
@ -131,10 +131,9 @@ static int msnwc_tcp_read_packet(AVFormatContext *ctx, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_msnwc_tcp_demuxer = {
|
AVInputFormat ff_msnwc_tcp_demuxer = {
|
||||||
"msnwctcp",
|
.name = "msnwctcp",
|
||||||
NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
|
.long_name = NULL_IF_CONFIG_SMALL("MSN TCP Webcam stream"),
|
||||||
0,
|
.read_probe = msnwc_tcp_probe,
|
||||||
msnwc_tcp_probe,
|
.read_header = msnwc_tcp_read_header,
|
||||||
msnwc_tcp_read_header,
|
.read_packet = msnwc_tcp_read_packet,
|
||||||
msnwc_tcp_read_packet,
|
|
||||||
};
|
};
|
||||||
|
@ -197,10 +197,10 @@ static int mtv_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mtv_demuxer = {
|
AVInputFormat ff_mtv_demuxer = {
|
||||||
"MTV",
|
.name = "MTV",
|
||||||
NULL_IF_CONFIG_SMALL("MTV format"),
|
.long_name = NULL_IF_CONFIG_SMALL("MTV format"),
|
||||||
sizeof(MTVDemuxContext),
|
.priv_data_size = sizeof(MTVDemuxContext),
|
||||||
mtv_probe,
|
.read_probe = mtv_probe,
|
||||||
mtv_read_header,
|
.read_header = mtv_read_header,
|
||||||
mtv_read_packet,
|
.read_packet = mtv_read_packet,
|
||||||
};
|
};
|
||||||
|
@ -124,11 +124,10 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mvi_demuxer = {
|
AVInputFormat ff_mvi_demuxer = {
|
||||||
"mvi",
|
.name = "mvi",
|
||||||
NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Motion Pixels MVI format"),
|
||||||
sizeof(MviDemuxContext),
|
.priv_data_size = sizeof(MviDemuxContext),
|
||||||
NULL,
|
.read_header = read_header,
|
||||||
read_header,
|
.read_packet = read_packet,
|
||||||
read_packet,
|
|
||||||
.extensions = "mvi"
|
.extensions = "mvi"
|
||||||
};
|
};
|
||||||
|
@ -1016,12 +1016,12 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_mxf_demuxer = {
|
AVInputFormat ff_mxf_demuxer = {
|
||||||
"mxf",
|
.name = "mxf",
|
||||||
NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||||
sizeof(MXFContext),
|
.priv_data_size = sizeof(MXFContext),
|
||||||
mxf_probe,
|
.read_probe = mxf_probe,
|
||||||
mxf_read_header,
|
.read_header = mxf_read_header,
|
||||||
mxf_read_packet,
|
.read_packet = mxf_read_packet,
|
||||||
mxf_read_close,
|
.read_close = mxf_read_close,
|
||||||
mxf_read_seek,
|
.read_seek = mxf_read_seek,
|
||||||
};
|
};
|
||||||
|
@ -1890,33 +1890,30 @@ static int mxf_interleave(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_mxf_muxer = {
|
AVOutputFormat ff_mxf_muxer = {
|
||||||
"mxf",
|
.name = "mxf",
|
||||||
NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format"),
|
||||||
"application/mxf",
|
.mime_type = "application/mxf",
|
||||||
"mxf",
|
.extensions = "mxf",
|
||||||
sizeof(MXFContext),
|
.priv_data_size = sizeof(MXFContext),
|
||||||
CODEC_ID_PCM_S16LE,
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
mxf_write_header,
|
.write_header = mxf_write_header,
|
||||||
mxf_write_packet,
|
.write_packet = mxf_write_packet,
|
||||||
mxf_write_footer,
|
.write_trailer = mxf_write_footer,
|
||||||
AVFMT_NOTIMESTAMPS,
|
.flags = AVFMT_NOTIMESTAMPS,
|
||||||
NULL,
|
.interleave_packet = mxf_interleave,
|
||||||
mxf_interleave,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
AVOutputFormat ff_mxf_d10_muxer = {
|
AVOutputFormat ff_mxf_d10_muxer = {
|
||||||
"mxf_d10",
|
.name = "mxf_d10",
|
||||||
NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
|
.long_name = NULL_IF_CONFIG_SMALL("Material eXchange Format, D-10 Mapping"),
|
||||||
"application/mxf",
|
.mime_type = "application/mxf",
|
||||||
NULL,
|
.priv_data_size = sizeof(MXFContext),
|
||||||
sizeof(MXFContext),
|
.audio_codec = CODEC_ID_PCM_S16LE,
|
||||||
CODEC_ID_PCM_S16LE,
|
.video_codec = CODEC_ID_MPEG2VIDEO,
|
||||||
CODEC_ID_MPEG2VIDEO,
|
.write_header = mxf_write_header,
|
||||||
mxf_write_header,
|
.write_packet = mxf_write_packet,
|
||||||
mxf_write_packet,
|
.write_trailer = mxf_write_footer,
|
||||||
mxf_write_footer,
|
.flags = AVFMT_NOTIMESTAMPS,
|
||||||
AVFMT_NOTIMESTAMPS,
|
.interleave_packet = mxf_interleave,
|
||||||
NULL,
|
|
||||||
mxf_interleave,
|
|
||||||
};
|
};
|
||||||
|
@ -91,11 +91,10 @@ static int nc_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_nc_demuxer = {
|
AVInputFormat ff_nc_demuxer = {
|
||||||
"nc",
|
.name = "nc",
|
||||||
NULL_IF_CONFIG_SMALL("NC camera feed format"),
|
.long_name = NULL_IF_CONFIG_SMALL("NC camera feed format"),
|
||||||
0,
|
.read_probe = nc_probe,
|
||||||
nc_probe,
|
.read_header = nc_read_header,
|
||||||
nc_read_header,
|
.read_packet = nc_read_packet,
|
||||||
nc_read_packet,
|
|
||||||
.extensions = "v",
|
.extensions = "v",
|
||||||
};
|
};
|
||||||
|
@ -770,12 +770,12 @@ static int nsv_probe(AVProbeData *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVInputFormat ff_nsv_demuxer = {
|
AVInputFormat ff_nsv_demuxer = {
|
||||||
"nsv",
|
.name = "nsv",
|
||||||
NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
|
.long_name = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"),
|
||||||
sizeof(NSVContext),
|
.priv_data_size = sizeof(NSVContext),
|
||||||
nsv_probe,
|
.read_probe = nsv_probe,
|
||||||
nsv_read_header,
|
.read_header = nsv_read_header,
|
||||||
nsv_read_packet,
|
.read_packet = nsv_read_packet,
|
||||||
nsv_read_close,
|
.read_close = nsv_read_close,
|
||||||
nsv_read_seek,
|
.read_seek = nsv_read_seek,
|
||||||
};
|
};
|
||||||
|
@ -27,14 +27,10 @@ static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_null_muxer = {
|
AVOutputFormat ff_null_muxer = {
|
||||||
"null",
|
.name = "null",
|
||||||
NULL_IF_CONFIG_SMALL("raw null video format"),
|
.long_name = NULL_IF_CONFIG_SMALL("raw null video format"),
|
||||||
NULL,
|
.audio_codec = AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
|
||||||
NULL,
|
.video_codec = CODEC_ID_RAWVIDEO,
|
||||||
0,
|
.write_packet = null_write_packet,
|
||||||
AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE),
|
|
||||||
CODEC_ID_RAWVIDEO,
|
|
||||||
NULL,
|
|
||||||
null_write_packet,
|
|
||||||
.flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
|
.flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
|
||||||
};
|
};
|
||||||
|
@ -924,14 +924,14 @@ static int nut_read_close(AVFormatContext *s)
|
|||||||
|
|
||||||
#if CONFIG_NUT_DEMUXER
|
#if CONFIG_NUT_DEMUXER
|
||||||
AVInputFormat ff_nut_demuxer = {
|
AVInputFormat ff_nut_demuxer = {
|
||||||
"nut",
|
.name = "nut",
|
||||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||||
sizeof(NUTContext),
|
.priv_data_size = sizeof(NUTContext),
|
||||||
nut_probe,
|
.read_probe = nut_probe,
|
||||||
nut_read_header,
|
.read_header = nut_read_header,
|
||||||
nut_read_packet,
|
.read_packet = nut_read_packet,
|
||||||
nut_read_close,
|
.read_close = nut_read_close,
|
||||||
read_seek,
|
.read_seek = read_seek,
|
||||||
.extensions = "nut",
|
.extensions = "nut",
|
||||||
.codec_tag = (const AVCodecTag * const []) { ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0 },
|
.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 = {
|
AVOutputFormat ff_nut_muxer = {
|
||||||
"nut",
|
.name = "nut",
|
||||||
NULL_IF_CONFIG_SMALL("NUT format"),
|
.long_name = NULL_IF_CONFIG_SMALL("NUT format"),
|
||||||
"video/x-nut",
|
.mime_type = "video/x-nut",
|
||||||
"nut",
|
.extensions = "nut",
|
||||||
sizeof(NUTContext),
|
.priv_data_size = sizeof(NUTContext),
|
||||||
#if CONFIG_LIBVORBIS
|
#if CONFIG_LIBVORBIS
|
||||||
CODEC_ID_VORBIS,
|
.audio_codec = CODEC_ID_VORBIS,
|
||||||
#elif CONFIG_LIBMP3LAME
|
#elif CONFIG_LIBMP3LAME
|
||||||
CODEC_ID_MP3,
|
.audio_codec = CODEC_ID_MP3,
|
||||||
#else
|
#else
|
||||||
CODEC_ID_MP2,
|
.audio_codec = CODEC_ID_MP2,
|
||||||
#endif
|
#endif
|
||||||
CODEC_ID_MPEG4,
|
.video_codec = CODEC_ID_MPEG4,
|
||||||
write_header,
|
.write_header = write_header,
|
||||||
write_packet,
|
.write_packet = write_packet,
|
||||||
write_trailer,
|
.write_trailer = write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
.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 },
|
.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 = {
|
AVInputFormat ff_nuv_demuxer = {
|
||||||
"nuv",
|
.name = "nuv",
|
||||||
NULL_IF_CONFIG_SMALL("NuppelVideo format"),
|
.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo format"),
|
||||||
sizeof(NUVContext),
|
.priv_data_size = sizeof(NUVContext),
|
||||||
nuv_probe,
|
.read_probe = nuv_probe,
|
||||||
nuv_header,
|
.read_header = nuv_header,
|
||||||
nuv_packet,
|
.read_packet = nuv_packet,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
};
|
};
|
||||||
|
@ -525,15 +525,15 @@ static int ogg_write_trailer(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
AVOutputFormat ff_ogg_muxer = {
|
AVOutputFormat ff_ogg_muxer = {
|
||||||
"ogg",
|
.name = "ogg",
|
||||||
NULL_IF_CONFIG_SMALL("Ogg"),
|
.long_name = NULL_IF_CONFIG_SMALL("Ogg"),
|
||||||
"application/ogg",
|
.mime_type = "application/ogg",
|
||||||
"ogg,ogv,spx",
|
.extensions = "ogg,ogv,spx",
|
||||||
sizeof(OGGContext),
|
.priv_data_size = sizeof(OGGContext),
|
||||||
CODEC_ID_FLAC,
|
.audio_codec = CODEC_ID_FLAC,
|
||||||
CODEC_ID_THEORA,
|
.video_codec = CODEC_ID_THEORA,
|
||||||
ogg_write_header,
|
.write_header = ogg_write_header,
|
||||||
ogg_write_packet,
|
.write_packet = ogg_write_packet,
|
||||||
ogg_write_trailer,
|
.write_trailer = ogg_write_trailer,
|
||||||
.priv_class = &ogg_muxer_class,
|
.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