packages: gpac/gpac.spec, gpac/240_all_libpng15.patch (NEW), gpac/250_all_o...

arekm arekm at pld-linux.org
Fri Feb 10 21:06:17 CET 2012


Author: arekm                        Date: Fri Feb 10 20:06:17 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 11; libpng fix

---- Files affected:
packages/gpac:
   gpac.spec (1.47 -> 1.48) , 240_all_libpng15.patch (NONE -> 1.1)  (NEW), 250_all_openjpeg14.patch (NONE -> 1.1)  (NEW), 260_all_ffmpeg_bump.patch (NONE -> 1.1)  (NEW), 270_all_ffmpeg_trunk.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gpac/gpac.spec
diff -u packages/gpac/gpac.spec:1.47 packages/gpac/gpac.spec:1.48
--- packages/gpac/gpac.spec:1.47	Tue Feb  7 23:01:49 2012
+++ packages/gpac/gpac.spec	Fri Feb 10 21:06:11 2012
@@ -16,7 +16,7 @@
 Summary(pl.UTF-8):	GPAC - implementacja standardu MPEG-4 Systems (ISO/IEC 14496-1)
 Name:		gpac
 Version:	0.4.5
-Release:	10
+Release:	11
 License:	LGPL v2+
 Group:		Applications/Multimedia
 Source0:	http://downloads.sourceforge.net/gpac/%{name}-%{version}.tar.gz
@@ -29,8 +29,11 @@
 Patch5:		%{name}-ffmpeg.patch
 Patch6:		%{name}-install-is-not-clean.patch
 Patch7:		%{name}-flags.patch
-Patch8:		%{name}-ffmpeg-0.8.patch
-Patch9:		%{name}-idl_uuid.patch
+Patch8:		%{name}-idl_uuid.patch
+Patch9:		240_all_libpng15.patch
+Patch10:	250_all_openjpeg14.patch
+Patch11:	260_all_ffmpeg_bump.patch
+Patch12:	270_all_ffmpeg_trunk.patch
 URL:		http://gpac.sourceforge.net/
 BuildRequires:	SDL-devel
 BuildRequires:	a52dec-libs-devel
@@ -142,6 +145,9 @@
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
 
 %if %{with amr}
 sed -i -e 's/amr_\([nw]b\)_ft/amr\1/' modules/amr_float_dec/amr_float_dec.c
@@ -241,6 +247,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.48  2012/02/10 20:06:11  arekm
+- rel 11; libpng fix
+
 Revision 1.47  2012/02/07 22:01:49  arekm
 - release 10
 

