1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Make error return sign consistent.

Originally committed as revision 19997 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2009-09-23 13:18:29 +00:00
parent 36b7e983a6
commit 0a01efd0aa

View File

@ -413,7 +413,7 @@ static int vorbis_parse_setup_hdr_codebooks(vorbis_context *vc) {
error: error:
av_free(tmp_vlc_bits); av_free(tmp_vlc_bits);
av_free(tmp_vlc_codes); av_free(tmp_vlc_codes);
return 1; return -1;
} }
// Process time domain transforms part (unused in Vorbis I) // Process time domain transforms part (unused in Vorbis I)
@ -430,7 +430,7 @@ static int vorbis_parse_setup_hdr_tdtransforms(vorbis_context *vc) {
if (vorbis_tdtransform) { if (vorbis_tdtransform) {
av_log(vc->avccontext, AV_LOG_ERROR, "Vorbis time domain transform data nonzero. \n"); av_log(vc->avccontext, AV_LOG_ERROR, "Vorbis time domain transform data nonzero. \n");
return 1; return -1;
} }
} }
return 0; return 0;
@ -491,7 +491,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
int bits=get_bits(gb, 8); int bits=get_bits(gb, 8);
if (bits>=vc->codebook_count) { if (bits>=vc->codebook_count) {
av_log(vc->avccontext, AV_LOG_ERROR, "Masterbook index %d is out of range.\n", bits); av_log(vc->avccontext, AV_LOG_ERROR, "Masterbook index %d is out of range.\n", bits);
return 1; return -1;
} }
floor_setup->data.t1.class_masterbook[j]=bits; floor_setup->data.t1.class_masterbook[j]=bits;
@ -502,7 +502,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
int16_t bits=get_bits(gb, 8)-1; int16_t bits=get_bits(gb, 8)-1;
if (bits!=-1 && bits>=vc->codebook_count) { if (bits!=-1 && bits>=vc->codebook_count) {
av_log(vc->avccontext, AV_LOG_ERROR, "Subclass book index %d is out of range.\n", bits); av_log(vc->avccontext, AV_LOG_ERROR, "Subclass book index %d is out of range.\n", bits);
return 1; return -1;
} }
floor_setup->data.t1.subclass_books[j][k]=bits; floor_setup->data.t1.subclass_books[j][k]=bits;
@ -549,7 +549,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
if (floor_setup->data.t0.amplitude_bits == 0) { if (floor_setup->data.t0.amplitude_bits == 0) {
av_log(vc->avccontext, AV_LOG_ERROR, av_log(vc->avccontext, AV_LOG_ERROR,
"Floor 0 amplitude bits is 0.\n"); "Floor 0 amplitude bits is 0.\n");
return 1; return -1;
} }
floor_setup->data.t0.amplitude_offset=get_bits(gb, 8); floor_setup->data.t0.amplitude_offset=get_bits(gb, 8);
floor_setup->data.t0.num_books=get_bits(gb, 4)+1; floor_setup->data.t0.num_books=get_bits(gb, 4)+1;
@ -557,7 +557,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
/* allocate mem for booklist */ /* allocate mem for booklist */
floor_setup->data.t0.book_list= floor_setup->data.t0.book_list=
av_malloc(floor_setup->data.t0.num_books); av_malloc(floor_setup->data.t0.num_books);
if(!floor_setup->data.t0.book_list) { return 1; } if(!floor_setup->data.t0.book_list) { return -1; }
/* read book indexes */ /* read book indexes */
{ {
int idx; int idx;
@ -565,7 +565,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
for (idx=0;idx<floor_setup->data.t0.num_books;++idx) { for (idx=0;idx<floor_setup->data.t0.num_books;++idx) {
book_idx=get_bits(gb, 8); book_idx=get_bits(gb, 8);
if (book_idx>=vc->codebook_count) if (book_idx>=vc->codebook_count)
return 1; return -1;
floor_setup->data.t0.book_list[idx]=book_idx; floor_setup->data.t0.book_list[idx]=book_idx;
if (vc->codebooks[book_idx].dimensions > max_codebook_dim) if (vc->codebooks[book_idx].dimensions > max_codebook_dim)
max_codebook_dim=vc->codebooks[book_idx].dimensions; max_codebook_dim=vc->codebooks[book_idx].dimensions;
@ -581,7 +581,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
floor_setup->data.t0.lsp= floor_setup->data.t0.lsp=
av_malloc((floor_setup->data.t0.order+1 + max_codebook_dim) av_malloc((floor_setup->data.t0.order+1 + max_codebook_dim)
* sizeof(float)); * sizeof(float));
if(!floor_setup->data.t0.lsp) { return 1; } if(!floor_setup->data.t0.lsp) { return -1; }
} }
#ifdef V_DEBUG /* debug output parsed headers */ #ifdef V_DEBUG /* debug output parsed headers */
@ -609,7 +609,7 @@ static int vorbis_parse_setup_hdr_floors(vorbis_context *vc) {
} }
else { else {
av_log(vc->avccontext, AV_LOG_ERROR, "Invalid floor type!\n"); av_log(vc->avccontext, AV_LOG_ERROR, "Invalid floor type!\n");
return 1; return -1;
} }
} }
return 0; return 0;
@ -644,14 +644,14 @@ static int vorbis_parse_setup_hdr_residues(vorbis_context *vc){
|| res_setup->end>vc->blocksize[1]/(res_setup->type==2?1:2) || res_setup->end>vc->blocksize[1]/(res_setup->type==2?1:2)
|| (res_setup->end-res_setup->begin)/res_setup->partition_size>V_MAX_PARTITIONS) { || (res_setup->end-res_setup->begin)/res_setup->partition_size>V_MAX_PARTITIONS) {
av_log(vc->avccontext, AV_LOG_ERROR, "partition out of bounds: type, begin, end, size, blocksize: %d, %d, %d, %d, %d\n", res_setup->type, res_setup->begin, res_setup->end, res_setup->partition_size, vc->blocksize[1]/2); av_log(vc->avccontext, AV_LOG_ERROR, "partition out of bounds: type, begin, end, size, blocksize: %d, %d, %d, %d, %d\n", res_setup->type, res_setup->begin, res_setup->end, res_setup->partition_size, vc->blocksize[1]/2);
return 1; return -1;
} }
res_setup->classifications=get_bits(gb, 6)+1; res_setup->classifications=get_bits(gb, 6)+1;
res_setup->classbook=get_bits(gb, 8); res_setup->classbook=get_bits(gb, 8);
if (res_setup->classbook>=vc->codebook_count) { if (res_setup->classbook>=vc->codebook_count) {
av_log(vc->avccontext, AV_LOG_ERROR, "classbook value %d out of range. \n", res_setup->classbook); av_log(vc->avccontext, AV_LOG_ERROR, "classbook value %d out of range. \n", res_setup->classbook);
return 1; return -1;
} }
AV_DEBUG(" begin %d end %d part.size %d classif.s %d classbook %d \n", res_setup->begin, res_setup->end, res_setup->partition_size, AV_DEBUG(" begin %d end %d part.size %d classif.s %d classbook %d \n", res_setup->begin, res_setup->end, res_setup->partition_size,
@ -675,7 +675,7 @@ static int vorbis_parse_setup_hdr_residues(vorbis_context *vc){
int bits=get_bits(gb, 8); int bits=get_bits(gb, 8);
if (bits>=vc->codebook_count) { if (bits>=vc->codebook_count) {
av_log(vc->avccontext, AV_LOG_ERROR, "book value %d out of range. \n", bits); av_log(vc->avccontext, AV_LOG_ERROR, "book value %d out of range. \n", bits);
return 1; return -1;
} }
res_setup->books[j][k]=bits; res_setup->books[j][k]=bits;
@ -709,7 +709,7 @@ static int vorbis_parse_setup_hdr_mappings(vorbis_context *vc) {
if (get_bits(gb, 16)) { if (get_bits(gb, 16)) {
av_log(vc->avccontext, AV_LOG_ERROR, "Other mappings than type 0 are not compliant with the Vorbis I specification. \n"); av_log(vc->avccontext, AV_LOG_ERROR, "Other mappings than type 0 are not compliant with the Vorbis I specification. \n");
return 1; return -1;
} }
if (get_bits1(gb)) { if (get_bits1(gb)) {
mapping_setup->submaps=get_bits(gb, 4)+1; mapping_setup->submaps=get_bits(gb, 4)+1;
@ -726,11 +726,11 @@ static int vorbis_parse_setup_hdr_mappings(vorbis_context *vc) {
mapping_setup->angle[j]=get_bits(gb, ilog(vc->audio_channels-1)); mapping_setup->angle[j]=get_bits(gb, ilog(vc->audio_channels-1));
if (mapping_setup->magnitude[j]>=vc->audio_channels) { if (mapping_setup->magnitude[j]>=vc->audio_channels) {
av_log(vc->avccontext, AV_LOG_ERROR, "magnitude channel %d out of range. \n", mapping_setup->magnitude[j]); av_log(vc->avccontext, AV_LOG_ERROR, "magnitude channel %d out of range. \n", mapping_setup->magnitude[j]);
return 1; return -1;
} }
if (mapping_setup->angle[j]>=vc->audio_channels) { if (mapping_setup->angle[j]>=vc->audio_channels) {
av_log(vc->avccontext, AV_LOG_ERROR, "angle channel %d out of range. \n", mapping_setup->angle[j]); av_log(vc->avccontext, AV_LOG_ERROR, "angle channel %d out of range. \n", mapping_setup->angle[j]);
return 1; return -1;
} }
} }
} else { } else {
@ -741,7 +741,7 @@ static int vorbis_parse_setup_hdr_mappings(vorbis_context *vc) {
if(get_bits(gb, 2)) { if(get_bits(gb, 2)) {
av_log(vc->avccontext, AV_LOG_ERROR, "%d. mapping setup data invalid. \n", i); av_log(vc->avccontext, AV_LOG_ERROR, "%d. mapping setup data invalid. \n", i);
return 1; // following spec. return -1; // following spec.
} }
if (mapping_setup->submaps>1) { if (mapping_setup->submaps>1) {
@ -820,7 +820,7 @@ static int vorbis_parse_setup_hdr_modes(vorbis_context *vc) {
mode_setup->mapping=get_bits(gb, 8); mode_setup->mapping=get_bits(gb, 8);
if (mode_setup->mapping>=vc->mapping_count) { if (mode_setup->mapping>=vc->mapping_count) {
av_log(vc->avccontext, AV_LOG_ERROR, "mode mapping value %d out of range. \n", mode_setup->mapping); av_log(vc->avccontext, AV_LOG_ERROR, "mode mapping value %d out of range. \n", mode_setup->mapping);
return 1; return -1;
} }
AV_DEBUG(" %d mode: blockflag %d, windowtype %d, transformtype %d, mapping %d \n", i, mode_setup->blockflag, mode_setup->windowtype, mode_setup->transformtype, mode_setup->mapping); AV_DEBUG(" %d mode: blockflag %d, windowtype %d, transformtype %d, mapping %d \n", i, mode_setup->blockflag, mode_setup->windowtype, mode_setup->transformtype, mode_setup->mapping);
@ -837,36 +837,36 @@ static int vorbis_parse_setup_hdr(vorbis_context *vc) {
(get_bits(gb, 8)!='r') || (get_bits(gb, 8)!='b') || (get_bits(gb, 8)!='r') || (get_bits(gb, 8)!='b') ||
(get_bits(gb, 8)!='i') || (get_bits(gb, 8)!='s')) { (get_bits(gb, 8)!='i') || (get_bits(gb, 8)!='s')) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (no vorbis signature). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (no vorbis signature). \n");
return 1; return -1;
} }
if (vorbis_parse_setup_hdr_codebooks(vc)) { if (vorbis_parse_setup_hdr_codebooks(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (codebooks). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (codebooks). \n");
return 2; return -2;
} }
if (vorbis_parse_setup_hdr_tdtransforms(vc)) { if (vorbis_parse_setup_hdr_tdtransforms(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (time domain transforms). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (time domain transforms). \n");
return 3; return -3;
} }
if (vorbis_parse_setup_hdr_floors(vc)) { if (vorbis_parse_setup_hdr_floors(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (floors). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (floors). \n");
return 4; return -4;
} }
if (vorbis_parse_setup_hdr_residues(vc)) { if (vorbis_parse_setup_hdr_residues(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (residues). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (residues). \n");
return 5; return -5;
} }
if (vorbis_parse_setup_hdr_mappings(vc)) { if (vorbis_parse_setup_hdr_mappings(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (mappings). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (mappings). \n");
return 6; return -6;
} }
if (vorbis_parse_setup_hdr_modes(vc)) { if (vorbis_parse_setup_hdr_modes(vc)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (modes). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (modes). \n");
return 7; return -7;
} }
if (!get_bits1(gb)) { if (!get_bits1(gb)) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (framing flag). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis setup header packet corrupt (framing flag). \n");
return 8; // framing flag bit unset error return -8; // framing flag bit unset error
} }
return 0; return 0;
@ -882,7 +882,7 @@ static int vorbis_parse_id_hdr(vorbis_context *vc){
(get_bits(gb, 8)!='r') || (get_bits(gb, 8)!='b') || (get_bits(gb, 8)!='r') || (get_bits(gb, 8)!='b') ||
(get_bits(gb, 8)!='i') || (get_bits(gb, 8)!='s')) { (get_bits(gb, 8)!='i') || (get_bits(gb, 8)!='s')) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (no vorbis signature). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (no vorbis signature). \n");
return 1; return -1;
} }
vc->version=get_bits_long(gb, 32); //FIXME check 0 vc->version=get_bits_long(gb, 32); //FIXME check 0
@ -905,21 +905,21 @@ static int vorbis_parse_id_hdr(vorbis_context *vc){
vc->blocksize[1]=(1<<bl1); vc->blocksize[1]=(1<<bl1);
if (bl0>13 || bl0<6 || bl1>13 || bl1<6 || bl1<bl0) { if (bl0>13 || bl0<6 || bl1>13 || bl1<6 || bl1<bl0) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (illegal blocksize). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (illegal blocksize). \n");
return 3; return -3;
} }
// output format int16 // output format int16
if (vc->blocksize[1]/2 * vc->audio_channels * 2 > if (vc->blocksize[1]/2 * vc->audio_channels * 2 >
AVCODEC_MAX_AUDIO_FRAME_SIZE) { AVCODEC_MAX_AUDIO_FRAME_SIZE) {
av_log(vc->avccontext, AV_LOG_ERROR, "Vorbis channel count makes " av_log(vc->avccontext, AV_LOG_ERROR, "Vorbis channel count makes "
"output packets too large.\n"); "output packets too large.\n");
return 4; return -4;
} }
vc->win[0]=ff_vorbis_vwin[bl0-6]; vc->win[0]=ff_vorbis_vwin[bl0-6];
vc->win[1]=ff_vorbis_vwin[bl1-6]; vc->win[1]=ff_vorbis_vwin[bl1-6];
if ((get_bits1(gb)) == 0) { if ((get_bits1(gb)) == 0) {
av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (framing flag not set). \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Vorbis id header packet corrupt (framing flag not set). \n");
return 2; return -2;
} }
vc->channel_residues= av_malloc((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float)); vc->channel_residues= av_malloc((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float));
@ -1408,7 +1408,7 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr,
return vorbis_residue_decode_internal(vc, vr, ch, do_not_decode, vec, vlen, 0); return vorbis_residue_decode_internal(vc, vr, ch, do_not_decode, vec, vlen, 0);
else { else {
av_log(vc->avccontext, AV_LOG_ERROR, " Invalid residue type while residue decode?! \n"); av_log(vc->avccontext, AV_LOG_ERROR, " Invalid residue type while residue decode?! \n");
return 1; return -1;
} }
} }