You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	put_bits: remove ALT_BITSTREAM_WRITER
The code for this variant does not compile. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
		| @@ -43,11 +43,7 @@ const uint8_t ff_log2_run[41]={ | ||||
|  | ||||
| void align_put_bits(PutBitContext *s) | ||||
| { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     put_bits(s,(  - s->index) & 7,0); | ||||
| #else | ||||
|     put_bits(s,s->bit_left & 7,0); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void ff_put_string(PutBitContext *pb, const char *string, int terminate_string) | ||||
|   | ||||
| @@ -2170,9 +2170,7 @@ static int encode_thread(AVCodecContext *c, void *arg){ | ||||
|                         int d= 100 / s->avctx->error_rate; | ||||
|                         if(r % d == 0){ | ||||
|                             current_packet_size=0; | ||||
| #ifndef ALT_BITSTREAM_WRITER | ||||
|                             s->pb.buf_ptr= s->ptr_lastgob; | ||||
| #endif | ||||
|                             assert(put_bits_ptr(&s->pb) == s->ptr_lastgob); | ||||
|                         } | ||||
|                     } | ||||
|   | ||||
| @@ -36,19 +36,10 @@ | ||||
| #include "mathops.h" | ||||
| #include "config.h" | ||||
|  | ||||
| //#define ALT_BITSTREAM_WRITER | ||||
| //#define ALIGNED_BITSTREAM_WRITER | ||||
|  | ||||
| /* buf and buf_end must be present and used by every alternative writer. */ | ||||
| typedef struct PutBitContext { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     uint8_t *buf, *buf_end; | ||||
|     int index; | ||||
| #else | ||||
|     uint32_t bit_buf; | ||||
|     int bit_left; | ||||
|     uint8_t *buf, *buf_ptr, *buf_end; | ||||
| #endif | ||||
|     int size_in_bits; | ||||
| } PutBitContext; | ||||
|  | ||||
| @@ -68,14 +59,9 @@ static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_s | ||||
|     s->size_in_bits= 8*buffer_size; | ||||
|     s->buf = buffer; | ||||
|     s->buf_end = s->buf + buffer_size; | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     s->index=0; | ||||
|     AV_ZERO32(s->buf); | ||||
| #else | ||||
|     s->buf_ptr = s->buf; | ||||
|     s->bit_left=32; | ||||
|     s->bit_buf=0; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -83,11 +69,7 @@ static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_s | ||||
|  */ | ||||
| static inline int put_bits_count(PutBitContext *s) | ||||
| { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     return s->index; | ||||
| #else | ||||
|     return (s->buf_ptr - s->buf) * 8 + 32 - s->bit_left; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -95,9 +77,6 @@ static inline int put_bits_count(PutBitContext *s) | ||||
|  */ | ||||
| static inline void flush_put_bits(PutBitContext *s) | ||||
| { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     align_put_bits(s); | ||||
| #else | ||||
| #ifndef BITSTREAM_WRITER_LE | ||||
|     s->bit_buf<<= s->bit_left; | ||||
| #endif | ||||
| @@ -114,10 +93,9 @@ static inline void flush_put_bits(PutBitContext *s) | ||||
|     } | ||||
|     s->bit_left=32; | ||||
|     s->bit_buf=0; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| #if defined(ALT_BITSTREAM_WRITER) || defined(BITSTREAM_WRITER_LE) | ||||
| #ifdef BITSTREAM_WRITER_LE | ||||
| #define align_put_bits align_put_bits_unsupported_here | ||||
| #define ff_put_string ff_put_string_unsupported_here | ||||
| #define ff_copy_bits ff_copy_bits_unsupported_here | ||||
| @@ -147,7 +125,6 @@ void ff_copy_bits(PutBitContext *pb, const uint8_t *src, int length); | ||||
|  * Use put_bits32 to write 32 bits. | ||||
|  */ | ||||
| static inline void put_bits(PutBitContext *s, int n, unsigned int value) | ||||
| #ifndef ALT_BITSTREAM_WRITER | ||||
| { | ||||
|     unsigned int bit_buf; | ||||
|     int bit_left; | ||||
| @@ -187,70 +164,6 @@ static inline void put_bits(PutBitContext *s, int n, unsigned int value) | ||||
|     s->bit_buf = bit_buf; | ||||
|     s->bit_left = bit_left; | ||||
| } | ||||
| #else  /* ALT_BITSTREAM_WRITER defined */ | ||||
| { | ||||
| #    ifdef ALIGNED_BITSTREAM_WRITER | ||||
| #        if ARCH_X86 | ||||
|     __asm__ volatile( | ||||
|         "movl %0, %%ecx                 \n\t" | ||||
|         "xorl %%eax, %%eax              \n\t" | ||||
|         "shrdl %%cl, %1, %%eax          \n\t" | ||||
|         "shrl %%cl, %1                  \n\t" | ||||
|         "movl %0, %%ecx                 \n\t" | ||||
|         "shrl $3, %%ecx                 \n\t" | ||||
|         "andl $0xFFFFFFFC, %%ecx        \n\t" | ||||
|         "bswapl %1                      \n\t" | ||||
|         "orl %1, (%2, %%ecx)            \n\t" | ||||
|         "bswapl %%eax                   \n\t" | ||||
|         "addl %3, %0                    \n\t" | ||||
|         "movl %%eax, 4(%2, %%ecx)       \n\t" | ||||
|         : "=&r" (s->index), "=&r" (value) | ||||
|         : "r" (s->buf), "r" (n), "0" (s->index), "1" (value<<(-n)) | ||||
|         : "%eax", "%ecx" | ||||
|     ); | ||||
| #        else | ||||
|     int index= s->index; | ||||
|     uint32_t *ptr= ((uint32_t *)s->buf)+(index>>5); | ||||
|  | ||||
|     value<<= 32-n; | ||||
|  | ||||
|     ptr[0] |= av_be2ne32(value>>(index&31)); | ||||
|     ptr[1]  = av_be2ne32(value<<(32-(index&31))); | ||||
| //if(n>24) printf("%d %d\n", n, value); | ||||
|     index+= n; | ||||
|     s->index= index; | ||||
| #        endif | ||||
| #    else //ALIGNED_BITSTREAM_WRITER | ||||
| #        if ARCH_X86 | ||||
|     __asm__ volatile( | ||||
|         "movl $7, %%ecx                 \n\t" | ||||
|         "andl %0, %%ecx                 \n\t" | ||||
|         "addl %3, %%ecx                 \n\t" | ||||
|         "negl %%ecx                     \n\t" | ||||
|         "shll %%cl, %1                  \n\t" | ||||
|         "bswapl %1                      \n\t" | ||||
|         "movl %0, %%ecx                 \n\t" | ||||
|         "shrl $3, %%ecx                 \n\t" | ||||
|         "orl %1, (%%ecx, %2)            \n\t" | ||||
|         "addl %3, %0                    \n\t" | ||||
|         "movl $0, 4(%%ecx, %2)          \n\t" | ||||
|         : "=&r" (s->index), "=&r" (value) | ||||
|         : "r" (s->buf), "r" (n), "0" (s->index), "1" (value) | ||||
|         : "%ecx" | ||||
|     ); | ||||
| #        else | ||||
|     int index= s->index; | ||||
|     uint32_t *ptr= (uint32_t*)(((uint8_t *)s->buf)+(index>>3)); | ||||
|  | ||||
|     ptr[0] |= av_be2ne32(value<<(32-n-(index&7) )); | ||||
|     ptr[1] = 0; | ||||
| //if(n>24) printf("%d %d\n", n, value); | ||||
|     index+= n; | ||||
|     s->index= index; | ||||
| #        endif | ||||
| #    endif //!ALIGNED_BITSTREAM_WRITER | ||||
| } | ||||
| #endif | ||||
|  | ||||
| static inline void put_sbits(PutBitContext *pb, int n, int32_t value) | ||||
| { | ||||
| @@ -281,11 +194,7 @@ static void av_unused put_bits32(PutBitContext *s, uint32_t value) | ||||
|  */ | ||||
| static inline uint8_t* put_bits_ptr(PutBitContext *s) | ||||
| { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|         return s->buf + (s->index>>3); | ||||
| #else | ||||
|         return s->buf_ptr; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -295,13 +204,8 @@ static inline uint8_t* put_bits_ptr(PutBitContext *s) | ||||
| static inline void skip_put_bytes(PutBitContext *s, int n) | ||||
| { | ||||
|         assert((put_bits_count(s)&7)==0); | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|         FIXME may need some cleaning of the buffer | ||||
|         s->index += n<<3; | ||||
| #else | ||||
|         assert(s->bit_left==32); | ||||
|         s->buf_ptr += n; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -311,13 +215,9 @@ static inline void skip_put_bytes(PutBitContext *s, int n) | ||||
|  */ | ||||
| static inline void skip_put_bits(PutBitContext *s, int n) | ||||
| { | ||||
| #ifdef ALT_BITSTREAM_WRITER | ||||
|     s->index += n; | ||||
| #else | ||||
|     s->bit_left -= n; | ||||
|     s->buf_ptr-= 4*(s->bit_left>>5); | ||||
|     s->bit_left &= 31; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user