================================================================
Index: packages/gpac/240_all_libpng15.patch
diff -u /dev/null packages/gpac/240_all_libpng15.patch:1.1
--- /dev/null	Fri Feb 10 21:06:17 2012
+++ packages/gpac/240_all_libpng15.patch	Fri Feb 10 21:06:11 2012
@@ -0,0 +1,118 @@
+Index: gpac/src/media_tools/img.c
+===================================================================
+--- gpac.orig/src/media_tools/img.c
++++ gpac/src/media_tools/img.c
+@@ -388,7 +388,7 @@ typedef struct
+ 
+ static void user_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
+ {
+-	GFpng *ctx = (GFpng*)png_ptr->io_ptr;
++	GFpng *ctx = (GFpng*)png_get_io_ptr(png_ptr);
+ 
+ 	if (ctx->pos + length > ctx->size) {
+ 		png_error(png_ptr, "Read Error");
+@@ -399,7 +399,7 @@ static void user_read_data(png_structp p
+ }
+ static void user_error_fn(png_structp png_ptr,png_const_charp error_msg)
+ {
+-	longjmp(png_ptr->jmpbuf, 1);
++	longjmp(png_jmpbuf(png_ptr), 1);
+ }
+ 
+ GF_EXPORT
+@@ -409,7 +409,11 @@ GF_Err gf_img_png_dec(char *png, u32 png
+ 	png_struct *png_ptr;
+ 	png_info *info_ptr;
+ 	png_byte **rows;
+-	u32 i, stride, bpp;
++	u32 i, stride;
++	int num_trans;
++	png_bytep trans_alpha;
++	png_color_16p trans_color;
++	int bit_depth, color_type;
+ 
+ 	if ((png_size<8) || png_sig_cmp(png, 0, 8) ) return GF_NON_COMPLIANT_BITSTREAM;
+ 
+@@ -424,7 +428,7 @@ GF_Err gf_img_png_dec(char *png, u32 png
+ 		png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL);
+ 		return GF_IO_ERR;
+ 	}
+-	if (setjmp(png_ptr->jmpbuf)) {
++	if (setjmp(png_jmpbuf(png_ptr))) {
+ 		png_destroy_info_struct(png_ptr,(png_infopp) & info_ptr);
+ 		png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL);
+ 		return GF_IO_ERR;
+@@ -434,31 +438,31 @@ GF_Err gf_img_png_dec(char *png, u32 png
+ 
+ 	png_read_info(png_ptr, info_ptr);
+ 
++	png_get_IHDR(png_ptr,info_ptr,width,height,&bit_depth,&color_type,NULL,NULL,NULL);
+ 	/*unpaletize*/
+-	if (info_ptr->color_type==PNG_COLOR_TYPE_PALETTE) {
++	if (color_type==PNG_COLOR_TYPE_PALETTE) {
+ 		png_set_expand(png_ptr);
+ 		png_read_update_info(png_ptr, info_ptr);
+ 	}
+-	if (info_ptr->num_trans) {
++	png_get_tRNS(png_ptr,info_ptr,&trans_alpha,&num_trans,&trans_color);
++	if (num_trans) {
+ 		png_set_tRNS_to_alpha(png_ptr);
+ 		png_read_update_info(png_ptr, info_ptr);
+ 	}
+ 
+-	bpp = info_ptr->pixel_depth / 8;
+-	*width = info_ptr->width;
+-	*height = info_ptr->height;
++	png_get_IHDR(png_ptr,info_ptr,width,height,&bit_depth,&color_type,NULL,NULL,NULL);
+ 
+-	switch (info_ptr->pixel_depth) {
+-	case 8:
++	switch (color_type) {
++	case PNG_COLOR_TYPE_GRAY:
+ 		*pixel_format = GF_PIXEL_GREYSCALE;
+ 		break;
+-	case 16:
++	case PNG_COLOR_TYPE_GRAY_ALPHA:
+ 		*pixel_format = GF_PIXEL_ALPHAGREY;
+ 		break;
+-	case 24:
++	case PNG_COLOR_TYPE_RGB:
+ 		*pixel_format = GF_PIXEL_RGB_24;
+ 		break;
+-	case 32:
++	case PNG_COLOR_TYPE_RGB_ALPHA:
+ 		*pixel_format = GF_PIXEL_RGBA;
+ 		break;
+ 	default:
+@@ -469,18 +473,17 @@ GF_Err gf_img_png_dec(char *png, u32 png
+ 	}
+ 
+ 	/*new cfg, reset*/
+-	if (*dst_size != info_ptr->width * info_ptr->height * bpp) {
+-		*dst_size  = info_ptr->width * info_ptr->height * bpp;
++	if (*dst_size != png_get_rowbytes(png_ptr, info_ptr) * png_get_image_height(png_ptr,info_ptr)) {
++		*dst_size  = png_get_rowbytes(png_ptr, info_ptr) * png_get_image_height(png_ptr,info_ptr);
+ 		png_destroy_info_struct(png_ptr,(png_infopp) & info_ptr);
+ 		png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL);
+ 		return GF_BUFFER_TOO_SMALL;
+ 	}
+-	*dst_size  = info_ptr->width * info_ptr->height * bpp;
+ 
+ 	/*read*/
+ 	stride = png_get_rowbytes(png_ptr, info_ptr);
+-	rows = (png_bytepp) malloc(sizeof(png_bytep) * info_ptr->height);
+-	for (i=0; i<info_ptr->height; i++) {
++	rows = (png_bytepp) malloc(sizeof(png_bytep) * png_get_image_height(png_ptr,info_ptr));
++	for (i=0; i<png_get_image_height(png_ptr,info_ptr); i++) {
+ 		rows[i] = dst + i*stride;
+ 	}
+ 	png_read_image(png_ptr, rows);
+@@ -495,7 +498,7 @@ GF_Err gf_img_png_dec(char *png, u32 png
+ 
+ void my_png_write(png_structp png, png_bytep data, png_size_t size)
+ {
+-	GFpng *p = (GFpng *)png->io_ptr;
++	GFpng *p = (GFpng *)png_get_io_ptr(png);
+ 	memcpy(p->buffer+p->pos, data, sizeof(char)*size);
+ 	p->pos += size;
+ }

================================================================
Index: packages/gpac/250_all_openjpeg14.patch
diff -u /dev/null packages/gpac/250_all_openjpeg14.patch:1.1
--- /dev/null	Fri Feb 10 21:06:17 2012
+++ packages/gpac/250_all_openjpeg14.patch	Fri Feb 10 21:06:11 2012
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/show_bug.cgi?id=361359
+
+Index: gpac/modules/img_in/jp2_dec.c
+===================================================================
+--- gpac.orig/modules/img_in/jp2_dec.c
++++ gpac/modules/img_in/jp2_dec.c
+@@ -340,9 +340,16 @@ static GF_Err JP2_ProcessData(GF_MediaDe
+ 	return GF_OK;
+ }
+ 
++char opj_version_buffer[500];
++
+ static const char *JP2_GetCodecName(GF_BaseDecoder *dec)
+ {
++#ifndef OPENJPEG_VERSION
++	snprintf(opj_version_buffer, sizeof(opj_version_buffer), "OpenJPEG %s", opj_version());
++	return opj_version_buffer;
++#else
+ 	return "OpenJPEG "OPENJPEG_VERSION ;
++#endif
+ }
+ 
+ 

================================================================
Index: packages/gpac/260_all_ffmpeg_bump.patch
diff -u /dev/null packages/gpac/260_all_ffmpeg_bump.patch:1.1
--- /dev/null	Fri Feb 10 21:06:17 2012
+++ packages/gpac/260_all_ffmpeg_bump.patch	Fri Feb 10 21:06:11 2012
@@ -0,0 +1,134 @@
+Index: gpac/modules/ffmpeg_in/ffmpeg_decode.c
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_decode.c
++++ gpac/modules/ffmpeg_in/ffmpeg_decode.c
+@@ -111,7 +111,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 		bs = gf_bs_new(esd->decoderConfig->decoderSpecificInfo->data, esd->decoderConfig->decoderSpecificInfo->dataLength, GF_BITSTREAM_READ);
+ 		codec_id = gf_bs_read_u32(bs);
+ 		if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			ffd->ctx->sample_rate = gf_bs_read_u32(bs);
+ 			ffd->ctx->channels = gf_bs_read_u16(bs);
+ 			ffd->ctx->frame_size = gf_bs_read_u16(bs);
+@@ -121,7 +121,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 			/*ffmpeg specific*/
+ 			ffd->ctx->block_align = gf_bs_read_u16(bs);
+ 		} else if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			ffd->ctx->width = gf_bs_read_u16(bs);
+ 			ffd->ctx->height = gf_bs_read_u16(bs);
+ 		}
+@@ -138,7 +138,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 		bs = gf_bs_new(esd->decoderConfig->decoderSpecificInfo->data, esd->decoderConfig->decoderSpecificInfo->dataLength, GF_BITSTREAM_READ);
+ 		codec_id = gf_bs_read_u32(bs);
+ 		if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			ffd->ctx->sample_rate = gf_bs_read_u32(bs);
+ 			ffd->ctx->channels = gf_bs_read_u16(bs);
+ 			ffd->ctx->frame_size = gf_bs_read_u16(bs);
+@@ -151,7 +151,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 			  ffd->ctx->frame_size = 160;
+ 			}
+ 		} else if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			ffd->ctx->width = gf_bs_read_u16(bs);
+ 			ffd->ctx->height = gf_bs_read_u16(bs);
+ 		}
+@@ -163,7 +163,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 	else {
+ 		u32 codec_id = 0;
+ 		if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			switch (ffd->oti) {
+ 			case 0x20:
+ 				codec_id = CODEC_ID_MPEG4;
+@@ -190,7 +190,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ 				break;
+ 			}
+ 		} else if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			switch (ffd->oti) {
+ 			case 0x69:
+ 			case 0x6B:
+@@ -412,20 +412,20 @@ static GF_Err FFDEC_ProcessData(GF_Media
+ 
+ 	/*WARNING: this breaks H264 (and maybe others) decoding, disabled for now*/
+ #if 1
+-	if (!ffd->ctx->hurry_up) {
++	if (ffd->ctx->skip_frame=AVDISCARD_DEFAULT) {
+ 		switch (mmlevel) {
+ 		case GF_CODEC_LEVEL_SEEK:
+ 		case GF_CODEC_LEVEL_DROP:
+ 			/*skip as much as possible*/
+-			ffd->ctx->hurry_up = 5;
++			ffd->ctx->skip_frame = AVDISCARD_ALL;
+ 			break;
+ 		case GF_CODEC_LEVEL_VERY_LATE:
+ 		case GF_CODEC_LEVEL_LATE:
+ 			/*skip B-frames*/
+-			ffd->ctx->hurry_up = 1;
++			ffd->ctx->skip_frame = AVDISCARD_BIDIR;
+ 			break;
+ 		default:
+-			ffd->ctx->hurry_up = 0;
++			ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 			break;
+ 		}
+ 	}
+@@ -452,7 +452,7 @@ redecode:
+ 		if (len<0) { ffd->frame_start = 0; return GF_NON_COMPLIANT_BITSTREAM; }
+ 		if (gotpic<0) { ffd->frame_start = 0; return GF_OK; }
+ 
+-		ffd->ctx->hurry_up = 0;
++		ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 
+ 		if (ffd->ctx->frame_size < gotpic) ffd->ctx->frame_size = gotpic;
+ 
+@@ -553,7 +553,7 @@ redecode:
+ 				}
+ 			}
+ 		}
+-		ffd->ctx->hurry_up = 0;
++		ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 		/*recompute outsize in case on-the-fly change*/
+ 		if ((w != ffd->ctx->width) || (h != ffd->ctx->height)) {
+ 			outsize = ffd->ctx->width * ffd->ctx->height * 3;
+Index: gpac/modules/ffmpeg_in/ffmpeg_demux.c
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_demux.c
++++ gpac/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -233,10 +233,10 @@ static Bool FFD_CanHandleURL(GF_InputSer
+     for(i = 0; i < ctx->nb_streams; i++) {
+         AVCodecContext *enc = ctx->streams[i]->codec;
+         switch(enc->codec_type) {
+-        case CODEC_TYPE_AUDIO:
++        case AVMEDIA_TYPE_AUDIO:
+             if (!has_audio) has_audio = 1;
+             break;
+-        case CODEC_TYPE_VIDEO:
++        case AVMEDIA_TYPE_VIDEO:
+             if (!has_video) has_video= 1;
+             break;
+         default:
+@@ -552,13 +552,13 @@ static GF_Err FFD_ConnectService(GF_Inpu
+     for (i = 0; i < ffd->ctx->nb_streams; i++) {
+         AVCodecContext *enc = ffd->ctx->streams[i]->codec;
+         switch(enc->codec_type) {
+-        case CODEC_TYPE_AUDIO:
++        case AVMEDIA_TYPE_AUDIO:
+             if ((ffd->audio_st<0) && (ffd->service_type!=1)) {
+ 				ffd->audio_st = i;
+ 				ffd->audio_tscale = ffd->ctx->streams[i]->time_base;
+ 			}
+             break;
+-        case CODEC_TYPE_VIDEO:
++        case AVMEDIA_TYPE_VIDEO:
+             if ((ffd->video_st<0) && (ffd->service_type!=2)) {
+ 				ffd->video_st = i;
+ 				ffd->video_tscale = ffd->ctx->streams[i]->time_base;

================================================================
Index: packages/gpac/270_all_ffmpeg_trunk.patch
diff -u /dev/null packages/gpac/270_all_ffmpeg_trunk.patch:1.1
--- /dev/null	Fri Feb 10 21:06:17 2012
+++ packages/gpac/270_all_ffmpeg_trunk.patch	Fri Feb 10 21:06:11 2012
@@ -0,0 +1,19 @@
+Index: gpac/modules/ffmpeg_in/ffmpeg_demux.c
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_demux.c
++++ gpac/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -531,10 +531,10 @@ static GF_Err FFD_ConnectService(GF_Inpu
+ 
+ 	switch (i) {
+ 	case 0: e = GF_OK; break;
+-	case AVERROR_IO: e = GF_URL_ERROR; goto err_exit;
+-	case AVERROR_INVALIDDATA: e = GF_NON_COMPLIANT_BITSTREAM; goto err_exit;
+-	case AVERROR_NOMEM: e = GF_OUT_OF_MEM; goto err_exit;
+-	case AVERROR_NOFMT: e = GF_NOT_SUPPORTED; goto err_exit;
++	case AVERROR(EIO): e = GF_URL_ERROR; goto err_exit;
++	case AVERROR(EINVAL): e = GF_NON_COMPLIANT_BITSTREAM; goto err_exit;
++	case AVERROR(ENOMEM): e = GF_OUT_OF_MEM; goto err_exit;
++	case AVERROR(EILSEQ): e = GF_NOT_SUPPORTED; goto err_exit;
+ 	default: e = GF_SERVICE_ERROR; goto err_exit;
+ 	}
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gpac/gpac.spec?r1=1.47&r2=1.48&f=u



More information about the pld-cvs-commit mailing list