Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 23 Sep 2011 22:54:59 +0000 (00:54 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 23 Sep 2011 23:03:07 +0000 (01:03 +0200)
* qatar/master:
  rtp: factorize  dynamic payload type fallback
  flvdec: Ignore the index if it's from a creator known to be different
  cmdutils: move grow_array out of #if CONFIG_AVFILTER
  avconv: actually set InputFile.rate_emu
  ratecontrol: update last_qscale_for sooner
  Fix unnecessary shift with 9/10bit vertical scaling
  prores: mark prores as intra-only in libavformat/utils.c:is_intra_only()
  prores: return more meaningful error values
  prores: improve error message wording
  prores: cosmetics: prettyprinting, drop useless parentheses
  prores: lowercase AVCodec name entry

Conflicts:
cmdutils.c
libavcodec/proresdec_lgpl.c
tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
avconv.c
libavcodec/proresdec_lgpl.c
libavcodec/ratecontrol.c
libavformat/flvdec.c
libavformat/rtp.c
libavformat/rtpenc.c
libavformat/sdp.c
libavformat/utils.c
libswscale/swscale.c
tests/ref/lavfi/pixfmts_scale

diff --cc avconv.c
Simple merge
@@@ -720,8 -718,8 +718,8 @@@ static av_cold int decode_close(AVCodec
  }
  
  
 -AVCodec ff_prores_decoder = {
 -    .name           = "prores",
 +AVCodec ff_prores_lgpl_decoder = {
-     .name           = "ProRes_lgpl",
++    .name           = "prores_lgpl",
      .type           = AVMEDIA_TYPE_VIDEO,
      .id             = CODEC_ID_PRORES,
      .priv_data_size = sizeof(ProresContext),
Simple merge
@@@ -139,10 -140,21 +139,22 @@@ static int parse_keyframes_index(AVForm
      int64_t *filepositions = NULL;
      int ret = AVERROR(ENOSYS);
      int64_t initial_pos = avio_tell(ioc);
+     AVDictionaryEntry *creator = av_dict_get(s->metadata, "metadatacreator",
+                                              NULL, 0);
+     if (creator && !strcmp(creator->value, "MEGA")) {
+         /* Files with this metadatacreator tag seem to have filepositions
+          * pointing at the 4 trailer bytes of the previous packet,
+          * which isn't the norm (nor what we expect here, nor what
+          * jwplayer + lighttpd expect, nor what flvtool2 produces).
+          * Just ignore the index in this case, instead of risking trying
+          * to adjust it to something that might or might not work. */
+         return 0;
+     }
  
      while (avio_tell(ioc) < max_pos - 2 && amf_get_string(ioc, str_val, sizeof(str_val)) > 0) {
 -        int64_t* current_array;
 +        int64_t** current_array;
 +        unsigned int arraylen;
  
          // Expect array object in context
          if (avio_r8(ioc) != AMF_DATA_TYPE_ARRAY)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -31,15 -31,15 +31,15 @@@ uyvy422             314bd486277111a95d9
  yuv410p             7df8f6d69b56a8dcb6c7ee908e5018b5
  yuv411p             1143e7c5cc28fe0922b051b17733bc4c
  yuv420p             fdad2d8df8985e3d17e73c71f713cb14
- yuv420p10be         dfa4d57bbc0e1a81f86a3895ab4feac0
- yuv420p10le         af898206e757b0fca844a336f71d0091
 -yuv420p10be         c143e77e97d2f7d62c3b518857ba9f9b
 -yuv420p10le         72d90eccf5c34691ff057dafb7447aa2
 -yuv420p16be         9688e33e03b8c8275ab2fb1df0f06bee
 -yuv420p16le         cba8b390ad5e7b8678e419b8ce79c008
 -yuv420p9be          bb87fddca65d1742412c8d2b1caf96c6
 -yuv420p9le          828eec50014a41258a5423c1fe56ac97
++yuv420p10be         6d335e75b553da590135cf8bb999610c
++yuv420p10le         d510ddbabefd03ef39ec943fcb51b709
 +yuv420p16be         2a75942af24fbdc1fdfe189c6e7bf589
 +yuv420p16le         c4264d92a7c273967a778f4f5daddbe3
- yuv420p9be          046091d96f2a78e224036f203d8c9601
- yuv420p9le          c9abfffee99fcf5fcbfc5adcda14e4b4
++yuv420p9be          ec4983b7a949c0472110a7a2c58e278a
++yuv420p9le          c136dce5913a722eee44ab72cff664b2
  yuv422p             918e37701ee7377d16a8a6c119c56a40
- yuv422p10be         35206fcd7e00ee582a8c366b37d57d1d
- yuv422p10le         396f930e2da02f149ab9dd5b781cbe8d
+ yuv422p10be         cea7ca6b0e66d6f29539885896c88603
+ yuv422p10le         a10c4a5837547716f13cd61918b145f9
  yuv422p16be         285993ee0c0f4f8e511ee46f93c5f38c
  yuv422p16le         61bfcee8e54465f760164f5a75d40b5e
  yuv440p             461503fdb9b90451020aa3b25ddf041c