Browse Source

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  configure: Add -U__STRICT_ANSI__ to CPPFLAGS on Cygwin and DOS.
  aacdec: fix typo in scalefactor clipping check
  fate: fix fate-h264-conformance-frext-pph10i4-panasonic-a crcs.
  fate: update 9/10bit refs.
  h264: Properly set coded_{width, height} when parsing H.264.
  x86 asm: Add SECTION_TEXT to dct32_sse.asm.
  Fix 9/10 bit in swscale.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer 14 years ago
parent
commit
26ed595bd0

+ 2 - 0
configure

@@ -2490,11 +2490,13 @@ case $target_os in
         objformat="win32"
         enable dos_paths
         check_cflags -fno-common
+        add_cppflags -U__STRICT_ANSI__
         ;;
     *-dos|freedos|opendos)
         network_extralibs="-lsocket"
         objformat="coff"
         enable dos_paths
+        add_cppflags -U__STRICT_ANSI__
         ;;
     linux)
         add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600

+ 1 - 1
libavcodec/aacdec.c

@@ -824,7 +824,7 @@ static int decode_scalefactors(AACContext *ac, float sf[120], GetBitContext *gb,
                     else
                         offset[1] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) - 60;
                     clipped_offset = av_clip(offset[1], -100, 155);
-                    if (offset[2] != clipped_offset) {
+                    if (offset[1] != clipped_offset) {
                         av_log_ask_for_sample(ac->avctx, "Noise gain clipped "
                                 "(%d -> %d).\nIf you heard an audible "
                                 "artifact, there may be a bug in the decoder. ",

+ 3 - 0
libavcodec/h264.c

@@ -1901,6 +1901,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
         s->avctx->sample_aspect_ratio= h->sps.sar;
         av_assert0(s->avctx->sample_aspect_ratio.den);
 
+        h->s.avctx->coded_width = 16*s->mb_width;
+        h->s.avctx->coded_height = 16*s->mb_height;
+
         if(h->sps.video_signal_type_present_flag){
             s->avctx->color_range = h->sps.full_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG;
             if(h->sps.colour_description_present_flag){

+ 1 - 1
libavcodec/x86/dct32_sse.asm

@@ -203,7 +203,7 @@ ps_p1p1m1m1: dd 0, 0, 0x80000000, 0x80000000, 0, 0, 0x80000000, 0x80000000
 %define BUTTERFLY0 BUTTERFLY0_AVX
 
 INIT_YMM
-section .text align=16
+SECTION_TEXT
 %ifdef HAVE_AVX
 ; void ff_dct32_float_avx(FFTSample *out, const FFTSample *in)
 cglobal dct32_float_avx, 2,3,8, out, in, tmp

+ 4 - 4
libswscale/swscale.c

@@ -383,7 +383,7 @@ static av_always_inline void yuv2yuvX16inC_template(const int16_t *lumFilter, co
         } \
     }
     for (i = 0; i < dstW; i++) {
-        int val = 1 << 10;
+        int val = 1 << (26-output_bits);
         int j;
 
         for (j = 0; j < lumFilterSize; j++)
@@ -394,8 +394,8 @@ static av_always_inline void yuv2yuvX16inC_template(const int16_t *lumFilter, co
 
     if (uDest) {
         for (i = 0; i < chrDstW; i++) {
-            int u = 1 << 10;
-            int v = 1 << 10;
+            int u = 1 << (26-output_bits);
+            int v = 1 << (26-output_bits);
             int j;
 
             for (j = 0; j < chrFilterSize; j++) {
@@ -410,7 +410,7 @@ static av_always_inline void yuv2yuvX16inC_template(const int16_t *lumFilter, co
 
     if (CONFIG_SWSCALE_ALPHA && aDest) {
         for (i = 0; i < dstW; i++) {
-            int val = 1 << 10;
+            int val = 1 << (26-output_bits);
             int j;
 
             for (j = 0; j < lumFilterSize; j++)

+ 4 - 13
tests/ref/fate/h264-conformance-frext-pph10i4_panasonic_a

@@ -4,16 +4,7 @@
 0, 10800, 6220800, 0x7459a1cc
 0, 14400, 6220800, 0x02191aa9
 0, 18000, 6220800, 0x88dca590
-0, 21600, 6220800, 0x56dd150a
-0, 25200, 6220800, 0x5f56a56f
-0, 28800, 6220800, 0x67ada4b7
-0, 32400, 6220800, 0x88dca590
-0, 36000, 6220800, 0xd3b09fe5
-0, 39600, 6220800, 0x2223998c
-0, 43200, 6220800, 0x5e5b2da5
-0, 46800, 6220800, 0x88dca590
-0, 50400, 6220800, 0x5e5b2da5
-0, 54000, 6220800, 0x88dca590
-0, 57600, 6220800, 0x5e5b2da5
-0, 61200, 6220800, 0x88dca590
-0, 64800, 6220800, 0x26e1ec8b
+0, 21600, 6220800, 0x4484d484
+0, 25200, 6220800, 0x8afdb53f
+0, 28800, 6220800, 0xd3d6017a
+0, 32400, 6220800, 0xf5162af0