Originally committed as revision 12410 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
@@ -296,7 +296,7 @@ enum CodecID { | |||||
CODEC_ID_SSA, | CODEC_ID_SSA, | ||||
CODEC_ID_MOV_TEXT, | CODEC_ID_MOV_TEXT, | ||||
/* other specific kind of codecs (generaly used for attachments) */ | |||||
/* other specific kind of codecs (generally used for attachments) */ | |||||
CODEC_ID_TTF= 0x18000, | CODEC_ID_TTF= 0x18000, | ||||
CODEC_ID_MPEG2TS= 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS | CODEC_ID_MPEG2TS= 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS | ||||
@@ -93,11 +93,14 @@ void ff_gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy, | |||||
int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); | int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); | ||||
/* minimum alignment rules ;) | /* minimum alignment rules ;) | ||||
if u notice errors in the align stuff, need more alignment for some asm code for some cpu | |||||
or need to use a function with less aligned data then send a mail to the ffmpeg-dev list, ... | |||||
!warning these alignments might not match reallity, (missing attribute((align)) stuff somewhere possible) | |||||
i (michael) didnt check them, these are just the alignents which i think could be reached easily ... | |||||
If you notice errors in the align stuff, need more alignment for some ASM code | |||||
for some CPU or need to use a function with less aligned data then send a mail | |||||
to the ffmpeg-devel mailing list, ... | |||||
!warning These alignments might not match reality, (missing attribute((align)) | |||||
stuff somewhere possible). | |||||
I (Michael) did not check them, these are just the alignments which i think | |||||
could be reached easily ... | |||||
!future video codecs might need functions with less strict alignment | !future video codecs might need functions with less strict alignment | ||||
*/ | */ | ||||
@@ -425,7 +425,7 @@ int MPV_encode_init(AVCodecContext *avctx) | |||||
} | } | ||||
if(s->avctx->scenechange_threshold < 1000000000 && (s->flags & CODEC_FLAG_CLOSED_GOP)){ | if(s->avctx->scenechange_threshold < 1000000000 && (s->flags & CODEC_FLAG_CLOSED_GOP)){ | ||||
av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection arent supported yet, set threshold to 1000000000\n"); | |||||
av_log(avctx, AV_LOG_ERROR, "closed gop with scene change detection are not supported yet, set threshold to 1000000000\n"); | |||||
return -1; | return -1; | ||||
} | } | ||||
@@ -197,7 +197,7 @@ int dct_quantize_altivec(MpegEncContext* s, | |||||
// z4 = vec_add(z4, z5); // z4 += z5; | // z4 = vec_add(z4, z5); // z4 += z5; | ||||
// z2 = MULTIPLY(z2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | // z2 = MULTIPLY(z2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | ||||
// Wow! It's actually more effecient to roll this multiply | |||||
// Wow! It's actually more efficient to roll this multiply | |||||
// into the adds below, even thought the multiply gets done twice! | // into the adds below, even thought the multiply gets done twice! | ||||
// z2 = vec_madd(z2, vec_2_562915447, (vector float)zero); | // z2 = vec_madd(z2, vec_2_562915447, (vector float)zero); | ||||
@@ -665,9 +665,9 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) | |||||
(c->fc->video_codec_id ? codec_get_id(codec_movvideo_tags, format) != c->fc->video_codec_id | (c->fc->video_codec_id ? codec_get_id(codec_movvideo_tags, format) != c->fc->video_codec_id | ||||
: st->codec->codec_tag != MKTAG('j', 'p', 'e', 'g')) | : st->codec->codec_tag != MKTAG('j', 'p', 'e', 'g')) | ||||
){ | ){ | ||||
/* multiple fourcc, we skip jpeg, this isnt correct, we should export it as | |||||
seperate AVStream but this needs a few changes in the mov demuxer, patch | |||||
welcome */ | |||||
/* Multiple fourcc, we skip JPEG. This is not correct, we should | |||||
* export it as a separate AVStream but this needs a few changes | |||||
* in the MOV demuxer, patch welcome. */ | |||||
url_fskip(pb, size - (url_ftell(pb) - start_pos)); | url_fskip(pb, size - (url_ftell(pb) - start_pos)); | ||||
continue; | continue; | ||||
} | } | ||||
@@ -69,7 +69,7 @@ static int find_expected_header(AVCodecContext *c, int size, int key_frame, uint | |||||
header |= 1<<16; //no crc | header |= 1<<16; //no crc | ||||
AV_WB32(out, header); | AV_WB32(out, header); | ||||
if(size <= 0) | if(size <= 0) | ||||
return 2; //we guess theres no crc, if there is one the user clearly doesnt care about overhead | |||||
return 2; //we guess there is no crc, if there is one the user clearly does not care about overhead | |||||
if(bitrate_index == 30) | if(bitrate_index == 30) | ||||
return -1; //something is wrong ... | return -1; //something is wrong ... | ||||
@@ -78,8 +78,8 @@ static int find_expected_header(AVCodecContext *c, int size, int key_frame, uint | |||||
header |= (bitrate_index&1)<<9; | header |= (bitrate_index&1)<<9; | ||||
return 2; //FIXME actually put the needed ones in build_elision_headers() | return 2; //FIXME actually put the needed ones in build_elision_headers() | ||||
return 3; //we guess that the private bit isnt set | |||||
//FIXME the above asumtations should be checked, if these turn out false too often something should be done | |||||
return 3; //we guess that the private bit is not set | |||||
//FIXME the above assumptions should be checked, if these turn out false too often something should be done | |||||
} | } | ||||
return 0; | return 0; | ||||
} | } | ||||
@@ -28,14 +28,14 @@ extern const int av_aes_size; | |||||
struct AVAES; | struct AVAES; | ||||
/** | /** | ||||
* initializes an AVAES context | |||||
* Initializes an AVAES context. | |||||
* @param key_bits 128, 192 or 256 | * @param key_bits 128, 192 or 256 | ||||
* @param decrypt 0 for encryption, 1 for decryption | * @param decrypt 0 for encryption, 1 for decryption | ||||
*/ | */ | ||||
int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); | int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); | ||||
/** | /** | ||||
* encrypts / decrypts. | |||||
* Encrypts / decrypts. | |||||
* @param count number of 16 byte blocks | * @param count number of 16 byte blocks | ||||
* @param dst destination array, can be equal to src | * @param dst destination array, can be equal to src | ||||
* @param src source array, can be equal to dst | * @param src source array, can be equal to dst | ||||
@@ -23,7 +23,7 @@ | |||||
/** | /** | ||||
* @file avutil.h | * @file avutil.h | ||||
* external api header. | |||||
* external API header | |||||
*/ | */ | ||||
@@ -20,7 +20,7 @@ | |||||
/** | /** | ||||
* @file bswap.h | * @file bswap.h | ||||
* byte swap. | |||||
* byte swapping routines | |||||
*/ | */ | ||||
#ifndef FFMPEG_BSWAP_H | #ifndef FFMPEG_BSWAP_H | ||||
@@ -20,7 +20,7 @@ | |||||
/** | /** | ||||
* @file common.h | * @file common.h | ||||
* common internal and external api header. | |||||
* common internal and external API header | |||||
*/ | */ | ||||
#ifndef FFMPEG_COMMON_H | #ifndef FFMPEG_COMMON_H | ||||
@@ -69,10 +69,10 @@ void *av_malloc(unsigned int size) | |||||
But I don't want to code such logic here! | But I don't want to code such logic here! | ||||
*/ | */ | ||||
/* Why 16? | /* Why 16? | ||||
because some cpus need alignment, for example SSE2 on P4, & most RISC cpus | |||||
Because some CPUs need alignment, for example SSE2 on P4, & most RISC CPUs | |||||
it will just trigger an exception and the unaligned load will be done in the | it will just trigger an exception and the unaligned load will be done in the | ||||
exception handler or it will just segfault (SSE2 on P4) | exception handler or it will just segfault (SSE2 on P4) | ||||
Why not larger? because i didnt see a difference in benchmarks ... | |||||
Why not larger? because i did not see a difference in benchmarks ... | |||||
*/ | */ | ||||
/* benchmarks with p3 | /* benchmarks with p3 | ||||
memalign(64)+1 3071,3051,3032 | memalign(64)+1 3071,3051,3032 | ||||
@@ -24,7 +24,7 @@ | |||||
/** | /** | ||||
* @file postprocess.h | * @file postprocess.h | ||||
* @brief | * @brief | ||||
* external api for the pp stuff | |||||
* external postprocessing API | |||||
*/ | */ | ||||
#include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||