Guest User

Kodi allwinner vdpau buildpatch

a guest
Jan 17th, 2016
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 92.10 KB | None | 0 0
  1. diff -rNu xbmc-helix_allwinner_gles_support.orig/Makefile.in xbmc-helix_allwinner_gles_support/Makefile.in
  2. --- xbmc-helix_allwinner_gles_support.orig/Makefile.in  2016-01-17 13:57:24.996801693 +0100
  3. +++ xbmc-helix_allwinner_gles_support/Makefile.in   2016-01-17 13:58:03.595550266 +0100
  4. @@ -1,5 +1,4 @@
  5.  include bootstrap.mk
  6. -include tools/a10/depends/depends.mk
  7.  
  8.  null :=
  9.  space := ${null} ${null}
  10. diff -rNu xbmc-helix_allwinner_gles_support.orig/tools/depends/target/ffmpeg/0001-MPEG4-vdpau-2.4.6-Helix.patch xbmc-helix_allwinner_gles_support/tools/depends/target/ffmpeg/0001-MPEG4-vdpau-2.4.6-Helix.patch
  11. --- xbmc-helix_allwinner_gles_support.orig/tools/depends/target/ffmpeg/0001-MPEG4-vdpau-2.4.6-Helix.patch   2016-01-17 13:57:25.130130705 +0100
  12. +++ xbmc-helix_allwinner_gles_support/tools/depends/target/ffmpeg/0001-MPEG4-vdpau-2.4.6-Helix.patch    2016-01-17 15:05:32.303801305 +0100
  13. @@ -1,34 +1,7 @@
  14. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/allcodecs.c ffmpeg-2.4.6-Helix/libavcodec/allcodecs.c
  15. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/allcodecs.c  2015-01-17 19:09:02.000000000 +0100
  16. -+++ ffmpeg-2.4.6-Helix/libavcodec/allcodecs.c  2015-04-12 13:47:40.666645526 +0200
  17. -@@ -68,60 +68,61 @@
  18. - void avcodec_register_all(void)
  19. - {
  20. -     static int initialized;
  21. -
  22. -     if (initialized)
  23. -         return;
  24. -     initialized = 1;
  25. -
  26. -     /* hardware accelerators */
  27. -     REGISTER_HWACCEL(H263_VAAPI,        h263_vaapi);
  28. -     REGISTER_HWACCEL(H263_VDPAU,        h263_vdpau);
  29. -     REGISTER_HWACCEL(H264_DXVA2,        h264_dxva2);
  30. -     REGISTER_HWACCEL(H264_VAAPI,        h264_vaapi);
  31. -     REGISTER_HWACCEL(H264_VDA,          h264_vda);
  32. -     REGISTER_HWACCEL(H264_VDA_OLD,      h264_vda_old);
  33. -     REGISTER_HWACCEL(H264_VDPAU,        h264_vdpau);
  34. -     REGISTER_HWACCEL(MPEG1_XVMC,        mpeg1_xvmc);
  35. -     REGISTER_HWACCEL(MPEG1_VDPAU,       mpeg1_vdpau);
  36. -     REGISTER_HWACCEL(MPEG2_XVMC,        mpeg2_xvmc);
  37. -     REGISTER_HWACCEL(MPEG2_DXVA2,       mpeg2_dxva2);
  38. -     REGISTER_HWACCEL(MPEG2_VAAPI,       mpeg2_vaapi);
  39. -     REGISTER_HWACCEL(MPEG2_VDPAU,       mpeg2_vdpau);
  40. -     REGISTER_HWACCEL(MPEG4_VAAPI,       mpeg4_vaapi);
  41. -     REGISTER_HWACCEL(MPEG4_VDPAU,       mpeg4_vdpau);
  42. -     REGISTER_HWACCEL(VC1_DXVA2,         vc1_dxva2);
  43. -     REGISTER_HWACCEL(VC1_VAAPI,         vc1_vaapi);
  44. -     REGISTER_HWACCEL(VC1_VDPAU,         vc1_vdpau);
  45. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/allcodecs.c FFmpeg-2.4.6-Helix/libavcodec/allcodecs.c
  46. +--- FFmpeg-2.4.6-Helix.old/libavcodec/allcodecs.c  2016-01-17 14:13:22.725713844 +0100
  47. ++++ FFmpeg-2.4.6-Helix/libavcodec/allcodecs.c  2016-01-17 14:13:44.578337073 +0100
  48. +@@ -95,6 +95,7 @@
  49.       REGISTER_HWACCEL(WMV3_DXVA2,        wmv3_dxva2);
  50.       REGISTER_HWACCEL(WMV3_VAAPI,        wmv3_vaapi);
  51.       REGISTER_HWACCEL(WMV3_VDPAU,        wmv3_vdpau);
  52. @@ -36,61 +9,7 @@
  53.  
  54.       /* video codecs */
  55.       REGISTER_ENCODER(A64MULTI,          a64multi);
  56. -     REGISTER_ENCODER(A64MULTI5,         a64multi5);
  57. -     REGISTER_DECODER(AASC,              aasc);
  58. -     REGISTER_DECODER(AIC,               aic);
  59. -     REGISTER_ENCDEC (ALIAS_PIX,         alias_pix);
  60. -     REGISTER_ENCDEC (AMV,               amv);
  61. -     REGISTER_DECODER(ANM,               anm);
  62. -     REGISTER_DECODER(ANSI,              ansi);
  63. -     REGISTER_ENCDEC (ASV1,              asv1);
  64. -     REGISTER_ENCDEC (ASV2,              asv2);
  65. -     REGISTER_DECODER(AURA,              aura);
  66. -     REGISTER_DECODER(AURA2,             aura2);
  67. -     REGISTER_ENCDEC (AVRP,              avrp);
  68. -     REGISTER_DECODER(AVRN,              avrn);
  69. -     REGISTER_DECODER(AVS,               avs);
  70. -     REGISTER_ENCDEC (AVUI,              avui);
  71. -     REGISTER_ENCDEC (AYUV,              ayuv);
  72. -     REGISTER_DECODER(BETHSOFTVID,       bethsoftvid);
  73. -     REGISTER_DECODER(BFI,               bfi);
  74. -     REGISTER_DECODER(BINK,              bink);
  75. -     REGISTER_ENCDEC (BMP,               bmp);
  76. -     REGISTER_DECODER(BMV_VIDEO,         bmv_video);
  77. -     REGISTER_DECODER(BRENDER_PIX,       brender_pix);
  78. -     REGISTER_DECODER(C93,               c93);
  79. -     REGISTER_DECODER(CAVS,              cavs);
  80. -     REGISTER_DECODER(CDGRAPHICS,        cdgraphics);
  81. -     REGISTER_DECODER(CDXL,              cdxl);
  82. -     REGISTER_ENCDEC (CINEPAK,           cinepak);
  83. -@@ -183,60 +184,62 @@
  84. -     REGISTER_DECODER(INTERPLAY_VIDEO,   interplay_video);
  85. -     REGISTER_ENCDEC (JPEG2000,          jpeg2000);
  86. -     REGISTER_ENCDEC (JPEGLS,            jpegls);
  87. -     REGISTER_DECODER(JV,                jv);
  88. -     REGISTER_DECODER(KGV1,              kgv1);
  89. -     REGISTER_DECODER(KMVC,              kmvc);
  90. -     REGISTER_DECODER(LAGARITH,          lagarith);
  91. -     REGISTER_ENCODER(LJPEG,             ljpeg);
  92. -     REGISTER_DECODER(LOCO,              loco);
  93. -     REGISTER_DECODER(MDEC,              mdec);
  94. -     REGISTER_DECODER(MIMIC,             mimic);
  95. -     REGISTER_ENCDEC (MJPEG,             mjpeg);
  96. -     REGISTER_DECODER(MJPEGB,            mjpegb);
  97. -     REGISTER_DECODER(MMVIDEO,           mmvideo);
  98. -     REGISTER_DECODER(MOTIONPIXELS,      motionpixels);
  99. - #if FF_API_XVMC
  100. -     REGISTER_DECODER(MPEG_XVMC,         mpeg_xvmc);
  101. - #endif /* FF_API_XVMC */
  102. -     REGISTER_ENCDEC (MPEG1VIDEO,        mpeg1video);
  103. -     REGISTER_ENCDEC (MPEG2VIDEO,        mpeg2video);
  104. -     REGISTER_ENCDEC (MPEG4,             mpeg4);
  105. -     REGISTER_DECODER(MPEG4_CRYSTALHD,   mpeg4_crystalhd);
  106. -     REGISTER_DECODER(MPEG4_VDPAU,       mpeg4_vdpau);
  107. -     REGISTER_DECODER(MPEGVIDEO,         mpegvideo);
  108. -     REGISTER_DECODER(MPEG_VDPAU,        mpeg_vdpau);
  109. -     REGISTER_DECODER(MPEG1_VDPAU,       mpeg1_vdpau);
  110. -     REGISTER_DECODER(MPEG2_CRYSTALHD,   mpeg2_crystalhd);
  111. +@@ -210,6 +211,8 @@
  112.       REGISTER_DECODER(MSA1,              msa1);
  113.       REGISTER_DECODER(MSMPEG4_CRYSTALHD, msmpeg4_crystalhd);
  114.       REGISTER_DECODER(MSMPEG4V1,         msmpeg4v1);
  115. @@ -99,64 +18,10 @@
  116.       REGISTER_ENCDEC (MSMPEG4V2,         msmpeg4v2);
  117.       REGISTER_ENCDEC (MSMPEG4V3,         msmpeg4v3);
  118.       REGISTER_DECODER(MSRLE,             msrle);
  119. -     REGISTER_DECODER(MSS1,              mss1);
  120. -     REGISTER_DECODER(MSS2,              mss2);
  121. -     REGISTER_ENCDEC (MSVIDEO1,          msvideo1);
  122. -     REGISTER_DECODER(MSZH,              mszh);
  123. -     REGISTER_DECODER(MTS2,              mts2);
  124. -     REGISTER_DECODER(MVC1,              mvc1);
  125. -     REGISTER_DECODER(MVC2,              mvc2);
  126. -     REGISTER_DECODER(MXPEG,             mxpeg);
  127. -     REGISTER_DECODER(NUV,               nuv);
  128. -     REGISTER_DECODER(PAF_VIDEO,         paf_video);
  129. -     REGISTER_ENCDEC (PAM,               pam);
  130. -     REGISTER_ENCDEC (PBM,               pbm);
  131. -     REGISTER_ENCDEC (PCX,               pcx);
  132. -     REGISTER_ENCDEC (PGM,               pgm);
  133. -     REGISTER_ENCDEC (PGMYUV,            pgmyuv);
  134. -     REGISTER_DECODER(PICTOR,            pictor);
  135. -     REGISTER_ENCDEC (PNG,               png);
  136. -     REGISTER_ENCDEC (PPM,               ppm);
  137. -     REGISTER_ENCDEC (PRORES,            prores);
  138. -     REGISTER_ENCODER(PRORES_AW,         prores_aw);
  139. -     REGISTER_ENCODER(PRORES_KS,         prores_ks);
  140. -     REGISTER_DECODER(PRORES_LGPL,       prores_lgpl);
  141. -     REGISTER_DECODER(PTX,               ptx);
  142. -     REGISTER_DECODER(QDRAW,             qdraw);
  143. -     REGISTER_DECODER(QPEG,              qpeg);
  144. -     REGISTER_ENCDEC (QTRLE,             qtrle);
  145. -     REGISTER_ENCDEC (R10K,              r10k);
  146. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/avcodec.h ffmpeg-2.4.6-Helix/libavcodec/avcodec.h
  147. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/avcodec.h    2015-01-17 19:09:02.000000000 +0100
  148. -+++ ffmpeg-2.4.6-Helix/libavcodec/avcodec.h    2015-04-12 13:47:40.686644914 +0200
  149. -@@ -100,60 +100,61 @@
  150. -  * 1. no value of a existing codec ID changes (that would break ABI),
  151. -  * 2. Give it a value which when taken as ASCII is recognized uniquely by a human as this specific codec.
  152. -  *    This ensures that 2 forks can independently add AVCodecIDs without producing conflicts.
  153. -  *
  154. -  * After adding new codec IDs, do not forget to add an entry to the codec
  155. -  * descriptor list and bump libavcodec minor version.
  156. -  */
  157. - enum AVCodecID {
  158. -     AV_CODEC_ID_NONE,
  159. -
  160. -     /* video codecs */
  161. -     AV_CODEC_ID_MPEG1VIDEO,
  162. -     AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
  163. - #if FF_API_XVMC
  164. -     AV_CODEC_ID_MPEG2VIDEO_XVMC,
  165. - #endif /* FF_API_XVMC */
  166. -     AV_CODEC_ID_H261,
  167. -     AV_CODEC_ID_H263,
  168. -     AV_CODEC_ID_RV10,
  169. -     AV_CODEC_ID_RV20,
  170. -     AV_CODEC_ID_MJPEG,
  171. -     AV_CODEC_ID_MJPEGB,
  172. -     AV_CODEC_ID_LJPEG,
  173. -     AV_CODEC_ID_SP5X,
  174. -     AV_CODEC_ID_JPEGLS,
  175. -     AV_CODEC_ID_MPEG4,
  176. -     AV_CODEC_ID_RAWVIDEO,
  177. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/avcodec.h FFmpeg-2.4.6-Helix/libavcodec/avcodec.h
  178. +--- FFmpeg-2.4.6-Helix.old/libavcodec/avcodec.h    2016-01-17 14:13:22.735713519 +0100
  179. ++++ FFmpeg-2.4.6-Helix/libavcodec/avcodec.h    2016-01-17 14:13:44.581670298 +0100
  180. +@@ -127,6 +127,7 @@
  181.       AV_CODEC_ID_MSMPEG4V1,
  182.       AV_CODEC_ID_MSMPEG4V2,
  183.       AV_CODEC_ID_MSMPEG4V3,
  184. @@ -164,61 +29,7 @@
  185.       AV_CODEC_ID_WMV1,
  186.       AV_CODEC_ID_WMV2,
  187.       AV_CODEC_ID_H263P,
  188. -     AV_CODEC_ID_H263I,
  189. -     AV_CODEC_ID_FLV1,
  190. -     AV_CODEC_ID_SVQ1,
  191. -     AV_CODEC_ID_SVQ3,
  192. -     AV_CODEC_ID_DVVIDEO,
  193. -     AV_CODEC_ID_HUFFYUV,
  194. -     AV_CODEC_ID_CYUV,
  195. -     AV_CODEC_ID_H264,
  196. -     AV_CODEC_ID_INDEO3,
  197. -     AV_CODEC_ID_VP3,
  198. -     AV_CODEC_ID_THEORA,
  199. -     AV_CODEC_ID_ASV1,
  200. -     AV_CODEC_ID_ASV2,
  201. -     AV_CODEC_ID_FFV1,
  202. -     AV_CODEC_ID_4XM,
  203. -     AV_CODEC_ID_VCR1,
  204. -     AV_CODEC_ID_CLJR,
  205. -     AV_CODEC_ID_MDEC,
  206. -     AV_CODEC_ID_ROQ,
  207. -     AV_CODEC_ID_INTERPLAY_VIDEO,
  208. -     AV_CODEC_ID_XAN_WC3,
  209. -     AV_CODEC_ID_XAN_WC4,
  210. -     AV_CODEC_ID_RPZA,
  211. -     AV_CODEC_ID_CINEPAK,
  212. -     AV_CODEC_ID_WS_VQA,
  213. -     AV_CODEC_ID_MSRLE,
  214. -     AV_CODEC_ID_MSVIDEO1,
  215. -@@ -1452,63 +1453,65 @@
  216. -      */
  217. -     int me_method;
  218. -
  219. -     /**
  220. -      * If non NULL, 'draw_horiz_band' is called by the libavcodec
  221. -      * decoder to draw a horizontal band. It improves cache usage. Not
  222. -      * all codecs can do that. You must check the codec capabilities
  223. -      * beforehand.
  224. -      * When multithreading is used, it may be called from multiple threads
  225. -      * at the same time; threads might draw different parts of the same AVFrame,
  226. -      * or multiple AVFrames, and there is no guarantee that slices will be drawn
  227. -      * in order.
  228. -      * The function is also used by hardware acceleration APIs.
  229. -      * It is called at least once during frame decoding to pass
  230. -      * the data needed for hardware render.
  231. -      * In that mode instead of pixel data, AVFrame points to
  232. -      * a structure specific to the acceleration API. The application
  233. -      * reads the structure and can change some fields to indicate progress
  234. -      * or mark state.
  235. -      * - encoding: unused
  236. -      * - decoding: Set by user.
  237. -      * @param height the height of the slice
  238. -      * @param y the y position of the slice
  239. -      * @param type 1->top field, 2->bottom field, 3->frame
  240. -      * @param offset offset into the AVFrame.data from which the slice should be read
  241. -      */
  242. -     void (*draw_horiz_band)(struct AVCodecContext *s,
  243. +@@ -1479,9 +1480,11 @@
  244.                               const AVFrame *src, int offset[AV_NUM_DATA_POINTERS],
  245.                               int y, int type, int height);
  246.  
  247. @@ -231,64 +42,10 @@
  248.        * it is terminated by -1 as 0 is a valid format, the formats are ordered by quality.
  249.        * The first is always the native one.
  250.        * @return the chosen format
  251. -      * - encoding: unused
  252. -      * - decoding: Set by user, if not set the native format will be chosen.
  253. -      */
  254. -     enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
  255. -
  256. -     /**
  257. -      * maximum number of B-frames between non-B-frames
  258. -      * Note: The output will be delayed by max_b_frames+1 relative to the input.
  259. -      * - encoding: Set by user.
  260. -      * - decoding: unused
  261. -      */
  262. -     int max_b_frames;
  263. -
  264. -     /**
  265. -      * qscale factor between IP and B-frames
  266. -      * If > 0 then the last P-frame quantizer will be used (q= lastp_q*factor+offset).
  267. -      * If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset).
  268. -      * - encoding: Set by user.
  269. -      * - decoding: unused
  270. -      */
  271. -     float b_quant_factor;
  272. -
  273. -     /** obsolete FIXME remove */
  274. -     int rc_strategy;
  275. - #define FF_RC_STRATEGY_XVID 1
  276. -
  277. -     int b_frame_strategy;
  278. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/h263dec.c ffmpeg-2.4.6-Helix/libavcodec/h263dec.c
  279. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/h263dec.c    2015-01-17 19:09:02.000000000 +0100
  280. -+++ ffmpeg-2.4.6-Helix/libavcodec/h263dec.c    2015-11-25 21:45:58.896907707 +0100
  281. -@@ -120,97 +120,101 @@
  282. -     if (avctx->codec->id != AV_CODEC_ID_H263 &&
  283. -         avctx->codec->id != AV_CODEC_ID_H263P &&
  284. -         avctx->codec->id != AV_CODEC_ID_MPEG4) {
  285. -         ff_mpv_idct_init(s);
  286. -         if ((ret = ff_mpv_common_init(s)) < 0)
  287. -             return ret;
  288. -     }
  289. -
  290. -     ff_h263dsp_init(&s->h263dsp);
  291. -     ff_qpeldsp_init(&s->qdsp);
  292. -     ff_h263_decode_init_vlc();
  293. -
  294. -     return 0;
  295. - }
  296. -
  297. - av_cold int ff_h263_decode_end(AVCodecContext *avctx)
  298. - {
  299. -     MpegEncContext *s = avctx->priv_data;
  300. -
  301. -     ff_mpv_common_end(s);
  302. -     return 0;
  303. - }
  304. -
  305. - /**
  306. -  * Return the number of bytes consumed for building the current frame.
  307. -  */
  308. - static int get_consumed_bytes(MpegEncContext *s, int buf_size)
  309. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/h263dec.c FFmpeg-2.4.6-Helix/libavcodec/h263dec.c
  310. +--- FFmpeg-2.4.6-Helix.old/libavcodec/h263dec.c    2016-01-17 14:13:22.745713194 +0100
  311. ++++ FFmpeg-2.4.6-Helix/libavcodec/h263dec.c    2016-01-17 14:13:44.581670298 +0100
  312. +@@ -147,7 +147,11 @@
  313.   {
  314.       int pos = (get_bits_count(&s->gb) + 7) >> 3;
  315.  
  316. @@ -301,35 +58,7 @@
  317.           /* We would have to scan through the whole buf to handle the weird
  318.            * reordering ... */
  319.           return buf_size;
  320. -     } else if (s->flags & CODEC_FLAG_TRUNCATED) {
  321. -         pos -= s->parse_context.last_index;
  322. -         // padding is not really read so this might be -1
  323. -         if (pos < 0)
  324. -             pos = 0;
  325. -         return pos;
  326. -     } else {
  327. -         // avoid infinite loops (maybe not needed...)
  328. -         if (pos == 0)
  329. -             pos = 1;
  330. -         // oops ;)
  331. -         if (pos + 10 > buf_size)
  332. -             pos = buf_size;
  333. -
  334. -         return pos;
  335. -     }
  336. - }
  337. -
  338. - static int decode_slice(MpegEncContext *s)
  339. - {
  340. -     const int part_mask = s->partitioned_frame
  341. -                           ? (ER_AC_END | ER_AC_ERROR) : 0x7F;
  342. -     const int mb_size   = 16 >> s->avctx->lowres;
  343. -     int ret;
  344. -
  345. -     s->last_resync_gb   = s->gb;
  346. -     s->first_slice_line = 1;
  347. -     s->resync_mb_x      = s->mb_x;
  348. -     s->resync_mb_y      = s->mb_y;
  349. +@@ -183,7 +187,7 @@
  350.  
  351.       ff_set_qscale(s, s->qscale);
  352.  
  353. @@ -338,64 +67,22 @@
  354.           const uint8_t *start = s->gb.buffer + get_bits_count(&s->gb) / 8;
  355.           ret = s->avctx->hwaccel->decode_slice(s->avctx, start, s->gb.buffer_end - start);
  356.           // ensure we exit decode loop
  357. -         s->mb_y = s->mb_height;
  358. -         return ret;
  359. -     }
  360. -
  361. -     if (s->partitioned_frame) {
  362. -         const int qscale = s->qscale;
  363. -
  364. -         if (CONFIG_MPEG4_DECODER && s->codec_id == AV_CODEC_ID_MPEG4)
  365. -             if ((ret = ff_mpeg4_decode_partitions(s->avctx->priv_data)) < 0)
  366. -                 return ret;
  367. -
  368. -         /* restore variables which were modified */
  369. -         s->first_slice_line = 1;
  370. -         s->mb_x             = s->resync_mb_x;
  371. -         s->mb_y             = s->resync_mb_y;
  372. -         ff_set_qscale(s, qscale);
  373. -     }
  374. -
  375. -     for (; s->mb_y < s->mb_height; s->mb_y++) {
  376. -         /* per-row end of slice checks */
  377. -         if (s->msmpeg4_version) {
  378. -             if (s->resync_mb_y + s->slice_height == s->mb_y) {
  379. -                 ff_er_add_slice(&s->er, s->resync_mb_x, s->resync_mb_y,
  380. -                                 s->mb_x - 1, s->mb_y, ER_MB_END);
  381. -
  382. -                 return 0;
  383. -             }
  384. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c ffmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c
  385. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c  2015-01-17 19:09:02.000000000 +0100
  386. -+++ ffmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c  2015-11-27 23:23:41.214933363 +0100
  387. -@@ -1161,73 +1161,73 @@
  388. -     err = ff_mpeg_update_thread_context(avctx, avctx_from);
  389. -     if (err)
  390. -         return err;
  391. -
  392. -     if (!ctx->mpeg_enc_ctx_allocated)
  393. -         memcpy(s + 1, s1 + 1, sizeof(Mpeg1Context) - sizeof(MpegEncContext));
  394. -
  395. -     if (!(s->pict_type == AV_PICTURE_TYPE_B || s->low_delay))
  396. -         s->picture_number++;
  397. -
  398. -     return 0;
  399. - }
  400. -
  401. - static void quant_matrix_rebuild(uint16_t *matrix, const uint8_t *old_perm,
  402. -                                  const uint8_t *new_perm)
  403. - {
  404. -     uint16_t temp_matrix[64];
  405. -     int i;
  406. -
  407. -     memcpy(temp_matrix, matrix, 64 * sizeof(uint16_t));
  408. -
  409. -     for (i = 0; i < 64; i++)
  410. -         matrix[new_perm[i]] = temp_matrix[old_perm[i]];
  411. - }
  412. -
  413. - static const enum AVPixelFormat mpeg1_hwaccel_pixfmt_list_420[] = {
  414. - #if CONFIG_MPEG1_XVMC_HWACCEL
  415. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/Makefile FFmpeg-2.4.6-Helix/libavcodec/Makefile
  416. +--- FFmpeg-2.4.6-Helix.old/libavcodec/Makefile 2016-01-17 14:13:22.729047069 +0100
  417. ++++ FFmpeg-2.4.6-Helix/libavcodec/Makefile 2016-01-17 14:14:29.956862395 +0100
  418. +@@ -652,7 +652,7 @@
  419. + OBJS-$(CONFIG_VDPAU)                      += vdpau.o
  420. +
  421. + OBJS-$(CONFIG_H263_VAAPI_HWACCEL)         += vaapi_mpeg4.o vaapi_mpeg.o
  422. +-OBJS-$(CONFIG_H263_VDPAU_HWACCEL)         += vdpau_mpeg4.o
  423. ++OBJS-$(CONFIG_H263_VDPAU_HWACCEL)         += vdpau_mpeg4.o vdpau_msmpeg4.o
  424. + OBJS-$(CONFIG_H264_DXVA2_HWACCEL)         += dxva2_h264.o
  425. + OBJS-$(CONFIG_H264_VAAPI_HWACCEL)         += vaapi_h264.o
  426. + OBJS-$(CONFIG_H264_VDA_HWACCEL)           += vda_h264.o
  427. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/mpeg12dec.c FFmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c
  428. +--- FFmpeg-2.4.6-Helix.old/libavcodec/mpeg12dec.c  2016-01-17 14:13:22.759046094 +0100
  429. ++++ FFmpeg-2.4.6-Helix/libavcodec/mpeg12dec.c  2016-01-17 14:13:44.585003523 +0100
  430. +@@ -1188,7 +1188,7 @@
  431.       AV_PIX_FMT_XVMC,
  432.   #endif
  433.   #if CONFIG_MPEG1_VDPAU_HWACCEL
  434. @@ -404,11 +91,7 @@
  435.       AV_PIX_FMT_VDPAU,
  436.   #endif
  437.       AV_PIX_FMT_YUV420P,
  438. -     AV_PIX_FMT_NONE
  439. - };
  440. -
  441. - static const enum AVPixelFormat mpeg2_hwaccel_pixfmt_list_420[] = {
  442. - #if CONFIG_MPEG2_XVMC_HWACCEL
  443. +@@ -1200,7 +1200,7 @@
  444.       AV_PIX_FMT_XVMC,
  445.   #endif
  446.   #if CONFIG_MPEG2_VDPAU_HWACCEL
  447. @@ -417,64 +100,10 @@
  448.       AV_PIX_FMT_VDPAU,
  449.   #endif
  450.   #if CONFIG_MPEG2_DXVA2_HWACCEL
  451. -     AV_PIX_FMT_DXVA2_VLD,
  452. - #endif
  453. - #if CONFIG_MPEG2_VAAPI_HWACCEL
  454. -     AV_PIX_FMT_VAAPI_VLD,
  455. - #endif
  456. -     AV_PIX_FMT_YUV420P,
  457. -     AV_PIX_FMT_NONE
  458. - };
  459. -
  460. - static const enum AVPixelFormat mpeg12_pixfmt_list_422[] = {
  461. -     AV_PIX_FMT_YUV422P,
  462. -     AV_PIX_FMT_NONE
  463. - };
  464. -
  465. - static const enum AVPixelFormat mpeg12_pixfmt_list_444[] = {
  466. -     AV_PIX_FMT_YUV444P,
  467. -     AV_PIX_FMT_NONE
  468. - };
  469. -
  470. - static inline int uses_vdpau(AVCodecContext *avctx) {
  471. -     return avctx->pix_fmt == AV_PIX_FMT_VDPAU_MPEG1 || avctx->pix_fmt == AV_PIX_FMT_VDPAU_MPEG2;
  472. - }
  473. -
  474. - static enum AVPixelFormat mpeg_get_pixelformat(AVCodecContext *avctx)
  475. - {
  476. -     Mpeg1Context *s1  = avctx->priv_data;
  477. -     MpegEncContext *s = &s1->mpeg_enc_ctx;
  478. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c ffmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c
  479. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c  2015-01-17 19:09:02.000000000 +0100
  480. -+++ ffmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c  2015-11-27 23:23:41.504923953 +0100
  481. -@@ -5,60 +5,61 @@
  482. -  *
  483. -  * This file is part of FFmpeg.
  484. -  *
  485. -  * FFmpeg is free software; you can redistribute it and/or
  486. -  * modify it under the terms of the GNU Lesser General Public
  487. -  * License as published by the Free Software Foundation; either
  488. -  * version 2.1 of the License, or (at your option) any later version.
  489. -  *
  490. -  * FFmpeg is distributed in the hope that it will be useful,
  491. -  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  492. -  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  493. -  * Lesser General Public License for more details.
  494. -  *
  495. -  * You should have received a copy of the GNU Lesser General Public
  496. -  * License along with FFmpeg; if not, write to the Free Software
  497. -  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  498. -  */
  499. -
  500. - #define UNCHECKED_BITSTREAM_READER 1
  501. -
  502. - #include "libavutil/opt.h"
  503. - #include "error_resilience.h"
  504. - #include "idctdsp.h"
  505. - #include "internal.h"
  506. - #include "mpegutils.h"
  507. - #include "mpegvideo.h"
  508. - #include "mpeg4video.h"
  509. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/mpeg4videodec.c FFmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c
  510. +--- FFmpeg-2.4.6-Helix.old/libavcodec/mpeg4videodec.c  2016-01-17 14:13:22.759046094 +0100
  511. ++++ FFmpeg-2.4.6-Helix/libavcodec/mpeg4videodec.c  2016-01-17 14:13:44.585003523 +0100
  512. +@@ -32,6 +32,7 @@
  513.   #include "h263.h"
  514.   #include "thread.h"
  515.   #include "xvididct.h"
  516. @@ -482,61 +111,7 @@
  517.  
  518.   /* The defines below define the number of bits that are read at once for
  519.    * reading vlc values. Changing these may improve speed and data cache needs
  520. -  * be aware though that decreasing them may need the number of stages that is
  521. -  * passed to get_vlc* to be increased. */
  522. - #define SPRITE_TRAJ_VLC_BITS 6
  523. - #define DC_VLC_BITS 9
  524. - #define MB_TYPE_B_VLC_BITS 4
  525. -
  526. - static VLC dc_lum, dc_chrom;
  527. - static VLC sprite_trajectory;
  528. - static VLC mb_type_b_vlc;
  529. -
  530. - static const int mb_type_b_map[4] = {
  531. -     MB_TYPE_DIRECT2 | MB_TYPE_L0L1,
  532. -     MB_TYPE_L0L1    | MB_TYPE_16x16,
  533. -     MB_TYPE_L1      | MB_TYPE_16x16,
  534. -     MB_TYPE_L0      | MB_TYPE_16x16,
  535. - };
  536. -
  537. - /**
  538. -  * Predict the ac.
  539. -  * @param n block index (0-3 are luma, 4-5 are chroma)
  540. -  * @param dir the ac prediction direction
  541. -  */
  542. - void ff_mpeg4_pred_ac(MpegEncContext *s, int16_t *block, int n, int dir)
  543. - {
  544. -     int i;
  545. -     int16_t *ac_val, *ac_val1;
  546. -     int8_t *const qscale_table = s->current_picture.qscale_table;
  547. -@@ -2563,60 +2564,63 @@
  548. -             else if (startcode == 0x1BA)
  549. -                 av_log(s->avctx, AV_LOG_DEBUG, "FBA Object start");
  550. -             else if (startcode == 0x1BB)
  551. -                 av_log(s->avctx, AV_LOG_DEBUG, "FBA Object Plane start");
  552. -             else if (startcode == 0x1BC)
  553. -                 av_log(s->avctx, AV_LOG_DEBUG, "Mesh Object start");
  554. -             else if (startcode == 0x1BD)
  555. -                 av_log(s->avctx, AV_LOG_DEBUG, "Mesh Object Plane start");
  556. -             else if (startcode == 0x1BE)
  557. -                 av_log(s->avctx, AV_LOG_DEBUG, "Still Texture Object start");
  558. -             else if (startcode == 0x1BF)
  559. -                 av_log(s->avctx, AV_LOG_DEBUG, "Texture Spatial Layer start");
  560. -             else if (startcode == 0x1C0)
  561. -                 av_log(s->avctx, AV_LOG_DEBUG, "Texture SNR Layer start");
  562. -             else if (startcode == 0x1C1)
  563. -                 av_log(s->avctx, AV_LOG_DEBUG, "Texture Tile start");
  564. -             else if (startcode == 0x1C2)
  565. -                 av_log(s->avctx, AV_LOG_DEBUG, "Texture Shape Layer start");
  566. -             else if (startcode == 0x1C3)
  567. -                 av_log(s->avctx, AV_LOG_DEBUG, "stuffing start");
  568. -             else if (startcode <= 0x1C5)
  569. -                 av_log(s->avctx, AV_LOG_DEBUG, "reserved");
  570. -             else if (startcode <= 0x1FF)
  571. -                 av_log(s->avctx, AV_LOG_DEBUG, "System start");
  572. -             av_log(s->avctx, AV_LOG_DEBUG, " at %d\n", get_bits_count(gb));
  573. -         }
  574. -
  575. +@@ -2590,6 +2591,9 @@
  576.           if (startcode >= 0x120 && startcode <= 0x12F) {
  577.               if (decode_vol_header(ctx, gb) < 0)
  578.                   return -1;
  579. @@ -546,61 +121,7 @@
  580.           } else if (startcode == USER_DATA_STARTCODE) {
  581.               decode_user_data(ctx, gb);
  582.           } else if (startcode == GOP_STARTCODE) {
  583. -             mpeg4_decode_gop_header(s, gb);
  584. -         } else if (startcode == VOS_STARTCODE) {
  585. -             mpeg4_decode_profile_level(s, gb);
  586. -         } else if (startcode == VOP_STARTCODE) {
  587. -             break;
  588. -         }
  589. -
  590. -         align_get_bits(gb);
  591. -         startcode = 0xff;
  592. -     }
  593. -
  594. - end:
  595. -     if (s->flags & CODEC_FLAG_LOW_DELAY)
  596. -         s->low_delay = 1;
  597. -     s->avctx->has_b_frames = !s->low_delay;
  598. -
  599. -     return decode_vop_header(ctx, gb);
  600. - }
  601. -
  602. - av_cold void ff_mpeg4videodec_static_init(void) {
  603. -     static int done = 0;
  604. -
  605. -     if (!done) {
  606. -         ff_init_rl(&ff_mpeg4_rl_intra, ff_mpeg4_static_rl_table_store[0]);
  607. -         ff_init_rl(&ff_rvlc_rl_inter, ff_mpeg4_static_rl_table_store[1]);
  608. -         ff_init_rl(&ff_rvlc_rl_intra, ff_mpeg4_static_rl_table_store[2]);
  609. -         INIT_VLC_RL(ff_mpeg4_rl_intra, 554);
  610. -@@ -2732,75 +2736,89 @@
  611. -     { FF_PROFILE_MPEG4_CORE,                      "Core Profile" },
  612. -     { FF_PROFILE_MPEG4_MAIN,                      "Main Profile" },
  613. -     { FF_PROFILE_MPEG4_N_BIT,                     "N-bit Profile" },
  614. -     { FF_PROFILE_MPEG4_SCALABLE_TEXTURE,          "Scalable Texture Profile" },
  615. -     { FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION,     "Simple Face Animation Profile" },
  616. -     { FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE,    "Basic Animated Texture Profile" },
  617. -     { FF_PROFILE_MPEG4_HYBRID,                    "Hybrid Profile" },
  618. -     { FF_PROFILE_MPEG4_ADVANCED_REAL_TIME,        "Advanced Real Time Simple Profile" },
  619. -     { FF_PROFILE_MPEG4_CORE_SCALABLE,             "Code Scalable Profile" },
  620. -     { FF_PROFILE_MPEG4_ADVANCED_CODING,           "Advanced Coding Profile" },
  621. -     { FF_PROFILE_MPEG4_ADVANCED_CORE,             "Advanced Core Profile" },
  622. -     { FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE, "Advanced Scalable Texture Profile" },
  623. -     { FF_PROFILE_MPEG4_SIMPLE_STUDIO,             "Simple Studio Profile" },
  624. -     { FF_PROFILE_MPEG4_ADVANCED_SIMPLE,           "Advanced Simple Profile" },
  625. -     { FF_PROFILE_UNKNOWN },
  626. - };
  627. -
  628. - static const AVOption mpeg4_options[] = {
  629. -     {"quarter_sample", "1/4 subpel MC", offsetof(MpegEncContext, quarter_sample), FF_OPT_TYPE_INT, {.i64 = 0}, 0, 1, 0},
  630. -     {"divx_packed", "divx style packed b frames", offsetof(MpegEncContext, divx_packed), FF_OPT_TYPE_INT, {.i64 = 0}, 0, 1, 0},
  631. -     {NULL}
  632. - };
  633. -
  634. - static const AVClass mpeg4_class = {
  635. -     "MPEG4 Video Decoder",
  636. -     av_default_item_name,
  637. -     mpeg4_options,
  638. +@@ -2759,6 +2763,18 @@
  639.       LIBAVUTIL_VERSION_INT,
  640.   };
  641.  
  642. @@ -619,9 +140,7 @@
  643.   AVCodec ff_mpeg4_decoder = {
  644.       .name                  = "mpeg4",
  645.       .long_name             = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
  646. -     .type                  = AVMEDIA_TYPE_VIDEO,
  647. -     .id                    = AV_CODEC_ID_MPEG4,
  648. -     .priv_data_size        = sizeof(Mpeg4DecContext),
  649. +@@ -2768,12 +2784,12 @@
  650.       .init                  = decode_init,
  651.       .close                 = ff_h263_decode_end,
  652.       .decode                = ff_h263_decode_frame,
  653. @@ -636,23 +155,7 @@
  654.       .profiles              = NULL_IF_CONFIG_SMALL(mpeg4_video_profiles),
  655.       .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context),
  656.       .priv_class = &mpeg4_class,
  657. - };
  658. -
  659. -
  660. - #if CONFIG_MPEG4_VDPAU_DECODER
  661. - static const AVClass mpeg4_vdpau_class = {
  662. -     "MPEG4 Video VDPAU Decoder",
  663. -     av_default_item_name,
  664. -     mpeg4_options,
  665. -     LIBAVUTIL_VERSION_INT,
  666. - };
  667. -
  668. - AVCodec ff_mpeg4_vdpau_decoder = {
  669. -     .name           = "mpeg4_vdpau",
  670. -     .long_name      = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 (VDPAU)"),
  671. -     .type           = AVMEDIA_TYPE_VIDEO,
  672. -     .id             = AV_CODEC_ID_MPEG4,
  673. -     .priv_data_size = sizeof(Mpeg4DecContext),
  674. +@@ -2797,10 +2813,12 @@
  675.       .init           = decode_init,
  676.       .close          = ff_h263_decode_end,
  677.       .decode         = ff_h263_decode_frame,
  678. @@ -666,37 +169,10 @@
  679.       .priv_class     = &mpeg4_vdpau_class,
  680.   };
  681.   #endif
  682. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c ffmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c
  683. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c 2015-01-17 19:09:02.000000000 +0100
  684. -+++ ffmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c 2015-11-27 23:23:42.794882089 +0100
  685. -@@ -884,97 +884,159 @@
  686. -     code = get_vlc2(&s->gb, mv->vlc.table, MV_VLC_BITS, 2);
  687. -     if (code < 0){
  688. -         av_log(s->avctx, AV_LOG_ERROR, "illegal MV code at %d %d\n", s->mb_x, s->mb_y);
  689. -         return -1;
  690. -     }
  691. -     if (code == mv->n) {
  692. -         mx = get_bits(&s->gb, 6);
  693. -         my = get_bits(&s->gb, 6);
  694. -     } else {
  695. -         mx = mv->table_mvx[code];
  696. -         my = mv->table_mvy[code];
  697. -     }
  698. -
  699. -     mx += *mx_ptr - 32;
  700. -     my += *my_ptr - 32;
  701. -     /* WARNING : they do not do exactly modulo encoding */
  702. -     if (mx <= -64)
  703. -         mx += 64;
  704. -     else if (mx >= 64)
  705. -         mx -= 64;
  706. -
  707. -     if (my <= -64)
  708. -         my += 64;
  709. -     else if (my >= 64)
  710. -         my -= 64;
  711. -     *mx_ptr = mx;
  712. -     *my_ptr = my;
  713. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/msmpeg4dec.c FFmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c
  714. +--- FFmpeg-2.4.6-Helix.old/libavcodec/msmpeg4dec.c 2016-01-17 14:13:22.759046094 +0100
  715. ++++ FFmpeg-2.4.6-Helix/libavcodec/msmpeg4dec.c 2016-01-17 14:13:44.585003523 +0100
  716. +@@ -911,6 +911,18 @@
  717.       return 0;
  718.   }
  719.  
  720. @@ -715,11 +191,7 @@
  721.   AVCodec ff_msmpeg4v1_decoder = {
  722.       .name           = "msmpeg4v1",
  723.       .long_name      = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
  724. -     .type           = AVMEDIA_TYPE_VIDEO,
  725. -     .id             = AV_CODEC_ID_MSMPEG4V1,
  726. -     .priv_data_size = sizeof(MpegEncContext),
  727. -     .init           = ff_msmpeg4_decode_init,
  728. -     .close          = ff_h263_decode_end,
  729. +@@ -922,10 +934,7 @@
  730.       .decode         = ff_h263_decode_frame,
  731.       .capabilities   = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
  732.       .max_lowres     = 3,
  733. @@ -731,13 +203,7 @@
  734.   };
  735.  
  736.   AVCodec ff_msmpeg4v2_decoder = {
  737. -     .name           = "msmpeg4v2",
  738. -     .long_name      = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
  739. -     .type           = AVMEDIA_TYPE_VIDEO,
  740. -     .id             = AV_CODEC_ID_MSMPEG4V2,
  741. -     .priv_data_size = sizeof(MpegEncContext),
  742. -     .init           = ff_msmpeg4_decode_init,
  743. -     .close          = ff_h263_decode_end,
  744. +@@ -939,10 +948,7 @@
  745.       .decode         = ff_h263_decode_frame,
  746.       .capabilities   = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
  747.       .max_lowres     = 3,
  748. @@ -749,13 +215,7 @@
  749.   };
  750.  
  751.   AVCodec ff_msmpeg4v3_decoder = {
  752. -     .name           = "msmpeg4",
  753. -     .long_name      = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
  754. -     .type           = AVMEDIA_TYPE_VIDEO,
  755. -     .id             = AV_CODEC_ID_MSMPEG4V3,
  756. -     .priv_data_size = sizeof(MpegEncContext),
  757. -     .init           = ff_msmpeg4_decode_init,
  758. -     .close          = ff_h263_decode_end,
  759. +@@ -956,10 +962,7 @@
  760.       .decode         = ff_h263_decode_frame,
  761.       .capabilities   = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
  762.       .max_lowres     = 3,
  763. @@ -767,13 +227,7 @@
  764.   };
  765.  
  766.   AVCodec ff_wmv1_decoder = {
  767. -     .name           = "wmv1",
  768. -     .long_name      = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
  769. -     .type           = AVMEDIA_TYPE_VIDEO,
  770. -     .id             = AV_CODEC_ID_WMV1,
  771. -     .priv_data_size = sizeof(MpegEncContext),
  772. -     .init           = ff_msmpeg4_decode_init,
  773. -     .close          = ff_h263_decode_end,
  774. +@@ -973,8 +976,67 @@
  775.       .decode         = ff_h263_decode_frame,
  776.       .capabilities   = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
  777.       .max_lowres     = 3,
  778. @@ -782,7 +236,7 @@
  779.  -        AV_PIX_FMT_NONE
  780.  -    },
  781.  +    .pix_fmts       = ff_msmpeg_hwaccel_pixfmt_list_420,
  782. -+};
  783. + };
  784.  +
  785.  +#define CONFIG_MSMPEGV3_VDPAU_DECODER 1
  786.  +#if CONFIG_MSMPEGV3_VDPAU_DECODER
  787. @@ -797,7 +251,7 @@
  788.  +    av_default_item_name,
  789.  +    msmpeg_options,
  790.  +    LIBAVUTIL_VERSION_INT,
  791. - };
  792. ++};
  793.  +
  794.  +AVCodec ff_msmpeg4v3_vdpau_decoder = {
  795.  +    .name           = "msmpeg4_vdpau",
  796. @@ -845,37 +299,10 @@
  797.  +};
  798.  +
  799.  +#endif
  800. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h ffmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h
  801. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h  2015-01-17 19:09:02.000000000 +0100
  802. -+++ ffmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h  2015-04-12 13:47:40.716643996 +0200
  803. -@@ -22,60 +22,61 @@
  804. - /*
  805. -  * This header exists to prevent new codec IDs from being accidentally added to
  806. -  * the deprecated list.
  807. -  * Do not include it directly. It will be removed on next major bump
  808. -  *
  809. -  * Do not add new items to this list. Use the AVCodecID enum instead.
  810. -  */
  811. -
  812. -     CODEC_ID_NONE = AV_CODEC_ID_NONE,
  813. -
  814. -     /* video codecs */
  815. -     CODEC_ID_MPEG1VIDEO,
  816. -     CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
  817. - #if FF_API_XVMC
  818. -     CODEC_ID_MPEG2VIDEO_XVMC,
  819. - #endif
  820. -     CODEC_ID_H261,
  821. -     CODEC_ID_H263,
  822. -     CODEC_ID_RV10,
  823. -     CODEC_ID_RV20,
  824. -     CODEC_ID_MJPEG,
  825. -     CODEC_ID_MJPEGB,
  826. -     CODEC_ID_LJPEG,
  827. -     CODEC_ID_SP5X,
  828. -     CODEC_ID_JPEGLS,
  829. -     CODEC_ID_MPEG4,
  830. -     CODEC_ID_RAWVIDEO,
  831. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/old_codec_ids.h FFmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h
  832. +--- FFmpeg-2.4.6-Helix.old/libavcodec/old_codec_ids.h  2016-01-17 14:13:22.762379319 +0100
  833. ++++ FFmpeg-2.4.6-Helix/libavcodec/old_codec_ids.h  2016-01-17 14:13:44.585003523 +0100
  834. +@@ -49,6 +49,7 @@
  835.       CODEC_ID_MSMPEG4V1,
  836.       CODEC_ID_MSMPEG4V2,
  837.       CODEC_ID_MSMPEG4V3,
  838. @@ -883,64 +310,10 @@
  839.       CODEC_ID_WMV1,
  840.       CODEC_ID_WMV2,
  841.       CODEC_ID_H263P,
  842. -     CODEC_ID_H263I,
  843. -     CODEC_ID_FLV1,
  844. -     CODEC_ID_SVQ1,
  845. -     CODEC_ID_SVQ3,
  846. -     CODEC_ID_DVVIDEO,
  847. -     CODEC_ID_HUFFYUV,
  848. -     CODEC_ID_CYUV,
  849. -     CODEC_ID_H264,
  850. -     CODEC_ID_INDEO3,
  851. -     CODEC_ID_VP3,
  852. -     CODEC_ID_THEORA,
  853. -     CODEC_ID_ASV1,
  854. -     CODEC_ID_ASV2,
  855. -     CODEC_ID_FFV1,
  856. -     CODEC_ID_4XM,
  857. -     CODEC_ID_VCR1,
  858. -     CODEC_ID_CLJR,
  859. -     CODEC_ID_MDEC,
  860. -     CODEC_ID_ROQ,
  861. -     CODEC_ID_INTERPLAY_VIDEO,
  862. -     CODEC_ID_XAN_WC3,
  863. -     CODEC_ID_XAN_WC4,
  864. -     CODEC_ID_RPZA,
  865. -     CODEC_ID_CINEPAK,
  866. -     CODEC_ID_WS_VQA,
  867. -     CODEC_ID_MSRLE,
  868. -     CODEC_ID_MSVIDEO1,
  869. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/utils.c ffmpeg-2.4.6-Helix/libavcodec/utils.c
  870. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/utils.c  2015-01-17 19:09:02.000000000 +0100
  871. -+++ ffmpeg-2.4.6-Helix/libavcodec/utils.c  2015-04-21 23:02:33.370142488 +0200
  872. -@@ -1119,62 +1119,62 @@
  873. - {
  874. -     int i;
  875. -
  876. -     for (i = 0; i < count; i++) {
  877. -         int r = func(c, arg, i, 0);
  878. -         if (ret)
  879. -             ret[i] = r;
  880. -     }
  881. -     return 0;
  882. - }
  883. -
  884. - enum AVPixelFormat avpriv_find_pix_fmt(const PixelFormatTag *tags,
  885. -                                        unsigned int fourcc)
  886. - {
  887. -     while (tags->pix_fmt >= 0) {
  888. -         if (tags->fourcc == fourcc)
  889. -             return tags->pix_fmt;
  890. -         tags++;
  891. -     }
  892. -     return AV_PIX_FMT_NONE;
  893. - }
  894. -
  895. - static int is_hwaccel_pix_fmt(enum AVPixelFormat pix_fmt)
  896. - {
  897. -     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
  898. -     return desc->flags & AV_PIX_FMT_FLAG_HWACCEL;
  899. - }
  900. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/utils.c FFmpeg-2.4.6-Helix/libavcodec/utils.c
  901. +--- FFmpeg-2.4.6-Helix.old/libavcodec/utils.c  2016-01-17 14:13:22.775712219 +0100
  902. ++++ FFmpeg-2.4.6-Helix/libavcodec/utils.c  2016-01-17 14:13:44.588336748 +0100
  903. +@@ -1146,8 +1146,8 @@
  904.  
  905.   enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
  906.   {
  907. @@ -951,61 +324,7 @@
  908.       return fmt[0];
  909.   }
  910.  
  911. - static AVHWAccel *find_hwaccel(enum AVCodecID codec_id,
  912. -                                enum AVPixelFormat pix_fmt)
  913. - {
  914. -     AVHWAccel *hwaccel = NULL;
  915. -
  916. -     while ((hwaccel = av_hwaccel_next(hwaccel)))
  917. -         if (hwaccel->id == codec_id
  918. -             && hwaccel->pix_fmt == pix_fmt)
  919. -             return hwaccel;
  920. -     return NULL;
  921. - }
  922. -
  923. -
  924. - int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
  925. - {
  926. -     const AVPixFmtDescriptor *desc;
  927. -     enum AVPixelFormat ret = avctx->get_format(avctx, fmt);
  928. -
  929. -     desc = av_pix_fmt_desc_get(ret);
  930. -     if (!desc)
  931. -         return AV_PIX_FMT_NONE;
  932. -
  933. -     if (avctx->hwaccel && avctx->hwaccel->uninit)
  934. -         avctx->hwaccel->uninit(avctx);
  935. -     av_freep(&avctx->internal->hwaccel_priv_data);
  936. -     avctx->hwaccel = NULL;
  937. -
  938. -@@ -2266,60 +2266,61 @@
  939. -     if (!avctx->codec)
  940. -         return AVERROR(EINVAL);
  941. -     if (avctx->codec->type != AVMEDIA_TYPE_VIDEO) {
  942. -         av_log(avctx, AV_LOG_ERROR, "Invalid media type for video\n");
  943. -         return AVERROR(EINVAL);
  944. -     }
  945. -
  946. -     *got_picture_ptr = 0;
  947. -     if ((avctx->coded_width || avctx->coded_height) && av_image_check_size(avctx->coded_width, avctx->coded_height, 0, avctx))
  948. -         return AVERROR(EINVAL);
  949. -
  950. -     av_frame_unref(picture);
  951. -
  952. -     if ((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size || (avctx->active_thread_type & FF_THREAD_FRAME)) {
  953. -         int did_split = av_packet_split_side_data(&tmp);
  954. -         ret = apply_param_change(avctx, &tmp);
  955. -         if (ret < 0) {
  956. -             av_log(avctx, AV_LOG_ERROR, "Error applying parameter changes.\n");
  957. -             if (avctx->err_recognition & AV_EF_EXPLODE)
  958. -                 goto fail;
  959. -         }
  960. -
  961. -         avctx->internal->pkt = &tmp;
  962. -         if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)
  963. -             ret = ff_thread_decode_frame(avctx, picture, got_picture_ptr,
  964. -                                          &tmp);
  965. -         else {
  966. +@@ -2293,6 +2293,7 @@
  967.               ret = avctx->codec->decode(avctx, picture, got_picture_ptr,
  968.                                          &tmp);
  969.               picture->pkt_dts = avpkt->dts;
  970. @@ -1013,64 +332,10 @@
  971.  
  972.               if(!avctx->has_b_frames){
  973.                   av_frame_set_pkt_pos(picture, avpkt->pos);
  974. -             }
  975. -             //FIXME these should be under if(!avctx->has_b_frames)
  976. -             /* get_buffer is supposed to set frame parameters */
  977. -             if (!(avctx->codec->capabilities & CODEC_CAP_DR1)) {
  978. -                 if (!picture->sample_aspect_ratio.num)    picture->sample_aspect_ratio = avctx->sample_aspect_ratio;
  979. -                 if (!picture->width)                      picture->width               = avctx->width;
  980. -                 if (!picture->height)                     picture->height              = avctx->height;
  981. -                 if (picture->format == AV_PIX_FMT_NONE)   picture->format              = avctx->pix_fmt;
  982. -             }
  983. -         }
  984. -         add_metadata_from_side_data(avctx, picture);
  985. -
  986. - fail:
  987. -         emms_c(); //needed to avoid an emms_c() call before every return;
  988. -
  989. -         avctx->internal->pkt = NULL;
  990. -         if (did_split) {
  991. -             av_packet_free_side_data(&tmp);
  992. -             if(ret == tmp.size)
  993. -                 ret = avpkt->size;
  994. -         }
  995. -
  996. -         if (*got_picture_ptr) {
  997. -             if (!avctx->refcounted_frames) {
  998. -                 int err = unrefcount_frame(avci, picture);
  999. -                 if (err < 0)
  1000. -                     return err;
  1001. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vc1dec.c ffmpeg-2.4.6-Helix/libavcodec/vc1dec.c
  1002. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vc1dec.c 2015-01-17 19:09:02.000000000 +0100
  1003. -+++ ffmpeg-2.4.6-Helix/libavcodec/vc1dec.c 2015-11-27 23:23:44.814816535 +0100
  1004. -@@ -6291,77 +6291,77 @@
  1005. - };
  1006. -
  1007. - #if CONFIG_WMV3_DECODER
  1008. - AVCodec ff_wmv3_decoder = {
  1009. -     .name           = "wmv3",
  1010. -     .long_name      = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
  1011. -     .type           = AVMEDIA_TYPE_VIDEO,
  1012. -     .id             = AV_CODEC_ID_WMV3,
  1013. -     .priv_data_size = sizeof(VC1Context),
  1014. -     .init           = vc1_decode_init,
  1015. -     .close          = ff_vc1_decode_end,
  1016. -     .decode         = vc1_decode_frame,
  1017. -     .flush          = ff_mpeg_flush,
  1018. -     .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_DELAY,
  1019. -     .pix_fmts       = vc1_hwaccel_pixfmt_list_420,
  1020. -     .profiles       = NULL_IF_CONFIG_SMALL(profiles)
  1021. - };
  1022. - #endif
  1023. -
  1024. - #if CONFIG_WMV3_VDPAU_DECODER
  1025. - AVCodec ff_wmv3_vdpau_decoder = {
  1026. -     .name           = "wmv3_vdpau",
  1027. -     .long_name      = NULL_IF_CONFIG_SMALL("Windows Media Video 9 VDPAU"),
  1028. -     .type           = AVMEDIA_TYPE_VIDEO,
  1029. -     .id             = AV_CODEC_ID_WMV3,
  1030. -     .priv_data_size = sizeof(VC1Context),
  1031. -     .init           = vc1_decode_init,
  1032. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vc1dec.c FFmpeg-2.4.6-Helix/libavcodec/vc1dec.c
  1033. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vc1dec.c 2016-01-17 14:13:22.775712219 +0100
  1034. ++++ FFmpeg-2.4.6-Helix/libavcodec/vc1dec.c 2016-01-17 14:13:44.588336748 +0100
  1035. +@@ -6318,7 +6318,7 @@
  1036.       .close          = ff_vc1_decode_end,
  1037.       .decode         = vc1_decode_frame,
  1038.       .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU,
  1039. @@ -1079,15 +344,7 @@
  1040.       .profiles       = NULL_IF_CONFIG_SMALL(profiles)
  1041.   };
  1042.   #endif
  1043. -
  1044. - #if CONFIG_VC1_VDPAU_DECODER
  1045. - AVCodec ff_vc1_vdpau_decoder = {
  1046. -     .name           = "vc1_vdpau",
  1047. -     .long_name      = NULL_IF_CONFIG_SMALL("SMPTE VC-1 VDPAU"),
  1048. -     .type           = AVMEDIA_TYPE_VIDEO,
  1049. -     .id             = AV_CODEC_ID_VC1,
  1050. -     .priv_data_size = sizeof(VC1Context),
  1051. -     .init           = vc1_decode_init,
  1052. +@@ -6334,7 +6334,7 @@
  1053.       .close          = ff_vc1_decode_end,
  1054.       .decode         = vc1_decode_frame,
  1055.       .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU,
  1056. @@ -1096,64 +353,10 @@
  1057.       .profiles       = NULL_IF_CONFIG_SMALL(profiles)
  1058.   };
  1059.   #endif
  1060. -
  1061. - #if CONFIG_WMV3IMAGE_DECODER
  1062. - AVCodec ff_wmv3image_decoder = {
  1063. -     .name           = "wmv3image",
  1064. -     .long_name      = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
  1065. -     .type           = AVMEDIA_TYPE_VIDEO,
  1066. -     .id             = AV_CODEC_ID_WMV3IMAGE,
  1067. -     .priv_data_size = sizeof(VC1Context),
  1068. -     .init           = vc1_decode_init,
  1069. -     .close          = ff_vc1_decode_end,
  1070. -     .decode         = vc1_decode_frame,
  1071. -     .capabilities   = CODEC_CAP_DR1,
  1072. -     .flush          = vc1_sprite_flush,
  1073. -     .pix_fmts       = (const enum AVPixelFormat[]) {
  1074. -         AV_PIX_FMT_YUV420P,
  1075. -         AV_PIX_FMT_NONE
  1076. -     },
  1077. - };
  1078. - #endif
  1079. -
  1080. - #if CONFIG_VC1IMAGE_DECODER
  1081. - AVCodec ff_vc1image_decoder = {
  1082. -     .name           = "vc1image",
  1083. -     .long_name      = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
  1084. -     .type           = AVMEDIA_TYPE_VIDEO,
  1085. -     .id             = AV_CODEC_ID_VC1IMAGE,
  1086. -     .priv_data_size = sizeof(VC1Context),
  1087. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau.c ffmpeg-2.4.6-Helix/libavcodec/vdpau.c
  1088. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau.c  2015-01-17 19:09:02.000000000 +0100
  1089. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau.c  2015-04-12 14:59:02.433297203 +0200
  1090. -@@ -409,63 +409,65 @@
  1091. -
  1092. -     render = (struct vdpau_render_state *)s->current_picture_ptr->f->data[0];
  1093. -     assert(render);
  1094. -
  1095. -     /* fill VdpPictureInfoMPEG4Part2 struct */
  1096. -     render->info.mpeg4.trd[0]                            = s->pp_time;
  1097. -     render->info.mpeg4.trb[0]                            = s->pb_time;
  1098. -     render->info.mpeg4.trd[1]                            = s->pp_field_time >> 1;
  1099. -     render->info.mpeg4.trb[1]                            = s->pb_field_time >> 1;
  1100. -     render->info.mpeg4.vop_time_increment_resolution     = s->avctx->time_base.den;
  1101. -     render->info.mpeg4.vop_coding_type                   = 0;
  1102. -     render->info.mpeg4.vop_fcode_forward                 = s->f_code;
  1103. -     render->info.mpeg4.vop_fcode_backward                = s->b_code;
  1104. -     render->info.mpeg4.resync_marker_disable             = !ctx->resync_marker;
  1105. -     render->info.mpeg4.interlaced                        = !s->progressive_sequence;
  1106. -     render->info.mpeg4.quant_type                        = s->mpeg_quant;
  1107. -     render->info.mpeg4.quarter_sample                    = s->quarter_sample;
  1108. -     render->info.mpeg4.short_video_header                = s->avctx->codec->id == AV_CODEC_ID_H263;
  1109. -     render->info.mpeg4.rounding_control                  = s->no_rounding;
  1110. -     render->info.mpeg4.alternate_vertical_scan_flag      = s->alternate_scan;
  1111. -     render->info.mpeg4.top_field_first                   = s->top_field_first;
  1112. -     for (i = 0; i < 64; ++i) {
  1113. -         render->info.mpeg4.intra_quantizer_matrix[i]     = s->intra_matrix[i];
  1114. -         render->info.mpeg4.non_intra_quantizer_matrix[i] = s->inter_matrix[i];
  1115. -     }
  1116. -     render->info.mpeg4.forward_reference                 = VDP_INVALID_HANDLE;
  1117. -     render->info.mpeg4.backward_reference                = VDP_INVALID_HANDLE;
  1118. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau.c FFmpeg-2.4.6-Helix/libavcodec/vdpau.c
  1119. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau.c  2016-01-17 14:13:22.775712219 +0100
  1120. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau.c  2016-01-17 14:13:44.588336748 +0100
  1121. +@@ -436,9 +436,11 @@
  1122.  
  1123.       switch (s->pict_type) {
  1124.       case AV_PICTURE_TYPE_B:
  1125. @@ -1165,64 +368,10 @@
  1126.           render->info.mpeg4.vop_coding_type        = 2;
  1127.           // no break here, going to set forward prediction
  1128.       case AV_PICTURE_TYPE_P:
  1129. -         last = (struct vdpau_render_state *)s->last_picture.f->data[0];
  1130. -         assert(last);
  1131. -         render->info.mpeg4.forward_reference      = last->surface;
  1132. -     }
  1133. -
  1134. -     ff_vdpau_add_data_chunk(s->current_picture_ptr->f->data[0], buf, buf_size);
  1135. -
  1136. -     ff_mpeg_draw_horiz_band(s, 0, s->avctx->height);
  1137. -     render->bitstream_buffers_used = 0;
  1138. - }
  1139. - #endif /* CONFIG_MPEG4_VDPAU_DECODER */
  1140. -
  1141. - int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile *profile)
  1142. - {
  1143. - #define PROFILE(prof)       \
  1144. - do {                        \
  1145. -     *profile = prof;        \
  1146. -     return 0;               \
  1147. - } while (0)
  1148. -
  1149. -     switch (avctx->codec_id) {
  1150. -     case AV_CODEC_ID_MPEG1VIDEO:               PROFILE(VDP_DECODER_PROFILE_MPEG1);
  1151. -     case AV_CODEC_ID_MPEG2VIDEO:
  1152. -         switch (avctx->profile) {
  1153. -         case FF_PROFILE_MPEG2_MAIN:            PROFILE(VDP_DECODER_PROFILE_MPEG2_MAIN);
  1154. -         case FF_PROFILE_MPEG2_SIMPLE:          PROFILE(VDP_DECODER_PROFILE_MPEG2_SIMPLE);
  1155. -         default:                               return AVERROR(EINVAL);
  1156. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau.h ffmpeg-2.4.6-Helix/libavcodec/vdpau.h
  1157. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau.h  2015-01-17 19:09:02.000000000 +0100
  1158. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau.h  2015-04-12 13:47:40.716643996 +0200
  1159. -@@ -74,60 +74,61 @@
  1160. -                                const VdpBitstreamBuffer *);
  1161. -
  1162. - /**
  1163. -  * This structure is used to share data between the libavcodec library and
  1164. -  * the client video application.
  1165. -  * The user shall allocate the structure via the av_alloc_vdpau_hwaccel
  1166. -  * function and make it available as
  1167. -  * AVCodecContext.hwaccel_context. Members can be set by the user once
  1168. -  * during initialization or through each AVCodecContext.get_buffer()
  1169. -  * function call. In any case, they must be valid prior to calling
  1170. -  * decoding functions.
  1171. -  *
  1172. -  * The size of this structure is not a part of the public ABI and must not
  1173. -  * be used outside of libavcodec. Use av_vdpau_alloc_context() to allocate an
  1174. -  * AVVDPAUContext.
  1175. -  */
  1176. - typedef struct AVVDPAUContext {
  1177. -     /**
  1178. -      * VDPAU decoder handle
  1179. -      *
  1180. -      * Set by user.
  1181. -      */
  1182. -     VdpDecoder decoder;
  1183. -
  1184. -     /**
  1185. -      * VDPAU decoder render callback
  1186. -      *
  1187. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau.h FFmpeg-2.4.6-Helix/libavcodec/vdpau.h
  1188. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau.h  2016-01-17 14:13:22.775712219 +0100
  1189. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau.h  2016-01-17 14:13:44.588336748 +0100
  1190. +@@ -101,6 +101,7 @@
  1191.        * Set by the user.
  1192.        */
  1193.       VdpDecoderRender *render;
  1194. @@ -1230,64 +379,10 @@
  1195.  
  1196.   #if FF_API_BUFS_VDPAU
  1197.       /**
  1198. -      * VDPAU picture information
  1199. -      *
  1200. -      * Set by libavcodec.
  1201. -      */
  1202. -     attribute_deprecated
  1203. -     union AVVDPAUPictureInfo info;
  1204. -
  1205. -     /**
  1206. -      * Allocated size of the bitstream_buffers table.
  1207. -      *
  1208. -      * Set by libavcodec.
  1209. -      */
  1210. -     attribute_deprecated
  1211. -     int bitstream_buffers_allocated;
  1212. -
  1213. -     /**
  1214. -      * Useful bitstream buffers in the bitstream buffers table.
  1215. -      *
  1216. -      * Set by libavcodec.
  1217. -      */
  1218. -     attribute_deprecated
  1219. -     int bitstream_buffers_used;
  1220. -
  1221. -    /**
  1222. -      * Table of bitstream buffers.
  1223. -      * The user is responsible for freeing this buffer using av_freep().
  1224. -      *
  1225. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h ffmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h
  1226. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h 2015-01-17 19:09:02.000000000 +0100
  1227. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h 2015-04-12 13:50:08.312124932 +0200
  1228. -@@ -54,51 +54,53 @@
  1229. - #else
  1230. - #include "vdpau.h"
  1231. - #endif
  1232. -
  1233. - struct vdpau_picture_context {
  1234. -     /**
  1235. -      * VDPAU picture information.
  1236. -      */
  1237. -     union AVVDPAUPictureInfo info;
  1238. -
  1239. -     /**
  1240. -      * Allocated size of the bitstream_buffers table.
  1241. -      */
  1242. -     int bitstream_buffers_allocated;
  1243. -
  1244. -     /**
  1245. -      * Useful bitstream buffers in the bitstream buffers table.
  1246. -      */
  1247. -     int bitstream_buffers_used;
  1248. -
  1249. -    /**
  1250. -      * Table of bitstream buffers.
  1251. -      */
  1252. -     VdpBitstreamBuffer *bitstream_buffers;
  1253. - };
  1254. - #endif
  1255. -
  1256. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_internal.h FFmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h
  1257. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_internal.h 2016-01-17 14:13:22.775712219 +0100
  1258. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau_internal.h 2016-01-17 14:13:44.591669973 +0100
  1259. +@@ -81,6 +81,8 @@
  1260.   int ff_vdpau_common_start_frame(struct vdpau_picture_context *pic,
  1261.                                   const uint8_t *buffer, uint32_t size);
  1262.   int ff_vdpau_mpeg_end_frame(AVCodecContext *avctx);
  1263. @@ -1296,55 +391,10 @@
  1264.   int ff_vdpau_add_buffer(struct vdpau_picture_context *pic, const uint8_t *buf,
  1265.                           uint32_t buf_size);
  1266.  
  1267. -
  1268. - void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf,
  1269. -                              int buf_size);
  1270. -
  1271. - void ff_vdpau_mpeg_picture_complete(MpegEncContext *s, const uint8_t *buf,
  1272. -                                     int buf_size, int slice_count);
  1273. -
  1274. - void ff_vdpau_h264_picture_start(H264Context *h);
  1275. - void ff_vdpau_h264_set_reference_frames(H264Context *h);
  1276. - void ff_vdpau_h264_picture_complete(H264Context *h);
  1277. -
  1278. - void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf,
  1279. -                                  int buf_size);
  1280. -
  1281. - void ff_vdpau_mpeg4_decode_picture(Mpeg4DecContext *s, const uint8_t *buf,
  1282. -                                    int buf_size);
  1283. -
  1284. - #endif /* AVCODEC_VDPAU_INTERNAL_H */
  1285. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c ffmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c
  1286. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c   2015-01-17 19:09:02.000000000 +0100
  1287. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c   2015-11-25 21:45:59.256896233 +0100
  1288. -@@ -72,50 +72,50 @@
  1289. -     info->f_code[1][1]               = s->mpeg_f_code[1][1];
  1290. -     for (i = 0; i < 64; ++i) {
  1291. -         info->intra_quantizer_matrix[i]     = s->intra_matrix[i];
  1292. -         info->non_intra_quantizer_matrix[i] = s->inter_matrix[i];
  1293. -     }
  1294. -
  1295. -     return ff_vdpau_common_start_frame(pic_ctx, buffer, size);
  1296. - }
  1297. -
  1298. - static int vdpau_mpeg_decode_slice(AVCodecContext *avctx,
  1299. -                                    const uint8_t *buffer, uint32_t size)
  1300. - {
  1301. -     MpegEncContext * const s = avctx->priv_data;
  1302. -     Picture *pic             = s->current_picture_ptr;
  1303. -     struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
  1304. -     int val;
  1305. -
  1306. -     val = ff_vdpau_add_buffer(pic_ctx, buffer, size);
  1307. -     if (val < 0)
  1308. -         return val;
  1309. -
  1310. -     pic_ctx->info.mpeg.slice_count++;
  1311. -     return 0;
  1312. - }
  1313. -
  1314. - #if CONFIG_MPEG1_VDPAU_HWACCEL
  1315. - AVHWAccel ff_mpeg1_vdpau_hwaccel = {
  1316. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_mpeg12.c FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c
  1317. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_mpeg12.c   2016-01-17 14:13:22.775712219 +0100
  1318. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg12.c   2016-01-17 14:13:44.591669973 +0100
  1319. +@@ -99,7 +99,7 @@
  1320.       .name           = "mpeg1_vdpau",
  1321.       .type           = AVMEDIA_TYPE_VIDEO,
  1322.       .id             = AV_CODEC_ID_MPEG1VIDEO,
  1323. @@ -1353,12 +403,7 @@
  1324.       .start_frame    = vdpau_mpeg_start_frame,
  1325.       .end_frame      = ff_vdpau_mpeg_end_frame,
  1326.       .decode_slice   = vdpau_mpeg_decode_slice,
  1327. -     .frame_priv_data_size = sizeof(struct vdpau_picture_context),
  1328. - };
  1329. - #endif
  1330. -
  1331. - #if CONFIG_MPEG2_VDPAU_HWACCEL
  1332. - AVHWAccel ff_mpeg2_vdpau_hwaccel = {
  1333. +@@ -112,7 +112,7 @@
  1334.       .name           = "mpeg2_vdpau",
  1335.       .type           = AVMEDIA_TYPE_VIDEO,
  1336.       .id             = AV_CODEC_ID_MPEG2VIDEO,
  1337. @@ -1367,40 +412,10 @@
  1338.       .start_frame    = vdpau_mpeg_start_frame,
  1339.       .end_frame      = ff_vdpau_mpeg_end_frame,
  1340.       .decode_slice   = vdpau_mpeg_decode_slice,
  1341. -     .frame_priv_data_size = sizeof(struct vdpau_picture_context),
  1342. - };
  1343. - #endif
  1344. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c ffmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c
  1345. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c    2015-01-17 19:09:02.000000000 +0100
  1346. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c    2015-11-27 23:15:08.031555353 +0100
  1347. -@@ -1,115 +1,180 @@
  1348. - /*
  1349. -  * MPEG-4 Part 2 / H.263 decode acceleration through VDPAU
  1350. -  *
  1351. -  * Copyright (c) 2008 NVIDIA
  1352. -  * Copyright (c) 2013 Rémi Denis-Courmont
  1353. -  *
  1354. -  * This file is part of FFmpeg.
  1355. -  *
  1356. -  * FFmpeg is free software; you can redistribute it and/or
  1357. -  * modify it under the terms of the GNU Lesser General Public
  1358. -  * License as published by the Free Software Foundation; either
  1359. -  * version 2.1 of the License, or (at your option) any later version.
  1360. -  *
  1361. -  * FFmpeg is distributed in the hope that it will be useful,
  1362. -  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1363. -  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1364. -  * Lesser General Public License for more details.
  1365. -  *
  1366. -  * You should have received a copy of the GNU Lesser General Public
  1367. -  * License along with FFmpeg; if not, write to the Free Software Foundation,
  1368. -  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  1369. -  */
  1370. -
  1371. - #include <vdpau/vdpau.h>
  1372. -
  1373. - #include "avcodec.h"
  1374. - #include "mpeg4video.h"
  1375. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_mpeg4.c FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c
  1376. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_mpeg4.c    2016-01-17 14:13:22.779045444 +0100
  1377. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau_mpeg4.c    2016-01-17 14:13:44.591669973 +0100
  1378. +@@ -28,6 +28,8 @@
  1379.   #include "vdpau.h"
  1380.   #include "vdpau_internal.h"
  1381.  
  1382. @@ -1409,18 +424,7 @@
  1383.   static int vdpau_mpeg4_start_frame(AVCodecContext *avctx,
  1384.                                      const uint8_t *buffer, uint32_t size)
  1385.   {
  1386. -     Mpeg4DecContext *ctx = avctx->priv_data;
  1387. -     MpegEncContext * const s = &ctx->m;
  1388. -     Picture *pic             = s->current_picture_ptr;
  1389. -     struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;
  1390. -     VdpPictureInfoMPEG4Part2 *info = &pic_ctx->info.mpeg4;
  1391. -     VdpVideoSurface ref;
  1392. -     int i;
  1393. -
  1394. -     /* fill VdpPictureInfoMPEG4Part2 struct */
  1395. -     info->forward_reference  = VDP_INVALID_HANDLE;
  1396. -     info->backward_reference = VDP_INVALID_HANDLE;
  1397. -     info->vop_coding_type    = 0;
  1398. +@@ -46,9 +48,11 @@
  1399.  
  1400.       switch (s->pict_type) {
  1401.       case AV_PICTURE_TYPE_B:
  1402. @@ -1432,39 +436,7 @@
  1403.           info->vop_coding_type    = 2;
  1404.           /* fall-through */
  1405.       case AV_PICTURE_TYPE_P:
  1406. -         ref = ff_vdpau_get_surface_id(s->last_picture.f);
  1407. -         assert(ref != VDP_INVALID_HANDLE);
  1408. -         info->forward_reference  = ref;
  1409. -     }
  1410. -
  1411. -     info->trd[0]                            = s->pp_time;
  1412. -     info->trb[0]                            = s->pb_time;
  1413. -     info->trd[1]                            = s->pp_field_time >> 1;
  1414. -     info->trb[1]                            = s->pb_field_time >> 1;
  1415. -     info->vop_time_increment_resolution     = s->avctx->time_base.den;
  1416. -     info->vop_fcode_forward                 = s->f_code;
  1417. -     info->vop_fcode_backward                = s->b_code;
  1418. -     info->resync_marker_disable             = !ctx->resync_marker;
  1419. -     info->interlaced                        = !s->progressive_sequence;
  1420. -     info->quant_type                        = s->mpeg_quant;
  1421. -     info->quarter_sample                    = s->quarter_sample;
  1422. -     info->short_video_header                = avctx->codec->id == AV_CODEC_ID_H263;
  1423. -     info->rounding_control                  = s->no_rounding;
  1424. -     info->alternate_vertical_scan_flag      = s->alternate_scan;
  1425. -     info->top_field_first                   = s->top_field_first;
  1426. -     for (i = 0; i < 64; ++i) {
  1427. -         info->intra_quantizer_matrix[i]     = s->intra_matrix[i];
  1428. -         info->non_intra_quantizer_matrix[i] = s->inter_matrix[i];
  1429. -     }
  1430. -
  1431. -     ff_vdpau_common_start_frame(pic_ctx, buffer, size);
  1432. -     return ff_vdpau_add_buffer(pic_ctx, buffer, size);
  1433. - }
  1434. -
  1435. - static int vdpau_mpeg4_decode_slice(av_unused AVCodecContext *avctx,
  1436. -                                     av_unused const uint8_t *buffer,
  1437. -                                     av_unused uint32_t size)
  1438. - {
  1439. +@@ -88,6 +92,65 @@
  1440.        return 0;
  1441.   }
  1442.  
  1443. @@ -1530,9 +502,7 @@
  1444.   #if CONFIG_H263_VDPAU_HWACCEL
  1445.   AVHWAccel ff_h263_vdpau_hwaccel = {
  1446.       .name           = "h263_vdpau",
  1447. -     .type           = AVMEDIA_TYPE_VIDEO,
  1448. -     .id             = AV_CODEC_ID_H263,
  1449. -     .pix_fmt        = AV_PIX_FMT_VDPAU,
  1450. +@@ -97,6 +160,7 @@
  1451.       .start_frame    = vdpau_mpeg4_start_frame,
  1452.       .end_frame      = ff_vdpau_mpeg_end_frame,
  1453.       .decode_slice   = vdpau_mpeg4_decode_slice,
  1454. @@ -1540,13 +510,7 @@
  1455.       .frame_priv_data_size = sizeof(struct vdpau_picture_context),
  1456.   };
  1457.   #endif
  1458. -
  1459. - #if CONFIG_MPEG4_VDPAU_HWACCEL
  1460. - AVHWAccel ff_mpeg4_vdpau_hwaccel = {
  1461. -     .name           = "mpeg4_vdpau",
  1462. -     .type           = AVMEDIA_TYPE_VIDEO,
  1463. -     .id             = AV_CODEC_ID_MPEG4,
  1464. -     .pix_fmt        = AV_PIX_FMT_VDPAU,
  1465. +@@ -110,6 +174,7 @@
  1466.       .start_frame    = vdpau_mpeg4_start_frame,
  1467.       .end_frame      = ff_vdpau_mpeg_end_frame,
  1468.       .decode_slice   = vdpau_mpeg4_decode_slice,
  1469. @@ -1554,9 +518,9 @@
  1470.       .frame_priv_data_size = sizeof(struct vdpau_picture_context),
  1471.   };
  1472.   #endif
  1473. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c ffmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c
  1474. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c  1970-01-01 01:00:00.000000000 +0100
  1475. -+++ ffmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c  2015-11-27 23:23:41.804914216 +0100
  1476. +diff -rNu FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_msmpeg4.c FFmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c
  1477. +--- FFmpeg-2.4.6-Helix.old/libavcodec/vdpau_msmpeg4.c  1970-01-01 01:00:00.000000000 +0100
  1478. ++++ FFmpeg-2.4.6-Helix/libavcodec/vdpau_msmpeg4.c  2016-01-17 14:13:44.591669973 +0100
  1479.  @@ -0,0 +1,145 @@
  1480.  +/*
  1481.  + * MPEG-4 Part 2 / H.263 decode acceleration through VDPAU
  1482. @@ -1703,37 +667,10 @@
  1483.  +//    .set_video_header = vdpau_msmpeg4_set_video_header,
  1484.  +};
  1485.  +
  1486. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c
  1487. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c    2015-01-17 19:09:02.000000000 +0100
  1488. -+++ ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c    2015-04-12 13:47:40.726643690 +0200
  1489. -@@ -113,60 +113,64 @@
  1490. -     case IMGFMT_IYU1: return "Packed IYU1";
  1491. -     case IMGFMT_IYU2: return "Packed IYU2";
  1492. -     case IMGFMT_UYVY: return "Packed UYVY";
  1493. -     case IMGFMT_UYNV: return "Packed UYNV";
  1494. -     case IMGFMT_cyuv: return "Packed CYUV";
  1495. -     case IMGFMT_Y422: return "Packed Y422";
  1496. -     case IMGFMT_YUY2: return "Packed YUY2";
  1497. -     case IMGFMT_YUNV: return "Packed YUNV";
  1498. -     case IMGFMT_YVYU: return "Packed YVYU";
  1499. -     case IMGFMT_Y41P: return "Packed Y41P";
  1500. -     case IMGFMT_Y211: return "Packed Y211";
  1501. -     case IMGFMT_Y41T: return "Packed Y41T";
  1502. -     case IMGFMT_Y42T: return "Packed Y42T";
  1503. -     case IMGFMT_V422: return "Packed V422";
  1504. -     case IMGFMT_V655: return "Packed V655";
  1505. -     case IMGFMT_CLJR: return "Packed CLJR";
  1506. -     case IMGFMT_YUVP: return "Packed YUVP";
  1507. -     case IMGFMT_UYVP: return "Packed UYVP";
  1508. -     case IMGFMT_MPEGPES:         return "Mpeg PES";
  1509. -     case IMGFMT_ZRMJPEGNI:       return "Zoran MJPEG non-interlaced";
  1510. -     case IMGFMT_ZRMJPEGIT:       return "Zoran MJPEG top field first";
  1511. -     case IMGFMT_ZRMJPEGIB:       return "Zoran MJPEG bottom field first";
  1512. -     case IMGFMT_XVMC_MOCO_MPEG2: return "MPEG1/2 Motion Compensation";
  1513. -     case IMGFMT_XVMC_IDCT_MPEG2: return "MPEG1/2 Motion Compensation and IDCT";
  1514. -     case IMGFMT_VDPAU_MPEG1:     return "MPEG1 VDPAU acceleration";
  1515. -     case IMGFMT_VDPAU_MPEG2:     return "MPEG2 VDPAU acceleration";
  1516. -     case IMGFMT_VDPAU_H264:      return "H.264 VDPAU acceleration";
  1517. +diff -rNu FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/img_format.c FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c
  1518. +--- FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/img_format.c    2016-01-17 14:13:22.809044469 +0100
  1519. ++++ FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.c    2016-01-17 14:13:44.591669973 +0100
  1520. +@@ -140,6 +140,10 @@
  1521.       case IMGFMT_VDPAU_MPEG4:     return "MPEG-4 Part 2 VDPAU acceleration";
  1522.       case IMGFMT_VDPAU_WMV3:      return "WMV3 VDPAU acceleration";
  1523.       case IMGFMT_VDPAU_VC1:       return "VC1 VDPAU acceleration";
  1524. @@ -1744,64 +681,10 @@
  1525.       }
  1526.       snprintf(unknown_format,20,"Unknown 0x%04x",format);
  1527.       return unknown_format;
  1528. - }
  1529. -
  1530. - int ff_mp_get_chroma_shift(int format, int *x_shift, int *y_shift, int *component_bits)
  1531. - {
  1532. -     int xs = 0, ys = 0;
  1533. -     int bpp;
  1534. -     int err = 0;
  1535. -     int bits = 8;
  1536. -     if ((format & 0xff0000f0) == 0x34000050)
  1537. -         format = av_bswap32(format);
  1538. -     if ((format & 0xf00000ff) == 0x50000034) {
  1539. -         switch (format >> 24) {
  1540. -         case 0x50:
  1541. -             break;
  1542. -         case 0x51:
  1543. -             bits = 16;
  1544. -             break;
  1545. -         case 0x52:
  1546. -             bits = 10;
  1547. -             break;
  1548. -         case 0x53:
  1549. -             bits = 9;
  1550. -             break;
  1551. -         default:
  1552. -             err = 1;
  1553. -             break;
  1554. -         }
  1555. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h
  1556. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h    2015-01-17 19:09:02.000000000 +0100
  1557. -+++ ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h    2015-04-12 13:47:40.736643384 +0200
  1558. -@@ -259,51 +259,55 @@
  1559. - #define IMGFMT_YUVP 0x50565559 // 10-bit YUYV
  1560. - #define IMGFMT_UYVP 0x50565955 // 10-bit UYVY
  1561. -
  1562. - /* Compressed Formats */
  1563. - #define IMGFMT_MPEGPES (('M'<<24)|('P'<<16)|('E'<<8)|('S'))
  1564. - #define IMGFMT_MJPEG (('M')|('J'<<8)|('P'<<16)|('G'<<24))
  1565. - /* Formats that are understood by zoran chips, we include
  1566. -  * non-interlaced, interlaced top-first, interlaced bottom-first */
  1567. - #define IMGFMT_ZRMJPEGNI  (('Z'<<24)|('R'<<16)|('N'<<8)|('I'))
  1568. - #define IMGFMT_ZRMJPEGIT (('Z'<<24)|('R'<<16)|('I'<<8)|('T'))
  1569. - #define IMGFMT_ZRMJPEGIB (('Z'<<24)|('R'<<16)|('I'<<8)|('B'))
  1570. -
  1571. - // I think that this code could not be used by any other codec/format
  1572. - #define IMGFMT_XVMC 0x1DC70000
  1573. - #define IMGFMT_XVMC_MASK 0xFFFF0000
  1574. - #define IMGFMT_IS_XVMC(fmt) (((fmt)&IMGFMT_XVMC_MASK)==IMGFMT_XVMC)
  1575. - //these are chroma420
  1576. - #define IMGFMT_XVMC_MOCO_MPEG2 (IMGFMT_XVMC|0x02)
  1577. - #define IMGFMT_XVMC_IDCT_MPEG2 (IMGFMT_XVMC|0x82)
  1578. -
  1579. - // VDPAU specific format.
  1580. - #define IMGFMT_VDPAU               0x1DC80000
  1581. - #define IMGFMT_VDPAU_MASK          0xFFFF0000
  1582. - #define IMGFMT_IS_VDPAU(fmt)       (((fmt)&IMGFMT_VDPAU_MASK)==IMGFMT_VDPAU)
  1583. - #define IMGFMT_VDPAU_MPEG1         (IMGFMT_VDPAU|0x01)
  1584. - #define IMGFMT_VDPAU_MPEG2         (IMGFMT_VDPAU|0x02)
  1585. - #define IMGFMT_VDPAU_H264          (IMGFMT_VDPAU|0x03)
  1586. +diff -rNu FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/img_format.h FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h
  1587. +--- FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/img_format.h    2016-01-17 14:13:22.809044469 +0100
  1588. ++++ FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/img_format.h    2016-01-17 14:13:44.591669973 +0100
  1589. +@@ -286,6 +286,10 @@
  1590.   #define IMGFMT_VDPAU_WMV3          (IMGFMT_VDPAU|0x04)
  1591.   #define IMGFMT_VDPAU_VC1           (IMGFMT_VDPAU|0x05)
  1592.   #define IMGFMT_VDPAU_MPEG4         (IMGFMT_VDPAU|0x06)
  1593. @@ -1812,55 +695,10 @@
  1594.  
  1595.   #define IMGFMT_IS_HWACCEL(fmt) (IMGFMT_IS_VDPAU(fmt) || IMGFMT_IS_XVMC(fmt))
  1596.  
  1597. - typedef struct {
  1598. -     void* data;
  1599. -     int size;
  1600. -     int id;        // stream id. usually 0x1E0
  1601. -     int timestamp; // pts, 90000 Hz counter based
  1602. - } vo_mpegpes_t;
  1603. -
  1604. - const char *ff_vo_format_name(int format);
  1605. -
  1606. - /**
  1607. -  * Calculates the scale shifts for the chroma planes for planar YUV
  1608. -  *
  1609. -  * \param component_bits bits per component
  1610. -  * \return bits-per-pixel for format if successful (i.e. format is 3 or 4-planes planar YUV), 0 otherwise
  1611. -  */
  1612. - int ff_mp_get_chroma_shift(int format, int *x_shift, int *y_shift, int *component_bits);
  1613. -
  1614. - #endif /* MPLAYER_IMG_FORMAT_H */
  1615. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h
  1616. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h   2015-01-17 19:09:02.000000000 +0100
  1617. -+++ ffmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h   2015-04-12 13:47:40.736643384 +0200
  1618. -@@ -74,60 +74,68 @@
  1619. - #define VOCTRL_DUPLICATE_FRAME 20
  1620. - // ... 21
  1621. - #define VOCTRL_START_SLICE 21
  1622. -
  1623. - #define VOCTRL_ONTOP 25
  1624. - #define VOCTRL_ROOTWIN 26
  1625. - #define VOCTRL_BORDER 27
  1626. - #define VOCTRL_DRAW_EOSD 28
  1627. - #define VOCTRL_GET_EOSD_RES 29
  1628. -
  1629. - #define VOCTRL_SET_DEINTERLACE 30
  1630. - #define VOCTRL_GET_DEINTERLACE 31
  1631. -
  1632. - #define VOCTRL_UPDATE_SCREENINFO 32
  1633. -
  1634. - // Vo can be used by xover
  1635. - #define VOCTRL_XOVERLAY_SUPPORT 22
  1636. -
  1637. - #define VOCTRL_XOVERLAY_SET_COLORKEY 24
  1638. - typedef struct {
  1639. -   uint32_t x11; // The raw x11 color
  1640. -   uint16_t r,g,b;
  1641. - } mp_colorkey_t;
  1642. -
  1643. - #define VOCTRL_XOVERLAY_SET_WIN 23
  1644. - typedef struct {
  1645. -   int x,y;
  1646. +diff -rNu FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/libvo/video_out.h FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h
  1647. +--- FFmpeg-2.4.6-Helix.old/libavfilter/libmpcodecs/libvo/video_out.h   2016-01-17 14:13:22.809044469 +0100
  1648. ++++ FFmpeg-2.4.6-Helix/libavfilter/libmpcodecs/libvo/video_out.h   2016-01-17 14:13:44.591669973 +0100
  1649. +@@ -101,6 +101,14 @@
  1650.     int w,h;
  1651.   } mp_win_t;
  1652.  
  1653. @@ -1875,64 +713,10 @@
  1654.   #define VO_TRUE      1
  1655.   #define VO_FALSE     0
  1656.   #define VO_ERROR    -1
  1657. - #define VO_NOTAVAIL -2
  1658. - #define VO_NOTIMPL  -3
  1659. -
  1660. - #define VOFLAG_FULLSCREEN         0x01
  1661. - #define VOFLAG_MODESWITCHING      0x02
  1662. - #define VOFLAG_SWSCALE            0x04
  1663. - #define VOFLAG_FLIPPING           0x08
  1664. - #define VOFLAG_HIDDEN             0x10  //< Use to create a hidden window
  1665. - #define VOFLAG_STEREO             0x20  //< Use to create a stereo-capable window
  1666. - #define VOFLAG_DEPTH              0x40  //< Request a depth buffer
  1667. - #define VOFLAG_XOVERLAY_SUB_VO 0x10000
  1668. -
  1669. - typedef struct vo_info_s
  1670. - {
  1671. -     /* driver name ("Matrox Millennium G200/G400" */
  1672. -     const char *name;
  1673. -     /* short name (for config strings) ("mga") */
  1674. -     const char *short_name;
  1675. -     /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */
  1676. -     const char *author;
  1677. -     /* any additional comments */
  1678. -     const char *comment;
  1679. - } vo_info_t;
  1680. -
  1681. - typedef struct vo_functions_s
  1682. - {
  1683. -     const vo_info_t *info;
  1684. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/vf_mp.c ffmpeg-2.4.6-Helix/libavfilter/vf_mp.c
  1685. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavfilter/vf_mp.c 2015-01-17 19:09:02.000000000 +0100
  1686. -+++ ffmpeg-2.4.6-Helix/libavfilter/vf_mp.c 2015-04-12 13:47:40.736643384 +0200
  1687. -@@ -95,60 +95,64 @@
  1688. -     {IMGFMT_440P,  AV_PIX_FMT_YUV440P},
  1689. -
  1690. -     {IMGFMT_420A,  AV_PIX_FMT_YUVA420P},
  1691. -
  1692. -     {IMGFMT_420P16_LE,  AV_PIX_FMT_YUV420P16LE},
  1693. -     {IMGFMT_420P16_BE,  AV_PIX_FMT_YUV420P16BE},
  1694. -     {IMGFMT_422P16_LE,  AV_PIX_FMT_YUV422P16LE},
  1695. -     {IMGFMT_422P16_BE,  AV_PIX_FMT_YUV422P16BE},
  1696. -     {IMGFMT_444P16_LE,  AV_PIX_FMT_YUV444P16LE},
  1697. -     {IMGFMT_444P16_BE,  AV_PIX_FMT_YUV444P16BE},
  1698. -
  1699. -     // YUVJ are YUV formats that use the full Y range and not just
  1700. -     // 16 - 235 (see colorspaces.txt).
  1701. -     // Currently they are all treated the same way.
  1702. -     {IMGFMT_YV12,  AV_PIX_FMT_YUVJ420P},
  1703. -     {IMGFMT_422P,  AV_PIX_FMT_YUVJ422P},
  1704. -     {IMGFMT_444P,  AV_PIX_FMT_YUVJ444P},
  1705. -     {IMGFMT_440P,  AV_PIX_FMT_YUVJ440P},
  1706. -
  1707. - #if FF_API_XVMC
  1708. -     {IMGFMT_XVMC_MOCO_MPEG2, AV_PIX_FMT_XVMC_MPEG2_MC},
  1709. -     {IMGFMT_XVMC_IDCT_MPEG2, AV_PIX_FMT_XVMC_MPEG2_IDCT},
  1710. - #endif /* FF_API_XVMC */
  1711. -
  1712. -     {IMGFMT_VDPAU_MPEG1,     AV_PIX_FMT_VDPAU_MPEG1},
  1713. -     {IMGFMT_VDPAU_MPEG2,     AV_PIX_FMT_VDPAU_MPEG2},
  1714. -     {IMGFMT_VDPAU_H264,      AV_PIX_FMT_VDPAU_H264},
  1715. +diff -rNu FFmpeg-2.4.6-Helix.old/libavfilter/vf_mp.c FFmpeg-2.4.6-Helix/libavfilter/vf_mp.c
  1716. +--- FFmpeg-2.4.6-Helix.old/libavfilter/vf_mp.c 2016-01-17 14:13:22.815710919 +0100
  1717. ++++ FFmpeg-2.4.6-Helix/libavfilter/vf_mp.c 2016-01-17 14:13:44.591669973 +0100
  1718. +@@ -122,6 +122,10 @@
  1719.       {IMGFMT_VDPAU_WMV3,      AV_PIX_FMT_VDPAU_WMV3},
  1720.       {IMGFMT_VDPAU_VC1,       AV_PIX_FMT_VDPAU_VC1},
  1721.       {IMGFMT_VDPAU_MPEG4,     AV_PIX_FMT_VDPAU_MPEG4},
  1722. @@ -1943,64 +727,10 @@
  1723.       {0, AV_PIX_FMT_NONE}
  1724.   };
  1725.  
  1726. - extern const vf_info_t ff_vf_info_eq2;
  1727. - extern const vf_info_t ff_vf_info_eq;
  1728. - extern const vf_info_t ff_vf_info_fspp;
  1729. - extern const vf_info_t ff_vf_info_ilpack;
  1730. - extern const vf_info_t ff_vf_info_pp7;
  1731. - extern const vf_info_t ff_vf_info_softpulldown;
  1732. - extern const vf_info_t ff_vf_info_uspp;
  1733. -
  1734. -
  1735. - static const vf_info_t* const filters[]={
  1736. -     &ff_vf_info_eq2,
  1737. -     &ff_vf_info_eq,
  1738. -     &ff_vf_info_fspp,
  1739. -     &ff_vf_info_ilpack,
  1740. -     &ff_vf_info_pp7,
  1741. -     &ff_vf_info_softpulldown,
  1742. -     &ff_vf_info_uspp,
  1743. -
  1744. -     NULL
  1745. - };
  1746. -
  1747. - /*
  1748. - Unsupported filters
  1749. - 1bpp
  1750. - ass
  1751. - bmovl
  1752. - crop
  1753. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavformat/mov.c ffmpeg-2.4.6-Helix/libavformat/mov.c
  1754. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavformat/mov.c   2015-01-17 19:09:02.000000000 +0100
  1755. -+++ ffmpeg-2.4.6-Helix/libavformat/mov.c   2015-11-23 22:43:43.337005138 +0100
  1756. -@@ -2461,74 +2461,76 @@
  1757. -                    "filename='%s', volume='%s', nlvl_from=%d, nlvl_to=%d\n",
  1758. -                    st->index, dref->path, dref->dir, dref->filename,
  1759. -                    dref->volume, dref->nlvl_from, dref->nlvl_to);
  1760. -     } else {
  1761. -         sc->pb = c->fc->pb;
  1762. -         sc->pb_is_copied = 1;
  1763. -     }
  1764. -
  1765. -     if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
  1766. -         if (!st->sample_aspect_ratio.num &&
  1767. -             (st->codec->width != sc->width || st->codec->height != sc->height)) {
  1768. -             st->sample_aspect_ratio = av_d2q(((double)st->codec->height * sc->width) /
  1769. -                                              ((double)st->codec->width * sc->height), INT_MAX);
  1770. -         }
  1771. -
  1772. - #if FF_API_R_FRAME_RATE
  1773. -         if (sc->stts_count == 1 || (sc->stts_count == 2 && sc->stts_data[1].count == 1))
  1774. -             av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den,
  1775. -                       sc->time_scale, sc->stts_data[0].duration, INT_MAX);
  1776. - #endif
  1777. -     }
  1778. -
  1779. -     // done for ai5q, ai52, ai55, ai1q, ai12 and ai15.
  1780. -     if (!st->codec->extradata_size && st->codec->codec_id == AV_CODEC_ID_H264 &&
  1781. -         TAG_IS_AVCI(st->codec->codec_tag)) {
  1782. -         ret = ff_generate_avci_extradata(st);
  1783. -         if (ret < 0)
  1784. +diff -rNu FFmpeg-2.4.6-Helix.old/libavformat/mov.c FFmpeg-2.4.6-Helix/libavformat/mov.c
  1785. +--- FFmpeg-2.4.6-Helix.old/libavformat/mov.c   2016-01-17 14:13:22.829043819 +0100
  1786. ++++ FFmpeg-2.4.6-Helix/libavformat/mov.c   2016-01-17 14:13:44.591669973 +0100
  1787. +@@ -2488,6 +2488,7 @@
  1788.               return ret;
  1789.       }
  1790.  
  1791. @@ -2008,14 +738,7 @@
  1792.       switch (st->codec->codec_id) {
  1793.   #if CONFIG_H261_DECODER
  1794.       case AV_CODEC_ID_H261:
  1795. - #endif
  1796. - #if CONFIG_H263_DECODER
  1797. -     case AV_CODEC_ID_H263:
  1798. - #endif
  1799. - #if CONFIG_MPEG4_DECODER
  1800. -     case AV_CODEC_ID_MPEG4:
  1801. - #endif
  1802. -         st->codec->width = 0; /* let decoder init width/height */
  1803. +@@ -2502,6 +2503,7 @@
  1804.           st->codec->height= 0;
  1805.           break;
  1806.       }
  1807. @@ -2023,64 +746,10 @@
  1808.  
  1809.       /* Do not need those anymore. */
  1810.       av_freep(&sc->chunk_offsets);
  1811. -     av_freep(&sc->stsc_data);
  1812. -     av_freep(&sc->sample_sizes);
  1813. -     av_freep(&sc->keyframes);
  1814. -     av_freep(&sc->stts_data);
  1815. -     av_freep(&sc->stps_data);
  1816. -     av_freep(&sc->rap_group);
  1817. -
  1818. -     return 0;
  1819. - }
  1820. -
  1821. - static int mov_read_ilst(MOVContext *c, AVIOContext *pb, MOVAtom atom)
  1822. - {
  1823. -     int ret;
  1824. -     c->itunes_metadata = 1;
  1825. -     ret = mov_read_default(c, pb, atom);
  1826. -     c->itunes_metadata = 0;
  1827. -     return ret;
  1828. - }
  1829. -
  1830. - static int mov_read_custom_2plus(MOVContext *c, AVIOContext *pb, int size)
  1831. - {
  1832. -     int64_t end = avio_tell(pb) + size;
  1833. -     uint8_t *key = NULL, *val = NULL;
  1834. -     int i;
  1835. -     AVStream *st;
  1836. -     MOVStreamContext *sc;
  1837. -
  1838. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/arm/intmath.h ffmpeg-2.4.6-Helix/libavutil/arm/intmath.h
  1839. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/arm/intmath.h 2015-01-17 19:09:02.000000000 +0100
  1840. -+++ ffmpeg-2.4.6-Helix/libavutil/arm/intmath.h 2015-04-12 13:47:40.736643384 +0200
  1841. -@@ -34,68 +34,69 @@
  1842. - static av_always_inline av_const unsigned av_clip_uint8_arm(int a)
  1843. - {
  1844. -     unsigned x;
  1845. -     __asm__ ("usat %0, #8,  %1" : "=r"(x) : "r"(a));
  1846. -     return x;
  1847. - }
  1848. -
  1849. - #define av_clip_int8 av_clip_int8_arm
  1850. - static av_always_inline av_const int av_clip_int8_arm(int a)
  1851. - {
  1852. -     int x;
  1853. -     __asm__ ("ssat %0, #8,  %1" : "=r"(x) : "r"(a));
  1854. -     return x;
  1855. - }
  1856. -
  1857. - #define av_clip_uint16 av_clip_uint16_arm
  1858. - static av_always_inline av_const unsigned av_clip_uint16_arm(int a)
  1859. - {
  1860. -     unsigned x;
  1861. -     __asm__ ("usat %0, #16, %1" : "=r"(x) : "r"(a));
  1862. -     return x;
  1863. - }
  1864. -
  1865. - #define av_clip_int16 av_clip_int16_arm
  1866. - static av_always_inline av_const int av_clip_int16_arm(int a)
  1867. - {
  1868. -     int x;
  1869. +diff -rNu FFmpeg-2.4.6-Helix.old/libavutil/arm/intmath.h FFmpeg-2.4.6-Helix/libavutil/arm/intmath.h
  1870. +--- FFmpeg-2.4.6-Helix.old/libavutil/arm/intmath.h 2016-01-17 14:13:22.709047719 +0100
  1871. ++++ FFmpeg-2.4.6-Helix/libavutil/arm/intmath.h 2016-01-17 14:13:44.591669973 +0100
  1872. +@@ -61,7 +61,7 @@
  1873.       __asm__ ("ssat %0, #16, %1" : "=r"(x) : "r"(a));
  1874.       return x;
  1875.   }
  1876. @@ -2089,7 +758,7 @@
  1877.   #define av_clip_uintp2 av_clip_uintp2_arm
  1878.   static av_always_inline av_const unsigned av_clip_uintp2_arm(int a, int p)
  1879.   {
  1880. -     unsigned x;
  1881. +@@ -69,6 +69,7 @@
  1882.       __asm__ ("usat %0, %2, %1" : "=r"(x) : "r"(a), "i"(p));
  1883.       return x;
  1884.   }
  1885. @@ -2097,64 +766,10 @@
  1886.  
  1887.   #define av_sat_add32 av_sat_add32_arm
  1888.   static av_always_inline int av_sat_add32_arm(int a, int b)
  1889. - {
  1890. -     int r;
  1891. -     __asm__ ("qadd %0, %1, %2" : "=r"(r) : "r"(a), "r"(b));
  1892. -     return r;
  1893. - }
  1894. -
  1895. - #define av_sat_dadd32 av_sat_dadd32_arm
  1896. - static av_always_inline int av_sat_dadd32_arm(int a, int b)
  1897. - {
  1898. -     int r;
  1899. -     __asm__ ("qdadd %0, %1, %2" : "=r"(r) : "r"(a), "r"(b));
  1900. -     return r;
  1901. - }
  1902. -
  1903. - #endif /* HAVE_ARMV6_INLINE */
  1904. -
  1905. - #if HAVE_ASM_MOD_Q
  1906. -
  1907. - #define av_clipl_int32 av_clipl_int32_arm
  1908. - static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a)
  1909. - {
  1910. -     int x, y;
  1911. -     __asm__ ("adds   %1, %R2, %Q2, lsr #31  \n\t"
  1912. -              "itet   ne                     \n\t"
  1913. -              "mvnne  %1, #1<<31             \n\t"
  1914. -              "moveq  %0, %Q2                \n\t"
  1915. -              "eorne  %0, %1,  %R2, asr #31  \n\t"
  1916. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/pixdesc.c ffmpeg-2.4.6-Helix/libavutil/pixdesc.c
  1917. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/pixdesc.c 2015-01-17 19:09:02.000000000 +0100
  1918. -+++ ffmpeg-2.4.6-Helix/libavutil/pixdesc.c 2015-04-13 00:01:51.923015490 +0200
  1919. -@@ -888,60 +888,84 @@
  1920. -     [AV_PIX_FMT_VDPAU_MPEG1] = {
  1921. -         .name = "vdpau_mpeg1",
  1922. -         .log2_chroma_w = 1,
  1923. -         .log2_chroma_h = 1,
  1924. -         .flags = AV_PIX_FMT_FLAG_HWACCEL,
  1925. -     },
  1926. -     [AV_PIX_FMT_VDPAU_MPEG2] = {
  1927. -         .name = "vdpau_mpeg2",
  1928. -         .log2_chroma_w = 1,
  1929. -         .log2_chroma_h = 1,
  1930. -         .flags = AV_PIX_FMT_FLAG_HWACCEL,
  1931. -     },
  1932. -     [AV_PIX_FMT_VDPAU_WMV3] = {
  1933. -         .name = "vdpau_wmv3",
  1934. -         .log2_chroma_w = 1,
  1935. -         .log2_chroma_h = 1,
  1936. -         .flags = AV_PIX_FMT_FLAG_HWACCEL,
  1937. -     },
  1938. -     [AV_PIX_FMT_VDPAU_VC1] = {
  1939. -         .name = "vdpau_vc1",
  1940. -         .log2_chroma_w = 1,
  1941. -         .log2_chroma_h = 1,
  1942. -         .flags = AV_PIX_FMT_FLAG_HWACCEL,
  1943. -     },
  1944. -     [AV_PIX_FMT_VDPAU_MPEG4] = {
  1945. -         .name = "vdpau_mpeg4",
  1946. -         .log2_chroma_w = 1,
  1947. +diff -rNu FFmpeg-2.4.6-Helix.old/libavutil/pixdesc.c FFmpeg-2.4.6-Helix/libavutil/pixdesc.c
  1948. +--- FFmpeg-2.4.6-Helix.old/libavutil/pixdesc.c 2016-01-17 14:13:22.709047719 +0100
  1949. ++++ FFmpeg-2.4.6-Helix/libavutil/pixdesc.c 2016-01-17 14:13:44.591669973 +0100
  1950. +@@ -915,6 +915,30 @@
  1951.           .log2_chroma_h = 1,
  1952.           .flags = AV_PIX_FMT_FLAG_HWACCEL,
  1953.       },
  1954. @@ -2185,64 +800,10 @@
  1955.   #endif
  1956.       [AV_PIX_FMT_RGB48BE] = {
  1957.           .name = "rgb48be",
  1958. -         .nb_components = 3,
  1959. -         .log2_chroma_w = 0,
  1960. -         .log2_chroma_h = 0,
  1961. -         .comp = {
  1962. -             { 0, 5, 1, 0, 15 },       /* R */
  1963. -             { 0, 5, 3, 0, 15 },       /* G */
  1964. -             { 0, 5, 5, 0, 15 },       /* B */
  1965. -         },
  1966. -         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE,
  1967. -     },
  1968. -     [AV_PIX_FMT_RGB48LE] = {
  1969. -         .name = "rgb48le",
  1970. -         .nb_components = 3,
  1971. -         .log2_chroma_w = 0,
  1972. -         .log2_chroma_h = 0,
  1973. -         .comp = {
  1974. -             { 0, 5, 1, 0, 15 },       /* R */
  1975. -             { 0, 5, 3, 0, 15 },       /* G */
  1976. -             { 0, 5, 5, 0, 15 },       /* B */
  1977. -         },
  1978. -         .flags = AV_PIX_FMT_FLAG_RGB,
  1979. -     },
  1980. -     [AV_PIX_FMT_RGBA64BE] = {
  1981. -         .name = "rgba64be",
  1982. -         .nb_components = 4,
  1983. -         .log2_chroma_w = 0,
  1984. -         .log2_chroma_h = 0,
  1985. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/pixfmt.h ffmpeg-2.4.6-Helix/libavutil/pixfmt.h
  1986. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/pixfmt.h  2015-01-17 19:09:02.000000000 +0100
  1987. -+++ ffmpeg-2.4.6-Helix/libavutil/pixfmt.h  2015-04-12 14:14:54.595200300 +0200
  1988. -@@ -85,60 +85,64 @@
  1989. -     AV_PIX_FMT_XVMC_MPEG2_IDCT,
  1990. - #define AV_PIX_FMT_XVMC AV_PIX_FMT_XVMC_MPEG2_IDCT
  1991. - #endif /* FF_API_XVMC */
  1992. -     AV_PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
  1993. -     AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
  1994. -     AV_PIX_FMT_BGR8,      ///< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
  1995. -     AV_PIX_FMT_BGR4,      ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
  1996. -     AV_PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
  1997. -     AV_PIX_FMT_RGB8,      ///< packed RGB 3:3:2,  8bpp, (msb)2R 3G 3B(lsb)
  1998. -     AV_PIX_FMT_RGB4,      ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
  1999. -     AV_PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)
  2000. -     AV_PIX_FMT_NV12,      ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
  2001. -     AV_PIX_FMT_NV21,      ///< as above, but U and V bytes are swapped
  2002. -
  2003. -     AV_PIX_FMT_ARGB,      ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
  2004. -     AV_PIX_FMT_RGBA,      ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
  2005. -     AV_PIX_FMT_ABGR,      ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
  2006. -     AV_PIX_FMT_BGRA,      ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
  2007. -
  2008. -     AV_PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
  2009. -     AV_PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
  2010. -     AV_PIX_FMT_YUV440P,   ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
  2011. -     AV_PIX_FMT_YUVJ440P,  ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
  2012. -     AV_PIX_FMT_YUVA420P,  ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
  2013. - #if FF_API_VDPAU
  2014. -     AV_PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2015. -     AV_PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2016. +diff -rNu FFmpeg-2.4.6-Helix.old/libavutil/pixfmt.h FFmpeg-2.4.6-Helix/libavutil/pixfmt.h
  2017. +--- FFmpeg-2.4.6-Helix.old/libavutil/pixfmt.h  2016-01-17 14:13:22.709047719 +0100
  2018. ++++ FFmpeg-2.4.6-Helix/libavutil/pixfmt.h  2016-01-17 14:13:44.595003198 +0100
  2019. +@@ -112,6 +112,10 @@
  2020.       AV_PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2021.       AV_PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2022.       AV_PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2023. @@ -2253,64 +814,10 @@
  2024.   #endif
  2025.       AV_PIX_FMT_RGB48BE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
  2026.       AV_PIX_FMT_RGB48LE,   ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
  2027. -
  2028. -     AV_PIX_FMT_RGB565BE,  ///< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), big-endian
  2029. -     AV_PIX_FMT_RGB565LE,  ///< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), little-endian
  2030. -     AV_PIX_FMT_RGB555BE,  ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
  2031. -     AV_PIX_FMT_RGB555LE,  ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
  2032. -
  2033. -     AV_PIX_FMT_BGR565BE,  ///< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), big-endian
  2034. -     AV_PIX_FMT_BGR565LE,  ///< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), little-endian
  2035. -     AV_PIX_FMT_BGR555BE,  ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
  2036. -     AV_PIX_FMT_BGR555LE,  ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
  2037. -
  2038. -     AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
  2039. -     AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
  2040. -     AV_PIX_FMT_VAAPI_VLD,  ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2041. -
  2042. -     AV_PIX_FMT_YUV420P16LE,  ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
  2043. -     AV_PIX_FMT_YUV420P16BE,  ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
  2044. -     AV_PIX_FMT_YUV422P16LE,  ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
  2045. -     AV_PIX_FMT_YUV422P16BE,  ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
  2046. -     AV_PIX_FMT_YUV444P16LE,  ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
  2047. -     AV_PIX_FMT_YUV444P16BE,  ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
  2048. - #if FF_API_VDPAU
  2049. -     AV_PIX_FMT_VDPAU_MPEG4,  ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
  2050. - #endif
  2051. -     AV_PIX_FMT_DXVA2_VLD,    ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
  2052. -
  2053. -     AV_PIX_FMT_RGB444LE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
  2054. -diff -U 30 -H -b -w -B -E -d -t -r -N -x '*.rej' -x '*.log' -x '*.fate' -x '*~' -x '*.orig' -x '*.d' -x '*.pc' -x '*.mak' -x '*.texi' -x config.h -x avconfig.h -x ffversion.h -- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/utils.c ffmpeg-2.4.6-Helix/libavutil/utils.c
  2055. ---- ffmpeg_test/FFmpeg-2.4.6-Helix/libavutil/utils.c   2015-01-17 19:09:02.000000000 +0100
  2056. -+++ ffmpeg-2.4.6-Helix/libavutil/utils.c   2015-04-12 14:15:47.823521373 +0200
  2057. -@@ -9,61 +9,61 @@
  2058. -  * FFmpeg is distributed in the hope that it will be useful,
  2059. -  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2060. -  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2061. -  * Lesser General Public License for more details.
  2062. -  *
  2063. -  * You should have received a copy of the GNU Lesser General Public
  2064. -  * License along with FFmpeg; if not, write to the Free Software
  2065. -  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  2066. -  */
  2067. -
  2068. - #include "config.h"
  2069. - #include "avutil.h"
  2070. - #include "avassert.h"
  2071. - #include "samplefmt.h"
  2072. - #include "pixdesc.h"
  2073. -
  2074. - /**
  2075. -  * @file
  2076. -  * various utility functions
  2077. -  */
  2078. -
  2079. - #include "libavutil/ffversion.h"
  2080. - const char av_util_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
  2081. -
  2082. - unsigned avutil_version(void)
  2083. - {
  2084. -     static int checks_done;
  2085. +diff -rNu FFmpeg-2.4.6-Helix.old/libavutil/utils.c FFmpeg-2.4.6-Helix/libavutil/utils.c
  2086. +--- FFmpeg-2.4.6-Helix.old/libavutil/utils.c   2016-01-17 14:13:22.709047719 +0100
  2087. ++++ FFmpeg-2.4.6-Helix/libavutil/utils.c   2016-01-17 14:13:44.595003198 +0100
  2088. +@@ -36,7 +36,7 @@
  2089.       if (checks_done)
  2090.           return LIBAVUTIL_VERSION_INT;
  2091.  
  2092. @@ -2319,30 +826,3 @@
  2093.       av_assert0(AV_SAMPLE_FMT_DBLP == 9);
  2094.       av_assert0(AVMEDIA_TYPE_ATTACHMENT == 4);
  2095.       av_assert0(AV_PICTURE_TYPE_BI == 7);
  2096. -     av_assert0(LIBAVUTIL_VERSION_MICRO >= 100);
  2097. -     av_assert0(HAVE_MMX2 == HAVE_MMXEXT);
  2098. -
  2099. -     av_assert0(((size_t)-1) > 0); // C guarantees this but if false on a platform we care about revert at least b284e1ffe343d6697fb950d1ee517bafda8a9844
  2100. -
  2101. -     if (av_sat_dadd32(1, 2) != 5) {
  2102. -         av_log(NULL, AV_LOG_FATAL, "Libavutil has been build with a broken binutils, please upgrade binutils and rebuild\n");
  2103. -         abort();
  2104. -     }
  2105. -
  2106. -     if (llrint(1LL<<60) != 1LL<<60) {
  2107. -         av_log(NULL, AV_LOG_ERROR, "Libavutil has been linked to a broken llrint()\n");
  2108. -     }
  2109. -
  2110. - #if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 0
  2111. -     ff_check_pixfmt_descriptors();
  2112. - #endif
  2113. -     checks_done = 1;
  2114. -     return LIBAVUTIL_VERSION_INT;
  2115. - }
  2116. -
  2117. - const char *avutil_configuration(void)
  2118. - {
  2119. -     return FFMPEG_CONFIGURATION;
  2120. - }
  2121. -
  2122. - const char *avutil_license(void)
  2123. diff -rNu xbmc-helix_allwinner_gles_support.orig/xbmc/guilib/TextureCedar.cpp xbmc-helix_allwinner_gles_support/xbmc/guilib/TextureCedar.cpp
  2124. --- xbmc-helix_allwinner_gles_support.orig/xbmc/guilib/TextureCedar.cpp 2016-01-17 13:57:25.193461984 +0100
  2125. +++ xbmc-helix_allwinner_gles_support/xbmc/guilib/TextureCedar.cpp  2016-01-17 15:07:14.243807747 +0100
  2126. @@ -18,9 +18,9 @@
  2127.   *
  2128.   */
  2129.  
  2130. -#if defined (HAVE_LIBCEDARJPEG)
  2131. -
  2132.  #include "system.h"
  2133. +
  2134. +#if defined (HAVE_LIBCEDARJPEG)
  2135.  #include "Texture.h"
  2136.  #include "windowing/WindowingFactory.h"
  2137.  #include "utils/log.h"
  2138. diff -rNu xbmc-helix_allwinner_gles_support.orig/xbmc/windowing/egl/EGLNativeTypeA10.cpp xbmc-helix_allwinner_gles_support/xbmc/windowing/egl/EGLNativeTypeA10.cpp
  2139. --- xbmc-helix_allwinner_gles_support.orig/xbmc/windowing/egl/EGLNativeTypeA10.cpp  2016-01-17 13:57:25.363456473 +0100
  2140. +++ xbmc-helix_allwinner_gles_support/xbmc/windowing/egl/EGLNativeTypeA10.cpp   2016-01-17 14:53:50.350046916 +0100
  2141. @@ -19,7 +19,7 @@
  2142.   */
  2143.  #include "system.h"
  2144.  #include <EGL/egl.h>
  2145. -#include "EGL/eglplatform_fb.h"
  2146. +#include "EGL/eglplatform.h"
  2147.  #include "EGLNativeTypeA10.h"
  2148.  #include "utils/log.h"
  2149.  #include "guilib/gui3d.h"
Add Comment
Please, Sign In to add comment