[SCM] harvid/master: Add ffmpeg_2.9.patch (Closes: #803824)

mira-guest at users.alioth.debian.org mira-guest at users.alioth.debian.org
Tue Nov 3 07:25:33 UTC 2015


The following commit has been merged in the master branch:
commit 09950811fb017cfb53a0ac17be47ca6dd01c982a
Author: Jaromír Mikeš <mira.mikes at seznam.cz>
Date:   Tue Nov 3 08:00:32 2015 +0100

    Add ffmpeg_2.9.patch (Closes: #803824)

diff --git a/debian/patches/0003-ffmpeg_2.9.patch b/debian/patches/0003-ffmpeg_2.9.patch
new file mode 100644
index 0000000..0545c92
--- /dev/null
+++ b/debian/patches/0003-ffmpeg_2.9.patch
@@ -0,0 +1,299 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Last-Update: <2015-11-02>
+
+--- harvid-0.8.0.orig/libharvid/decoder_ctrl.c
++++ harvid-0.8.0/libharvid/decoder_ctrl.c
+@@ -29,7 +29,7 @@
+ #include "ffcompat.h"
+ #include "dlog.h"
+ 
+-#define DEFAULT_PIX_FMT (PIX_FMT_RGB24) // TODO global default
++#define DEFAULT_PIX_FMT (AV_PIX_FMT_RGB24) // TODO global default
+ 
+ //#define HASH_EMIT_KEYS 3
+ #define HASH_FUNCTION HASH_SAX
+@@ -104,15 +104,15 @@ static inline int my_open_movie(void **v
+   }
+   ff_create(vd);
+   assert (
+-         render_fmt == PIX_FMT_YUV420P
+-      || render_fmt == PIX_FMT_YUV440P
+-      || render_fmt == PIX_FMT_YUYV422
+-      || render_fmt == PIX_FMT_UYVY422
+-      || render_fmt == PIX_FMT_RGB24
+-      || render_fmt == PIX_FMT_BGR24
+-      || render_fmt == PIX_FMT_RGBA
+-      || render_fmt == PIX_FMT_ARGB
+-      || render_fmt == PIX_FMT_BGRA
++         render_fmt == AV_PIX_FMT_YUV420P
++      || render_fmt == AV_PIX_FMT_YUV440P
++      || render_fmt == AV_PIX_FMT_YUYV422
++      || render_fmt == AV_PIX_FMT_UYVY422
++      || render_fmt == AV_PIX_FMT_RGB24
++      || render_fmt == AV_PIX_FMT_BGR24
++      || render_fmt == AV_PIX_FMT_RGBA
++      || render_fmt == AV_PIX_FMT_ARGB
++      || render_fmt == AV_PIX_FMT_BGRA
+       );
+ 
+   if (!ff_open_movie (*vd, fn, render_fmt)) {
+@@ -144,7 +144,7 @@ static inline void my_get_info_canonical
+ static JVOBJECT *newjvo (JVOBJECT *jvo, pthread_mutex_t *appendlock) {
+   debugmsg(DEBUG_DCTL, "DCTL: newjvo() allocated new decoder object\n");
+   JVOBJECT *n = calloc(1, sizeof(JVOBJECT));
+-  n->fmt = PIX_FMT_NONE;
++  n->fmt = AV_PIX_FMT_NONE;
+   n->frame = -1;
+   pthread_mutex_init(&n->lock, NULL);
+   JVOBJECT *cptr = jvo;
+@@ -175,8 +175,8 @@ static JVOBJECT *testjvd(JVOBJECT *jvo,
+     if (!(cptr->flags&VOF_VALID) || cptr->id != id) {
+       continue;
+     }
+-    if (fmt != PIX_FMT_NONE && cptr->fmt != fmt
+-        && cptr->fmt != PIX_FMT_NONE
++    if (fmt != AV_PIX_FMT_NONE && cptr->fmt != fmt
++        && cptr->fmt != AV_PIX_FMT_NONE
+         ) {
+       continue;
+     }
+@@ -324,7 +324,7 @@ static int clearjvo(JVD *jvd, int f, int
+       my_destroy(&cptr->decoder);
+       cptr->decoder = NULL;
+       cptr->flags &= ~VOF_OPEN;
+-      cptr->fmt = PIX_FMT_NONE;
++      cptr->fmt = AV_PIX_FMT_NONE;
+     }
+ 
+     hashref_delete_jvo(jvd, cptr);
+@@ -410,7 +410,7 @@ static JVOBJECT *getjvo(JVD *jvd) {
+         if (cptr->flags&(VOF_OPEN)) {
+           my_destroy(&cptr->decoder); // close it.
+           cptr->decoder = NULL; // not really need..
+-          cptr->fmt = PIX_FMT_NONE;
++          cptr->fmt = AV_PIX_FMT_NONE;
+         }
+ 
+         hashref_delete_jvo(jvd, cptr);
+@@ -563,7 +563,7 @@ static JVOBJECT *new_video_object(JVD *j
+ 
+ 
+   jvo->id = id;
+-  jvo->fmt = fmt == PIX_FMT_NONE ? DEFAULT_PIX_FMT : fmt;
++  jvo->fmt = fmt == AV_PIX_FMT_NONE ? DEFAULT_PIX_FMT : fmt;
+   jvo->frame = -1;
+   jvo->flags |= VOF_VALID;
+ 
+@@ -619,7 +619,7 @@ static void * dctrl_get_decoder(void *p,
+    * use it IFF frame == -1  (ie. non-blocking info lookups) */
+   if (frame < 0) {
+     pthread_rwlock_rdlock(&jvd->lock_jdh);
+-    if (fmt == PIX_FMT_NONE) {
++    if (fmt == AV_PIX_FMT_NONE) {
+       HASH_FIND(hhi, jvd->jvi, &id, sizeof(unsigned short), jvo);
+     } else {
+       const JVOBJECT jvt = {id, fmt, 0};
+@@ -670,7 +670,7 @@ static void * dctrl_get_decoder(void *p,
+       jvo->lru = time(NULL);
+       pthread_mutex_unlock(&jvo->lock);
+ 
+-      if (fmt == PIX_FMT_NONE) fmt = DEFAULT_PIX_FMT;
++      if (fmt == AV_PIX_FMT_NONE) fmt = DEFAULT_PIX_FMT;
+ 
+       if (!my_open_movie(&jvo->decoder, get_fn(jvd, jvo->id), fmt)) {
+         pthread_mutex_lock(&jvo->lock);
+@@ -798,7 +798,7 @@ int dctrl_decode(void *p, unsigned short
+ 
+ int dctrl_get_info(void *p, unsigned short id, VInfo *i) {
+   int err = 0;
+-  JVOBJECT *jvo = (JVOBJECT*) dctrl_get_decoder(p, id, PIX_FMT_NONE, -1, &err);
++  JVOBJECT *jvo = (JVOBJECT*) dctrl_get_decoder(p, id, AV_PIX_FMT_NONE, -1, &err);
+   if (!jvo) return err;
+   my_get_info(jvo->decoder, i);
+   jvo->hitcount_info++;
+--- harvid-0.8.0.orig/libharvid/ffdecoder.c
++++ harvid-0.8.0/libharvid/ffdecoder.c
+@@ -103,7 +103,7 @@ static int ff_getbuffersize(void *ptr, s
+ 
+ static void render_empty_frame(ffst *ff, uint8_t* buf, int w, int h, int xoff, int ys) {
+   switch (ff->render_fmt) {
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_UYVY422:
+       {
+ 	int i;
+ 	for (i = 0; i < w*h*2; i += 2) {
+@@ -111,7 +111,7 @@ static void render_empty_frame(ffst *ff,
+ 	}
+       }
+       break;
+-    case PIX_FMT_YUYV422:
++    case AV_PIX_FMT_YUYV422:
+       {
+ 	int i;
+ 	for (i = 0; i < w*h*2; i += 2) {
+@@ -119,25 +119,25 @@ static void render_empty_frame(ffst *ff,
+ 	}
+       }
+       break;
+-    case PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV420P:
+       {
+ 	size_t Ylen = w * h;
+ 	memset(buf, 0, Ylen);
+ 	memset(buf+Ylen, 0x80, Ylen/2);
+       }
+       break;
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV440P:
+       {
+ 	size_t Ylen = w * h;
+ 	memset(buf, 0, Ylen);
+ 	memset(buf+Ylen, 0x80, Ylen);
+       }
+       break;
+-    case PIX_FMT_BGR24:
+-    case PIX_FMT_RGB24:
+-    case PIX_FMT_RGBA:
+-    case PIX_FMT_BGRA:
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_BGR24:
++    case AV_PIX_FMT_RGB24:
++    case AV_PIX_FMT_RGBA:
++    case AV_PIX_FMT_BGRA:
++    case AV_PIX_FMT_ARGB:
+       memset(buf, 0, ff_getbuffersize(ff, NULL));
+       break;
+     default:
+@@ -148,8 +148,8 @@ static void render_empty_frame(ffst *ff,
+ #if 1 // draw cross
+   int x,y;
+   switch (ff->render_fmt) {
+-    case PIX_FMT_YUV420P:
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV440P:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = (x + w * y);
+ 	buf[off]=127; buf[off+1]=127;
+@@ -157,8 +157,8 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off]=127; buf[off+1]=127;
+       }
+       break;
+-    case PIX_FMT_YUYV422:
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_YUYV422:
++    case AV_PIX_FMT_UYVY422:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = (x + w * y) * 2;
+ 	buf[off] = 127; buf[off+1] = 127;
+@@ -166,8 +166,8 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off] = 127; buf[off+1] = 127;
+       }
+       break;
+-    case PIX_FMT_RGB24:
+-    case PIX_FMT_BGR24:
++    case AV_PIX_FMT_RGB24:
++    case AV_PIX_FMT_BGR24:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = 3 * (x + w * y);
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+@@ -175,11 +175,11 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+       }
+       break;
+-    case PIX_FMT_RGBA:
+-    case PIX_FMT_BGRA:
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_RGBA:
++    case AV_PIX_FMT_BGRA:
++    case AV_PIX_FMT_ARGB:
+       {
+-      const int O = (ff->render_fmt == PIX_FMT_ARGB) ? 1 : 0;
++      const int O = (ff->render_fmt == AV_PIX_FMT_ARGB) ? 1 : 0;
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = 4 * (x + w * y) + O;
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+@@ -726,7 +726,7 @@ void ff_get_info_canonical(void *ptr, VI
+ 
+ void ff_create(void **ff) {
+   (*((ffst**)ff)) = (ffst*) calloc(1, sizeof(ffst));
+-  (*((ffst**)ff))->render_fmt = PIX_FMT_RGB24;
++  (*((ffst**)ff))->render_fmt = AV_PIX_FMT_RGB24;
+   (*((ffst**)ff))->want_ignstart = 0;
+   (*((ffst**)ff))->want_genpts = 0;
+   (*((ffst**)ff))->packet.data = NULL;
+@@ -769,25 +769,25 @@ void ff_resize(void *ptr, int w, int h,
+ 
+ const char * ff_fmt_to_text(int fmt) {
+   switch (fmt) {
+-    case PIX_FMT_NONE:
++    case AV_PIX_FMT_NONE:
+       return "-";
+-    case PIX_FMT_BGR24:
++    case AV_PIX_FMT_BGR24:
+       return "BGR24";
+-    case PIX_FMT_RGB24:
++    case AV_PIX_FMT_RGB24:
+       return "RGB24";
+-    case PIX_FMT_RGBA:
++    case AV_PIX_FMT_RGBA:
+       return "RGBA";
+-    case PIX_FMT_BGRA:
++    case AV_PIX_FMT_BGRA:
+       return "BGRA";
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_ARGB:
+       return "ARGB";
+-    case PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV420P:
+       return "YUV420P";
+-    case PIX_FMT_YUYV422:
++    case AV_PIX_FMT_YUYV422:
+       return "YUYV422";
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_UYVY422:
+       return "UYVY422";
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV440P:
+       return "YUV440P";
+     default:
+       return "?";
+--- harvid-0.8.0.orig/src/ics_handler.c
++++ harvid-0.8.0/src/ics_handler.c
+@@ -109,16 +109,16 @@ void parse_param(struct queryparserstate
+     else if (!strncmp(val, "jpeg",4)) {qps->a->render_fmt = FMT_JPG; qps->a->misc_int = atoi(&val[4]);}
+     else if (!strcmp(val, "png"))      qps->a->render_fmt = FMT_PNG;
+     else if (!strcmp(val, "ppm"))      qps->a->render_fmt = FMT_PPM;
+-    else if (!strcmp(val, "yuv"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV420P;}
+-    else if (!strcmp(val, "yuv420"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV420P;}
+-    else if (!strcmp(val, "yuv440"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV440P;}
+-    else if (!strcmp(val, "yuv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUYV422;}
+-    else if (!strcmp(val, "uyv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_UYVY422;}
+-    else if (!strcmp(val, "rgb"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_RGB24;}
+-    else if (!strcmp(val, "bgr"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_BGR24;}
+-    else if (!strcmp(val, "rgba"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_RGBA;}
+-    else if (!strcmp(val, "argb"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_ARGB;}
+-    else if (!strcmp(val, "bgra"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_BGRA;}
++    else if (!strcmp(val, "yuv"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV420P;}
++    else if (!strcmp(val, "yuv420"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV420P;}
++    else if (!strcmp(val, "yuv440"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV440P;}
++    else if (!strcmp(val, "yuv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUYV422;}
++    else if (!strcmp(val, "uyv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_UYVY422;}
++    else if (!strcmp(val, "rgb"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_RGB24;}
++    else if (!strcmp(val, "bgr"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_BGR24;}
++    else if (!strcmp(val, "rgba"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_RGBA;}
++    else if (!strcmp(val, "argb"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_ARGB;}
++    else if (!strcmp(val, "bgra"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_BGRA;}
+     /* info, version, rc,... format */
+     else if (!strcmp(val, "html"))    qps->a->render_fmt = OUT_HTML;
+     else if (!strcmp(val, "xhtml"))   qps->a->render_fmt = OUT_HTML;
+@@ -141,7 +141,7 @@ static void parse_http_query_params(stru
+ static int parse_http_query(CONN *c, char *query, httpheader *h, ics_request_args *a) {
+   struct queryparserstate qps = {a, NULL, 0};
+ 
+-  a->decode_fmt = PIX_FMT_RGB24;
++  a->decode_fmt = AV_PIX_FMT_RGB24;
+   a->render_fmt = FMT_PNG;
+   a->frame = 0;
+   a->misc_int = 0;
diff --git a/debian/patches/series b/debian/patches/series
index 80c0dd0..392eb74 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
-0001-Fix-build-with-libav-10.patch
+#0001-Fix-build-with-libav-10.patch
 0002-spelling.patch
+0003-ffmpeg_2.9.patch

-- 
harvid packaging



More information about the pkg-multimedia-commits mailing list