xine-lib  1.2.10
vis.h
Go to the documentation of this file.
1 /*
2  * vis.h
3  * Copyright (C) 2003 David S. Miller <davem@redhat.com>
4  *
5  * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
6  * See http://libmpeg2.sourceforge.net/ for updates.
7  *
8  * mpeg2dec is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * mpeg2dec is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
21  */
22 
23 /* You may be asking why I hard-code the instruction opcodes and don't
24  * use the normal VIS assembler mnenomics for the VIS instructions.
25  *
26  * The reason is that Sun, in their infinite wisdom, decided that a binary
27  * using a VIS instruction will cause it to be marked (in the ELF headers)
28  * as doing so, and this prevents the OS from loading such binaries if the
29  * current cpu doesn't have VIS. There is no way to easily override this
30  * behavior of the assembler that I am aware of.
31  *
32  * This totally defeats what libmpeg2 is trying to do which is allow a
33  * single binary to be created, and then detect the availability of VIS
34  * at runtime.
35  *
36  * I'm not saying that tainting the binary by default is bad, rather I'm
37  * saying that not providing a way to override this easily unnecessarily
38  * ties people's hands.
39  *
40  * Thus, we do the opcode encoding by hand and output 32-bit words in
41  * the assembler to keep the binary from becoming tainted.
42  */
43 
44 #define vis_opc_base ((0x1 << 31) | (0x36 << 19))
45 #define vis_opf(X) ((X) << 5)
46 #define vis_sreg(X) (X)
47 #define vis_dreg(X) (((X)&0x1f)|((X)>>5))
48 #define vis_rs1_s(X) (vis_sreg(X) << 14)
49 #define vis_rs1_d(X) (vis_dreg(X) << 14)
50 #define vis_rs2_s(X) (vis_sreg(X) << 0)
51 #define vis_rs2_d(X) (vis_dreg(X) << 0)
52 #define vis_rd_s(X) (vis_sreg(X) << 25)
53 #define vis_rd_d(X) (vis_dreg(X) << 25)
54 
55 #define vis_ss2s(opf,rs1,rs2,rd) \
56  __asm__ __volatile__ (".word %0" \
57  : : "i" (vis_opc_base | vis_opf(opf) | \
58  vis_rs1_s(rs1) | \
59  vis_rs2_s(rs2) | \
60  vis_rd_s(rd)))
61 
62 #define vis_dd2d(opf,rs1,rs2,rd) \
63  __asm__ __volatile__ (".word %0" \
64  : : "i" (vis_opc_base | vis_opf(opf) | \
65  vis_rs1_d(rs1) | \
66  vis_rs2_d(rs2) | \
67  vis_rd_d(rd)))
68 
69 #define vis_ss2d(opf,rs1,rs2,rd) \
70  __asm__ __volatile__ (".word %0" \
71  : : "i" (vis_opc_base | vis_opf(opf) | \
72  vis_rs1_s(rs1) | \
73  vis_rs2_s(rs2) | \
74  vis_rd_d(rd)))
75 
76 #define vis_sd2d(opf,rs1,rs2,rd) \
77  __asm__ __volatile__ (".word %0" \
78  : : "i" (vis_opc_base | vis_opf(opf) | \
79  vis_rs1_s(rs1) | \
80  vis_rs2_d(rs2) | \
81  vis_rd_d(rd)))
82 
83 #define vis_d2s(opf,rs2,rd) \
84  __asm__ __volatile__ (".word %0" \
85  : : "i" (vis_opc_base | vis_opf(opf) | \
86  vis_rs2_d(rs2) | \
87  vis_rd_s(rd)))
88 
89 #define vis_s2d(opf,rs2,rd) \
90  __asm__ __volatile__ (".word %0" \
91  : : "i" (vis_opc_base | vis_opf(opf) | \
92  vis_rs2_s(rs2) | \
93  vis_rd_d(rd)))
94 
95 #define vis_d12d(opf,rs1,rd) \
96  __asm__ __volatile__ (".word %0" \
97  : : "i" (vis_opc_base | vis_opf(opf) | \
98  vis_rs1_d(rs1) | \
99  vis_rd_d(rd)))
100 
101 #define vis_d22d(opf,rs2,rd) \
102  __asm__ __volatile__ (".word %0" \
103  : : "i" (vis_opc_base | vis_opf(opf) | \
104  vis_rs2_d(rs2) | \
105  vis_rd_d(rd)))
106 
107 #define vis_s12s(opf,rs1,rd) \
108  __asm__ __volatile__ (".word %0" \
109  : : "i" (vis_opc_base | vis_opf(opf) | \
110  vis_rs1_s(rs1) | \
111  vis_rd_s(rd)))
112 
113 #define vis_s22s(opf,rs2,rd) \
114  __asm__ __volatile__ (".word %0" \
115  : : "i" (vis_opc_base | vis_opf(opf) | \
116  vis_rs2_s(rs2) | \
117  vis_rd_s(rd)))
118 
119 #define vis_s(opf,rd) \
120  __asm__ __volatile__ (".word %0" \
121  : : "i" (vis_opc_base | vis_opf(opf) | \
122  vis_rd_s(rd)))
123 
124 #define vis_d(opf,rd) \
125  __asm__ __volatile__ (".word %0" \
126  : : "i" (vis_opc_base | vis_opf(opf) | \
127  vis_rd_d(rd)))
128 
129 #define vis_r2m(op,rd,mem) \
130  __asm__ __volatile__ (#op "\t%%f" #rd ", [%0]" : : "r" (&(mem)) )
131 
132 #define vis_r2m_2(op,rd,mem1,mem2) \
133  __asm__ __volatile__ (#op "\t%%f" #rd ", [%0 + %1]" : : "r" (mem1), "r" (mem2) )
134 
135 #define vis_m2r(op,mem,rd) \
136  __asm__ __volatile__ (#op "\t[%0], %%f" #rd : : "r" (&(mem)) )
137 
138 #define vis_m2r_2(op,mem1,mem2,rd) \
139  __asm__ __volatile__ (#op "\t[%0 + %1], %%f" #rd : : "r" (mem1), "r" (mem2) )
140 
141 static inline void vis_set_gsr(unsigned int _val)
142 {
143  register unsigned int val asm("g1");
144 
145  val = _val;
146  __asm__ __volatile__(".word 0xa7804000"
147  : : "r" (val));
148 }
149 
150 #define VIS_GSR_ALIGNADDR_MASK 0x0000007
151 #define VIS_GSR_ALIGNADDR_SHIFT 0
152 #define VIS_GSR_SCALEFACT_MASK 0x0000078
153 #define VIS_GSR_SCALEFACT_SHIFT 3
154 
155 #define vis_ld32(mem,rs1) vis_m2r(ld, mem, rs1)
156 #define vis_ld32_2(mem1,mem2,rs1) vis_m2r_2(ld, mem1, mem2, rs1)
157 #define vis_st32(rs1,mem) vis_r2m(st, rs1, mem)
158 #define vis_st32_2(rs1,mem1,mem2) vis_r2m_2(st, rs1, mem1, mem2)
159 #define vis_ld64(mem,rs1) vis_m2r(ldd, mem, rs1)
160 #define vis_ld64_2(mem1,mem2,rs1) vis_m2r_2(ldd, mem1, mem2, rs1)
161 #define vis_st64(rs1,mem) vis_r2m(std, rs1, mem)
162 #define vis_st64_2(rs1,mem1,mem2) vis_r2m_2(std, rs1, mem1, mem2)
163 
164 #define vis_ldblk(mem, rd) \
165 do { register void *__mem asm("g1"); \
166  __mem = &(mem); \
167  __asm__ __volatile__(".word 0xc1985e00 | %1" \
168  : \
169  : "r" (__mem), \
170  "i" (vis_rd_d(rd)) \
171  : "memory"); \
172 } while (0)
173 
174 #define vis_stblk(rd, mem) \
175 do { register void *__mem asm("g1"); \
176  __mem = &(mem); \
177  __asm__ __volatile__(".word 0xc1b85e00 | %1" \
178  : \
179  : "r" (__mem), \
180  "i" (vis_rd_d(rd)) \
181  : "memory"); \
182 } while (0)
183 
184 #define vis_membar_storestore() \
185  __asm__ __volatile__(".word 0x8143e008" : : : "memory")
186 
187 #define vis_membar_sync() \
188  __asm__ __volatile__(".word 0x8143e040" : : : "memory")
189 
190 /* 16 and 32 bit partitioned addition and subtraction. The normal
191  * versions perform 4 16-bit or 2 32-bit additions or subtractions.
192  * The 's' versions perform 2 16-bit or 2 32-bit additions or
193  * subtractions.
194  */
195 
196 #define vis_padd16(rs1,rs2,rd) vis_dd2d(0x50, rs1, rs2, rd)
197 #define vis_padd16s(rs1,rs2,rd) vis_ss2s(0x51, rs1, rs2, rd)
198 #define vis_padd32(rs1,rs2,rd) vis_dd2d(0x52, rs1, rs2, rd)
199 #define vis_padd32s(rs1,rs2,rd) vis_ss2s(0x53, rs1, rs2, rd)
200 #define vis_psub16(rs1,rs2,rd) vis_dd2d(0x54, rs1, rs2, rd)
201 #define vis_psub16s(rs1,rs2,rd) vis_ss2s(0x55, rs1, rs2, rd)
202 #define vis_psub32(rs1,rs2,rd) vis_dd2d(0x56, rs1, rs2, rd)
203 #define vis_psub32s(rs1,rs2,rd) vis_ss2s(0x57, rs1, rs2, rd)
204 
205 /* Pixel formatting instructions. */
206 
207 #define vis_pack16(rs2,rd) vis_d2s( 0x3b, rs2, rd)
208 #define vis_pack32(rs1,rs2,rd) vis_dd2d(0x3a, rs1, rs2, rd)
209 #define vis_packfix(rs2,rd) vis_d2s( 0x3d, rs2, rd)
210 #define vis_expand(rs2,rd) vis_s2d( 0x4d, rs2, rd)
211 #define vis_pmerge(rs1,rs2,rd) vis_ss2d(0x4b, rs1, rs2, rd)
212 
213 /* Partitioned multiply instructions. */
214 
215 #define vis_mul8x16(rs1,rs2,rd) vis_sd2d(0x31, rs1, rs2, rd)
216 #define vis_mul8x16au(rs1,rs2,rd) vis_ss2d(0x33, rs1, rs2, rd)
217 #define vis_mul8x16al(rs1,rs2,rd) vis_ss2d(0x35, rs1, rs2, rd)
218 #define vis_mul8sux16(rs1,rs2,rd) vis_dd2d(0x36, rs1, rs2, rd)
219 #define vis_mul8ulx16(rs1,rs2,rd) vis_dd2d(0x37, rs1, rs2, rd)
220 #define vis_muld8sux16(rs1,rs2,rd) vis_ss2d(0x38, rs1, rs2, rd)
221 #define vis_muld8ulx16(rs1,rs2,rd) vis_ss2d(0x39, rs1, rs2, rd)
222 
223 /* Alignment instructions. */
224 
225 static inline void *vis_alignaddr(void *_ptr)
226 {
227  register void *ptr asm("g1");
228 
229  ptr = _ptr;
230 
231  __asm__ __volatile__(".word %2"
232  : "=&r" (ptr)
233  : "0" (ptr),
234  "i" (vis_opc_base | vis_opf(0x18) |
235  vis_rs1_s(1) |
236  vis_rs2_s(0) |
237  vis_rd_s(1)));
238 
239  return ptr;
240 }
241 
242 static inline void vis_alignaddr_g0(void *_ptr)
243 {
244  register void *ptr asm("g1");
245 
246  ptr = _ptr;
247 
248  __asm__ __volatile__(".word %2"
249  : "=&r" (ptr)
250  : "0" (ptr),
251  "i" (vis_opc_base | vis_opf(0x18) |
252  vis_rs1_s(1) |
253  vis_rs2_s(0) |
254  vis_rd_s(0)));
255 }
256 
257 static inline void *vis_alignaddrl(void *_ptr)
258 {
259  register void *ptr asm("g1");
260 
261  ptr = _ptr;
262 
263  __asm__ __volatile__(".word %2"
264  : "=&r" (ptr)
265  : "0" (ptr),
266  "i" (vis_opc_base | vis_opf(0x19) |
267  vis_rs1_s(1) |
268  vis_rs2_s(0) |
269  vis_rd_s(1)));
270 
271  return ptr;
272 }
273 
274 static inline void vis_alignaddrl_g0(void *_ptr)
275 {
276  register void *ptr asm("g1");
277 
278  ptr = _ptr;
279 
280  __asm__ __volatile__(".word %2"
281  : "=&r" (ptr)
282  : "0" (ptr),
283  "i" (vis_opc_base | vis_opf(0x19) |
284  vis_rs1_s(1) |
285  vis_rs2_s(0) |
286  vis_rd_s(0)));
287 }
288 
289 #define vis_faligndata(rs1,rs2,rd) vis_dd2d(0x48, rs1, rs2, rd)
290 
291 /* Logical operate instructions. */
292 
293 #define vis_fzero(rd) vis_d( 0x60, rd)
294 #define vis_fzeros(rd) vis_s( 0x61, rd)
295 #define vis_fone(rd) vis_d( 0x7e, rd)
296 #define vis_fones(rd) vis_s( 0x7f, rd)
297 #define vis_src1(rs1,rd) vis_d12d(0x74, rs1, rd)
298 #define vis_src1s(rs1,rd) vis_s12s(0x75, rs1, rd)
299 #define vis_src2(rs2,rd) vis_d22d(0x78, rs2, rd)
300 #define vis_src2s(rs2,rd) vis_s22s(0x79, rs2, rd)
301 #define vis_not1(rs1,rd) vis_d12d(0x6a, rs1, rd)
302 #define vis_not1s(rs1,rd) vis_s12s(0x6b, rs1, rd)
303 #define vis_not2(rs2,rd) vis_d22d(0x66, rs2, rd)
304 #define vis_not2s(rs2,rd) vis_s22s(0x67, rs2, rd)
305 #define vis_or(rs1,rs2,rd) vis_dd2d(0x7c, rs1, rs2, rd)
306 #define vis_ors(rs1,rs2,rd) vis_ss2s(0x7d, rs1, rs2, rd)
307 #define vis_nor(rs1,rs2,rd) vis_dd2d(0x62, rs1, rs2, rd)
308 #define vis_nors(rs1,rs2,rd) vis_ss2s(0x63, rs1, rs2, rd)
309 #define vis_and(rs1,rs2,rd) vis_dd2d(0x70, rs1, rs2, rd)
310 #define vis_ands(rs1,rs2,rd) vis_ss2s(0x71, rs1, rs2, rd)
311 #define vis_nand(rs1,rs2,rd) vis_dd2d(0x6e, rs1, rs2, rd)
312 #define vis_nands(rs1,rs2,rd) vis_ss2s(0x6f, rs1, rs2, rd)
313 #define vis_xor(rs1,rs2,rd) vis_dd2d(0x6c, rs1, rs2, rd)
314 #define vis_xors(rs1,rs2,rd) vis_ss2s(0x6d, rs1, rs2, rd)
315 #define vis_xnor(rs1,rs2,rd) vis_dd2d(0x72, rs1, rs2, rd)
316 #define vis_xnors(rs1,rs2,rd) vis_ss2s(0x73, rs1, rs2, rd)
317 #define vis_ornot1(rs1,rs2,rd) vis_dd2d(0x7a, rs1, rs2, rd)
318 #define vis_ornot1s(rs1,rs2,rd) vis_ss2s(0x7b, rs1, rs2, rd)
319 #define vis_ornot2(rs1,rs2,rd) vis_dd2d(0x76, rs1, rs2, rd)
320 #define vis_ornot2s(rs1,rs2,rd) vis_ss2s(0x77, rs1, rs2, rd)
321 #define vis_andnot1(rs1,rs2,rd) vis_dd2d(0x68, rs1, rs2, rd)
322 #define vis_andnot1s(rs1,rs2,rd) vis_ss2s(0x69, rs1, rs2, rd)
323 #define vis_andnot2(rs1,rs2,rd) vis_dd2d(0x64, rs1, rs2, rd)
324 #define vis_andnot2s(rs1,rs2,rd) vis_ss2s(0x65, rs1, rs2, rd)
325 
326 /* Pixel component distance. */
327 
328 #define vis_pdist(rs1,rs2,rd) vis_dd2d(0x3e, rs1, rs2, rd)
get_intra_block_B15
static void get_intra_block_B15(picture_t *picture)
Definition: slice.c:465
slice_xvmc_non_intra_DCT
static void slice_xvmc_non_intra_DCT(picture_t *picture, uint8_t *dest, int stride)
Definition: slice_xvmc.c:1111
slice_xvmc_intra_DCT
static void slice_xvmc_intra_DCT(picture_t *picture, int cc, uint8_t *dest, int stride)
Definition: slice_xvmc.c:1068
bits
#define bits
MOTION_FUNCTIONS
#define MOTION_FUNCTIONS(FORMAT, MOTION, MOTION_FIELD, MOTION_DMV, MOTION_ZERO)
Definition: slice.c:1283
get_xvmc_intra_block_B15
static void get_xvmc_intra_block_B15(picture_t *picture)
Definition: slice_xvmc.c:531
mpeg2_decoder_s::quantizer_prescale
uint16_t quantizer_prescale[4][32][64]
Definition: mpeg2_internal.h:112
mpeg2_decoder_s::intra_vlc_format
int intra_vlc_format
Definition: mpeg2_internal.h:137
bound_motion_vector
static int bound_motion_vector(int vec, int f_code)
Definition: slice.c:208
stats_sequence_display_extension
static void stats_sequence_display_extension(uint8_t *buffer)
Definition: stats.c:184
motion_t
Definition: mpeg2_internal.h:53
DCT_TYPE_INTERLACED
#define DCT_TYPE_INTERLACED
Definition: mpeg2_internal.h:40
vis_rs1_s
#define vis_rs1_s(X)
Definition: vis.h:48
get_motion_delta
static int get_motion_delta(picture_t *picture, int f_code)
Definition: slice.c:155
get_coded_block_pattern
static int get_coded_block_pattern(picture_t *picture)
Definition: slice.c:243
get_xvmc_luma_dc_dct_diff
static int get_xvmc_luma_dc_dct_diff(picture_t *picture)
Definition: slice_xvmc.c:322
mpeg2_scan_orig_ptable
static uint8_t mpeg2_scan_orig_ptable[64]
Definition: slice_xvmc.c:73
DC_chrom_5
static const DCtab DC_chrom_5[]
Definition: vlc.h:229
get_quantizer_scale
static int get_quantizer_scale(picture_t *picture)
Definition: slice.c:135
MBtab
Definition: vlc.h:60
CBPtab
Definition: vlc.h:75
MBA_5
static const MBAtab MBA_5[]
Definition: vlc.h:394
xvmc.h
motion_t::pmv
int pmv[2][2]
Definition: mpeg2_internal.h:56
bit_ptr
#define bit_ptr
xineutils.h
stats_picture_display_extension
static void stats_picture_display_extension(uint8_t *buffer)
Definition: stats.c:209
TOP_FIELD
#define TOP_FIELD
Definition: mpeg2_internal.h:51
MOTION_420
#define MOTION_420(table, ref, motion_x, motion_y, size, y)
Definition: slice.c:974
motion_mp1
static void motion_mp1(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1131
motion_fi_dmv
static void motion_fi_dmv(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1397
stats_sequence_extension
static void stats_sequence_extension(uint8_t *buffer)
Definition: stats.c:165
I_TYPE
#define I_TYPE
Definition: ff_mpeg_parser.c:43
motion_fi_dmv
static void motion_fi_dmv(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1369
motion_fr_field_444
static void motion_fr_field_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
picture_t::top_field_first
int top_field_first
Definition: vdpau_vc1.c:112
motion_zero_444
static void motion_zero_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
mpeg2_decoder_s::motion_parser
motion_parser_t * motion_parser[5]
Definition: mpeg2_internal.h:91
motion_fr_frame
static void motion_fr_frame(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1079
mpeg2_decoder_s::concealment_motion_vectors
int concealment_motion_vectors
Definition: mpeg2_internal.h:135
MB_B
static const MBtab MB_B[]
Definition: vlc.h:122
motion_fr_field
static void motion_fr_field(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1106
get_luma_dc_dct_diff
static int get_luma_dc_dct_diff(mpeg2_decoder_t *const decoder)
Definition: slice.c:262
mpeg2_xxmc_vld_frame_complete
void mpeg2_xxmc_vld_frame_complete(mpeg2dec_accel_t *accel, picture_t *picture, int code)
Definition: slice_xvmc_vld.c:198
motion_fr_conceal
static void motion_fr_conceal(picture_t *picture)
Definition: slice_xvmc.c:1282
XINE_MC_FIELD
#define XINE_MC_FIELD
Definition: accel_xvmc.h:137
DUMPBITS
#define DUMPBITS(bit_buf, bits, num)
Definition: vlc.h:48
NEXT_MACROBLOCK
#define NEXT_MACROBLOCK
Definition: slice.c:1562
get_quantizer_scale
static void get_quantizer_scale(mpeg2_decoder_t *const decoder)
Definition: slice.c:135
MOTION_FIELD
#define MOTION_FIELD(table, ref, motion_x, motion_y, dest_field, op, src_field)
Definition: slice.c:1016
mpeg2_decoder_s::limit_y_8
unsigned int limit_y_8
Definition: mpeg2_internal.h:83
DCtab::size
uint8_t size
Definition: vlc.h:81
vis_alignaddr
static void * vis_alignaddr(void *_ptr)
Definition: vis.h:225
motion_t::f_code
int f_code[2]
Definition: mpeg2_internal.h:57
motion_zero_420
static void motion_zero_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
get_mpeg1_non_intra_block
static int get_mpeg1_non_intra_block(mpeg2_decoder_t *const decoder)
Definition: slice.c:803
mpeg2_decoder_s::stride_frame
int stride_frame
Definition: mpeg2_internal.h:80
vo_frame_s::picture_coding_type
int picture_coding_type
Definition: video_out.h:126
xine_xxmc_s::result
int result
Definition: accel_xvmc.h:92
DMV_2
static const DMVtab DMV_2[]
Definition: vlc.h:166
D_TYPE
#define D_TYPE
Definition: ff_mpeg_parser.c:46
mpeg2_decoder_s::dest
uint8_t * dest[3]
Definition: mpeg2_internal.h:73
DCTtab::level
uint8_t level
Definition: vlc.h:87
get_xvmc_chroma_dc_dct_diff
static int get_xvmc_chroma_dc_dct_diff(picture_t *picture)
Definition: slice_xvmc.c:359
XINE_MC_FRAME
#define XINE_MC_FRAME
Definition: accel_xvmc.h:138
mpeg2_mc_t::put
mpeg2_mc_fct * put[8]
Definition: mpeg2_internal.h:285
mpeg2_decoder_s::coding_type
int coding_type
Definition: mpeg2_internal.h:123
motion_fi_dmv_420
static void motion_fi_dmv_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
MOTION_FIELD_422
#define MOTION_FIELD_422(table, ref, motion_x, motion_y, dest_field, op, src_field)
Definition: slice.c:1102
vis_rd_s
#define vis_rd_s(X)
Definition: vis.h:52
stats_slice
static void stats_slice(int code, uint8_t *buffer)
Definition: stats.c:158
zig_zag_scan
static const uint8_t zig_zag_scan[64]
Definition: slice_xvmc_vld.c:28
DC_long
static const DCtab DC_long[]
Definition: vlc.h:236
xine_xxmc_s
Definition: accel_xvmc.h:77
DCTtab::len
uint8_t len
Definition: vlc.h:88
mpeg2dec_accel_t::xvmc_last_slice_code
int xvmc_last_slice_code
Definition: libmpeg2_accel.h:33
MOTION_CALL
#define MOTION_CALL(routine, direction)
Definition: slice.c:1429
DCT_16
static const DCTtab DCT_16[]
Definition: vlc.h:244
get_macroblock_modes
static int get_macroblock_modes(mpeg2_decoder_t *const decoder)
Definition: slice.c:42
slice_intra_DCT
static void slice_intra_DCT(picture_t *picture, int cc, uint8_t *dest, int stride)
Definition: slice.c:949
motion_fi_16x8_420
static void motion_fi_16x8_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
DMVtab::len
uint8_t len
Definition: vlc.h:72
mpeg2_xvmc_slice
void mpeg2_xvmc_slice(mpeg2dec_accel_t *accel, picture_t *picture, int code, uint8_t *buffer)
Definition: slice_xvmc.c:1663
vis_rs2_s
#define vis_rs2_s(X)
Definition: vis.h:50
motion_fr_dmv_444
static void motion_fr_dmv_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
stats_sequence
static void stats_sequence(uint8_t *buffer)
Definition: stats.c:83
mpeg2_decoder_s
Definition: mpeg2_internal.h:64
vis_opf
#define vis_opf(X)
Definition: vis.h:45
stats_picture
static void stats_picture(uint8_t *buffer)
Definition: stats.c:52
mpeg2_decoder_s::bitstream_ptr
const uint8_t * bitstream_ptr
Definition: mpeg2_internal.h:71
get_xvmc_mpeg1_non_intra_block
static void get_xvmc_mpeg1_non_intra_block(picture_t *picture)
Definition: slice_xvmc.c:926
mpeg2_scan_norm_ptable
static uint8_t mpeg2_scan_norm_ptable[64]
Definition: slice_xvmc.c:72
get_mpeg1_intra_block
static void get_mpeg1_intra_block(picture_t *picture)
Definition: slice.c:701
mpeg2_decoder_s::limit_x
unsigned int limit_x
Definition: mpeg2_internal.h:81
DCT_15
static const DCTtab DCT_15[]
Definition: vlc.h:255
bound_motion_vector
static int bound_motion_vector(int vec, int f_code)
Definition: slice_xvmc.c:259
xvmc_setup_scan_ptable
void xvmc_setup_scan_ptable(void)
Definition: slice_xvmc.c:75
get_macroblock_modes
static int get_macroblock_modes(picture_t *picture)
Definition: slice.c:42
motion_fi_conceal
static void motion_fi_conceal(mpeg2_decoder_t *const decoder)
Definition: slice.c:1527
get_intra_block_B14
static void get_intra_block_B14(mpeg2_decoder_t *const decoder, const uint16_t *const quant_matrix)
Definition: slice.c:343
vo_frame_s::top_field_first
int top_field_first
Definition: video_out.h:120
mpeg2dec_accel_t::slices_per_row
int slices_per_row
Definition: libmpeg2_accel.h:34
field
static int field
Definition: spudec.c:733
SIGNED_INTRA
#define SIGNED_INTRA
Definition: slice_xvmc.c:43
xine_xxmc_s::slice_data_size
unsigned slice_data_size
Definition: accel_xvmc.h:90
xine_xxmc_s::slice_data
uint8_t * slice_data
Definition: accel_xvmc.h:89
ATTR_ALIGN
#define ATTR_ALIGN(align)
Definition: attributes.h:64
mpeg2_decoder_s::b_motion
motion_t b_motion
Definition: mpeg2_internal.h:89
DCTtab
Definition: vlc.h:85
mpeg2_scan_alt_orig
static const uint8_t mpeg2_scan_alt_orig[64]
Definition: slice_xvmc.c:62
lprintf
#define lprintf(...)
Definition: xineutils.h:620
alternate_scan
static const uint8_t alternate_scan[64]
Definition: slice_xvmc_vld.c:41
mpeg2dec_accel_t
Definition: libmpeg2_accel.h:32
MB_P
static const MBtab MB_P[]
Definition: vlc.h:107
debug_level
static int debug_level
Definition: stats.c:32
MOTION_FIELD_420
#define MOTION_FIELD_420(table, ref, motion_x, motion_y, dest_field, op, src_field)
Definition: slice.c:1001
mpeg2_cpu_state_restore
void(* mpeg2_cpu_state_restore)(cpu_state_t *state)
Definition: cpu_state.c:34
bit_buf
#define bit_buf
slice_init
static int slice_init(mpeg2_decoder_t *const decoder, int code)
Definition: slice.c:1689
get_xvmc_intra_block_B14
static void get_xvmc_intra_block_B14(picture_t *picture)
Definition: slice_xvmc.c:402
mpeg2_decoder_s::f_motion
motion_t f_motion
Definition: mpeg2_internal.h:90
stats_user_data
static void stats_user_data(uint8_t *buffer)
Definition: stats.c:77
mpeg2_decoder_s::chroma_quantizer
uint16_t(*[2] chroma_quantizer)[64]
Definition: mpeg2_internal.h:111
mpeg2_decoder_s::width
int width
Definition: mpeg2_internal.h:115
picture_t
Definition: vdpau_mpeg12.c:113
mpeg2_stats
void mpeg2_stats(int code, uint8_t *buffer)
Definition: stats.c:270
mpeg2_xxmc_slice
void mpeg2_xxmc_slice(mpeg2dec_accel_t *accel, picture_t *picture, int code, uint8_t *buffer, uint32_t chunk_size, uint8_t *chunk_buffer)
Definition: slice_xvmc_vld.c:50
MBAtab
Definition: vlc.h:91
non_linear_quantizer_scale
static const int non_linear_quantizer_scale[]
Definition: slice_xvmc.c:86
attributes.h
FRAME_PICTURE
#define FRAME_PICTURE
Definition: mpeg2_internal.h:53
get_luma_dc_dct_diff
static int get_luma_dc_dct_diff(picture_t *picture)
Definition: slice.c:271
vis_alignaddrl_g0
static void vis_alignaddrl_g0(void *_ptr)
Definition: vis.h:274
vis_opc_base
#define vis_opc_base
Definition: vis.h:44
BOTTOM_FIELD
#define BOTTOM_FIELD
Definition: mpeg2_internal.h:52
slice_init
static int slice_init(picture_t *picture, int code)
Definition: slice.c:1462
xine_xxmc_s::decoded
int decoded
Definition: accel_xvmc.h:93
mpeg2_decoder_s::convert
void(* convert)(void *convert_id, uint8_t *const *src, unsigned int v_offset)
Definition: mpeg2_internal.h:100
DCT_B15_10
static const DCTtab DCT_B15_10[]
Definition: vlc.h:322
DCtab
Definition: vlc.h:80
mpeg2dec_accel_t::xxmc_mb_pic_height
unsigned xxmc_mb_pic_height
Definition: libmpeg2_accel.h:36
NEEDBITS
#define NEEDBITS(bit_buf, bits, bit_ptr)
Definition: vlc.h:39
video_out.h
get_xvmc_dmv
static int get_xvmc_dmv(picture_t *picture)
Definition: slice_xvmc.c:278
MOTION_ZERO_420
#define MOTION_ZERO_420(table, ref)
Definition: slice.c:1066
mpeg2_decoder_s::frame_pred_frame_dct
int frame_pred_frame_dct
Definition: mpeg2_internal.h:132
motion_fr_dmv_420
static void motion_fr_dmv_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
MVtab
Definition: vlc.h:65
DCtab::len
uint8_t len
Definition: vlc.h:82
vis_set_gsr
static void vis_set_gsr(unsigned int _val)
Definition: vis.h:141
B_TYPE
#define B_TYPE
Definition: ff_mpeg_parser.c:45
mpeg2_decoder_s::picture_structure
int picture_structure
Definition: mpeg2_internal.h:130
motion_fr_frame
static void motion_fr_frame(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1162
mpeg2_cpu_state_save
void(* mpeg2_cpu_state_save)(cpu_state_t *state)
Definition: cpu_state.c:33
motion_reuse
static void motion_reuse(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1234
MVtab::len
uint8_t len
Definition: vlc.h:67
NULL
NULL
Definition: xine_plugin.c:78
MOTION_CALL
#define MOTION_CALL(routine, direction)
Definition: slice_xvmc.c:1455
slice_non_intra_DCT
static void slice_non_intra_DCT(picture_t *picture, uint8_t *dest, int stride)
Definition: slice.c:977
mpeg2_slice
void mpeg2_slice(picture_t *picture, int code, uint8_t *buffer)
Definition: slice.c:1623
mpeg2_mc_fct
void mpeg2_mc_fct(uint8_t *, const uint8_t *, int, int)
Definition: mpeg2_internal.h:51
cpu_state_t
Definition: mpeg2_internal.h:221
MB_I
static const MBtab MB_I[]
Definition: vlc.h:100
mpeg2_cpu_state_save
void(* mpeg2_cpu_state_save)(cpu_state_t *state)
Definition: cpu_state.c:33
DMVtab
Definition: vlc.h:70
motion_fr_field_420
static void motion_fr_field_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
vo_frame_s::bad_frame
int bad_frame
Definition: video_out.h:111
MOTION_ZERO_422
#define MOTION_ZERO_422(table, ref)
Definition: slice.c:1162
mpeg2_mc_t
Definition: mpeg2_internal.h:284
mpeg2_decoder_s::dmv_offset
int dmv_offset
Definition: mpeg2_internal.h:104
motion_fi_field
static void motion_fi_field(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1307
MACROBLOCK_QUANT
#define MACROBLOCK_QUANT
Definition: mpeg2_internal.h:39
MOTION_DMV_422
#define MOTION_DMV_422(table, ref, motion_x, motion_y)
Definition: slice.c:1128
vo_frame_s::progressive_frame
int progressive_frame
Definition: video_out.h:125
mpeg2_init_fbuf
void mpeg2_init_fbuf(mpeg2_decoder_t *decoder, uint8_t *current_fbuf[3], uint8_t *forward_fbuf[3], uint8_t *backward_fbuf[3])
Definition: slice.c:1587
bit_ptr
#define bit_ptr
vo_frame_s::repeat_first_field
int repeat_first_field
Definition: video_out.h:121
motion_fi_field
static void motion_fi_field(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1290
MACROBLOCK_MOTION_FORWARD
#define MACROBLOCK_MOTION_FORWARD
Definition: mpeg2_internal.h:38
CBP_9
static const CBPtab CBP_9[]
Definition: vlc.h:202
mpeg2_scan_norm_orig
static const uint8_t mpeg2_scan_norm_orig[64]
Definition: slice_xvmc.c:49
xine_xvmc_s
Definition: accel_xvmc.h:63
mpeg2_decoder_s::DCTblock
int16_t DCTblock[64]
Definition: mpeg2_internal.h:97
NEXT_MACROBLOCK
#define NEXT_MACROBLOCK
Definition: slice_xvmc.c:1465
vo_frame_s::duration
int duration
Definition: video_out.h:112
xine_xvmc_s::proc_macro_block
void(* proc_macro_block)(int x, int y, int mb_type, int motion_type, int(*mv_field_sel)[2], int *dmvector, int cbp, int dct_type, vo_frame_t *current_frame, vo_frame_t *forward_ref_frame, vo_frame_t *backward_ref_frame, int picture_structure, int second_field, int(*f_mot_pmv)[2], int(*b_mot_pmv)[2])
Definition: accel_xvmc.h:66
bit_buf
#define bit_buf
Definition: slice.c:1253
motion_fr_field
static void motion_fr_field(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int), int dir)
Definition: slice_xvmc.c:1189
mpeg2_decoder_s::offset
int offset
Definition: mpeg2_internal.h:75
MOTION_FIELD_444
#define MOTION_FIELD_444(table, ref, motion_x, motion_y, dest_field, op, src_field)
Definition: slice.c:1192
MOTION_444
#define MOTION_444(table, ref, motion_x, motion_y, size, y)
Definition: slice.c:1172
DCT_B15_8
static const DCTtab DCT_B15_8[]
Definition: vlc.h:327
DCT_B14DC_5
static const DCTtab DCT_B14DC_5[]
Definition: vlc.h:312
mpeg2_scan_alt_ptable
static uint8_t mpeg2_scan_alt_ptable[64]
Definition: slice_xvmc.c:71
slice_xvmc_init
static int slice_xvmc_init(picture_t *picture, int code)
Definition: slice_xvmc.c:1490
get_chroma_dc_dct_diff
static int get_chroma_dc_dct_diff(picture_t *picture)
Definition: slice.c:308
get_non_intra_block
static int get_non_intra_block(mpeg2_decoder_t *const decoder, const uint16_t *const quant_matrix)
Definition: slice.c:564
xine_vld_frame_s
Definition: accel_xvmc.h:40
get_motion_delta
static int get_motion_delta(mpeg2_decoder_t *const decoder, const int f_code)
Definition: slice.c:159
mpeg2_decoder_s::vertical_position_extension
int vertical_position_extension
Definition: mpeg2_internal.h:117
MC_DMV
#define MC_DMV
Definition: mpeg2_internal.h:48
mpeg2_decoder_s::slice_stride
int slice_stride
Definition: mpeg2_internal.h:78
MC_16X8
#define MC_16X8
Definition: mpeg2_internal.h:47
debug_is_on
static int debug_is_on(void)
Definition: stats.c:36
bitstream_init
static void bitstream_init(picture_t *picture, uint8_t *start)
Definition: vlc.h:30
CBPtab::len
uint8_t len
Definition: vlc.h:77
DMVtab::dmv
int8_t dmv
Definition: vlc.h:71
get_xvmc_quantizer_scale
static int get_xvmc_quantizer_scale(picture_t *picture)
Definition: slice_xvmc.c:186
motion_reuse_444
static void motion_reuse_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
slice_non_intra_DCT
static void slice_non_intra_DCT(mpeg2_decoder_t *const decoder, const int cc, uint8_t *const dest, const int stride)
Definition: slice.c:960
DC_lum_5
static const DCtab DC_lum_5[]
Definition: vlc.h:222
get_coded_block_pattern
static int get_coded_block_pattern(mpeg2_decoder_t *const decoder)
Definition: slice.c:234
motion_mp1
static void motion_mp1(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1048
MACROBLOCK_INTRA
#define MACROBLOCK_INTRA
Definition: mpeg2_internal.h:35
mpeg2_decoder_s::stride
int stride
Definition: mpeg2_internal.h:76
accel_xvmc.h
bit_buf
#define bit_buf
MV_10
static const MVtab MV_10[]
Definition: vlc.h:156
get_xvmc_non_intra_block
static void get_xvmc_non_intra_block(picture_t *picture)
Definition: slice_xvmc.c:658
UBITS
#define UBITS(bit_buf, num)
Definition: vlc.h:55
MACROBLOCK_MOTION_BACKWARD
#define MACROBLOCK_MOTION_BACKWARD
Definition: mpeg2_internal.h:37
mpeg2_decoder_s::intra_dc_precision
int intra_dc_precision
Definition: mpeg2_internal.h:128
MOTION_DMV_420
#define MOTION_DMV_420(table, ref, motion_x, motion_y)
Definition: slice.c:1030
mpeg2_scan_alt
uint8_t mpeg2_scan_alt[64]
Definition: header.c:68
MBAtab::len
uint8_t len
Definition: vlc.h:93
code
char code
Definition: xmllexer.c:606
SBITS
#define SBITS(bit_buf, num)
Definition: vlc.h:58
motion_fr_dmv
static void motion_fr_dmv(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1239
DCT_B14_10
static const DCTtab DCT_B14_10[]
Definition: vlc.h:285
mpeg2_decoder_s::slice_uv_stride
int slice_uv_stride
Definition: mpeg2_internal.h:79
DCTtab::run
uint8_t run
Definition: vlc.h:86
get_non_intra_block
static void get_non_intra_block(picture_t *picture)
Definition: slice.c:578
motion_reuse_420
static void motion_reuse_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
mpeg2_decoder_s::bitstream_bits
int bitstream_bits
Definition: mpeg2_internal.h:70
xine_xxmc_s::slice_code
unsigned slice_code
Definition: accel_xvmc.h:91
mpeg2_mc_t::avg
mpeg2_mc_fct * avg[8]
Definition: mpeg2_internal.h:286
mpeg2_idct
void(* mpeg2_idct)(int16_t *block)
Definition: idct.c:61
mpeg2_mc
mpeg2_mc_t mpeg2_mc
Definition: motion_comp.c:32
mpeg2_decoder_s::dc_dct_pred
int16_t dc_dct_pred[3]
Definition: mpeg2_internal.h:94
mpeg2_idct_copy
void(* mpeg2_idct_copy)(int16_t *block, uint8_t *dest, int stride)
Definition: idct.c:59
height
unsigned int height
Definition: gfontrle.c:5
mpeg2_internal.h
CBPtab::cbp
uint8_t cbp
Definition: vlc.h:76
motion_fi_field_420
static void motion_fi_field_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
MV_4
static const MVtab MV_4[]
Definition: vlc.h:152
motion_fr_dmv
static void motion_fr_dmv(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1153
xine_xxmc_s::vld_frame
xine_vld_frame_t vld_frame
Definition: accel_xvmc.h:88
mpeg2_internal.h
motion_mp1
static void motion_mp1(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1257
get_dmv
static int get_dmv(picture_t *picture)
Definition: slice.c:227
mpeg2_decoder_s::height
int height
Definition: mpeg2_internal.h:116
vlc.h
motion_t::ref2
uint8_t ** ref2[2]
Definition: mpeg2_internal.h:55
MOTION_ZERO_444
#define MOTION_ZERO_444(table, ref)
Definition: slice.c:1244
MVtab::delta
uint8_t delta
Definition: vlc.h:66
P_TYPE
#define P_TYPE
Definition: ff_mpeg_parser.c:44
stats_copyright_extension
static void stats_copyright_extension(uint8_t *buffer)
Definition: stats.c:196
likely
#define likely(x)
Definition: attributes.h:31
motion_fr_frame_420
static void motion_fr_frame_420(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1504
motion_fr_conceal
static void motion_fr_conceal(mpeg2_decoder_t *const decoder)
Definition: slice.c:1508
mpeg2_decoder_s::picture_dest
uint8_t * picture_dest[3]
Definition: mpeg2_internal.h:99
GETWORD
#define GETWORD(bit_buf, shift, bit_ptr)
Definition: vlc.h:24
get_chroma_dc_dct_diff
static int get_chroma_dc_dct_diff(mpeg2_decoder_t *const decoder)
Definition: slice.c:299
mpeg2_decoder_s::scan
const uint8_t * scan
Definition: mpeg2_internal.h:144
MBtab::len
uint8_t len
Definition: vlc.h:62
MBtab::modes
uint8_t modes
Definition: vlc.h:61
mpeg2_decoder_s::chroma_format
int chroma_format
Definition: mpeg2_internal.h:118
get_dmv
static int get_dmv(mpeg2_decoder_t *const decoder)
Definition: slice.c:218
IDCT_ACCEL
#define IDCT_ACCEL
Definition: slice_xvmc.c:42
DCT_B14_8
static const DCTtab DCT_B14_8[]
Definition: vlc.h:290
MC_FRAME
#define MC_FRAME
Definition: mpeg2_internal.h:46
get_xvmc_mpeg1_intra_block
static void get_xvmc_mpeg1_intra_block(picture_t *picture)
Definition: slice_xvmc.c:794
xine_xxmc_s::proc_xxmc_begin
void(* proc_xxmc_begin)(vo_frame_t *vo_img)
Definition: accel_xvmc.h:98
mpeg2_decoder_s::v_offset
unsigned int v_offset
Definition: mpeg2_internal.h:105
non_linear_quantizer_scale
static const int non_linear_quantizer_scale[]
Definition: slice.c:35
slice_intra_DCT
static void slice_intra_DCT(mpeg2_decoder_t *const decoder, const int cc, uint8_t *const dest, const int stride)
Definition: slice.c:931
MOTION_TYPE_BASE
#define MOTION_TYPE_BASE
Definition: mpeg2_internal.h:44
SATURATE
#define SATURATE(val)
Definition: slice_xvmc.c:396
xine_internal.h
mpeg2dec_accel_t::row_slice_count
int row_slice_count
Definition: libmpeg2_accel.h:35
bound_motion_vector
static int bound_motion_vector(const int vector, const int f_code)
Definition: slice.c:213
mpeg2_decoder_s::limit_y_16
unsigned int limit_y_16
Definition: mpeg2_internal.h:82
get_xvmc_coded_block_pattern
static int get_xvmc_coded_block_pattern(picture_t *picture)
Definition: slice_xvmc.c:294
xine_xxmc_s::proc_xxmc_slice
void(* proc_xxmc_slice)(vo_frame_t *vo_img)
Definition: accel_xvmc.h:99
bits
#define bits
Definition: slice.c:1254
MOTION_CALL
#define MOTION_CALL(routine, direction)
Definition: slice.c:1552
vo_frame_s::accel_data
void * accel_data
Definition: video_out.h:147
NEXT_MACROBLOCK
#define NEXT_MACROBLOCK
Definition: slice.c:1439
config.h
motion_fi_16x8
static void motion_fi_16x8(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice_xvmc.c:1342
mpeg2_cpu_state_restore
void(* mpeg2_cpu_state_restore)(cpu_state_t *state)
Definition: cpu_state.c:34
get_xvmc_motion_delta
static int get_xvmc_motion_delta(picture_t *picture, int f_code)
Definition: slice_xvmc.c:206
mpeg2_decoder_s::bitstream_buf
uint32_t bitstream_buf
Definition: mpeg2_internal.h:69
vo_frame_s
Definition: video_out.h:59
MACROBLOCK_PATTERN
#define MACROBLOCK_PATTERN
Definition: mpeg2_internal.h:36
mpeg2_idct_add
void(* mpeg2_idct_add)(int last, int16_t *block, uint8_t *dest, int stride)
Definition: idct.c:60
mpeg2_decoder_s::quantizer_matrix
uint16_t * quantizer_matrix[4]
Definition: mpeg2_internal.h:110
motion_fi_field_444
static void motion_fi_field_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
MBA_11
static const MBAtab MBA_11[]
Definition: vlc.h:401
SATURATE
#define SATURATE(val)
Definition: slice.c:345
vis_alignaddrl
static void * vis_alignaddrl(void *_ptr)
Definition: vis.h:257
MOTION
#define MOTION(table, ref, motion_x, motion_y, size, y)
Definition: slice.c:987
mpeg2_zero_block
void(* mpeg2_zero_block)(int16_t *block)
Definition: idct.c:62
get_xvmc_macroblock_modes
static int get_xvmc_macroblock_modes(picture_t *picture)
Definition: slice_xvmc.c:93
MBAtab::mba
uint8_t mba
Definition: vlc.h:92
bit_ptr
#define bit_ptr
Definition: slice.c:1255
DCT_13
static const DCTtab DCT_13[]
Definition: vlc.h:270
motion_fi_16x8_444
static void motion_fi_16x8_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
mpeg2.h
xvmc_vld.h
motion_fi_conceal
static void motion_fi_conceal(picture_t *picture)
Definition: slice_xvmc.c:1428
stats_picture_coding_extension
static void stats_picture_coding_extension(uint8_t *buffer)
Definition: stats.c:215
CBP_7
static const CBPtab CBP_7[]
Definition: vlc.h:171
SATURATE
#define SATURATE(val)
Definition: slice.c:336
stats_quant_matrix_extension
static void stats_quant_matrix_extension(uint8_t *buffer)
Definition: stats.c:190
get_intra_block_B15
static void get_intra_block_B15(mpeg2_decoder_t *const decoder, const uint16_t *const quant_matrix)
Definition: slice.c:454
motion_zero
static void motion_zero(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1246
vlc.h
mpeg2_decoder_s::second_field
int second_field
Definition: mpeg2_internal.h:146
vo_frame_s::base
uint8_t * base[3]
Definition: video_out.h:116
get_intra_block_B14
static void get_intra_block_B14(picture_t *picture)
Definition: slice.c:351
MOTION_422
#define MOTION_422(table, ref, motion_x, motion_y, size, y)
Definition: slice.c:1077
motion_fr_conceal
static void motion_fr_conceal(picture_t *picture)
Definition: slice.c:1265
motion_parser_t
void motion_parser_t(mpeg2_decoder_t *decoder, motion_t *motion, mpeg2_mc_fct *const *table)
Definition: mpeg2_internal.h:60
ACCEL
#define ACCEL
Definition: slice_xvmc.c:44
mpeg2_decoder_s::limit_y
unsigned int limit_y
Definition: mpeg2_internal.h:84
MOTION_ACCEL
#define MOTION_ACCEL
Definition: slice_xvmc.c:41
motion_t::ref
uint8_t * ref[2][3]
Definition: mpeg2_internal.h:54
motion_fi_16x8
static void motion_fi_16x8(picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int))
Definition: slice.c:1321
MOTION_DMV_444
#define MOTION_DMV_444(table, ref, motion_x, motion_y)
Definition: slice.c:1215
mpeg2_scan_norm
uint8_t mpeg2_scan_norm[64]
Definition: header.c:55
get_mpeg1_intra_block
static void get_mpeg1_intra_block(mpeg2_decoder_t *const decoder)
Definition: slice.c:686
stats_sequence_end
static void stats_sequence_end(uint8_t *buffer)
Definition: stats.c:145
mpeg2_mc
mpeg2_mc_t mpeg2_mc
Definition: motion_comp.c:32
stats_group
static void stats_group(uint8_t *buffer)
Definition: stats.c:151
bits
#define bits
xine_xxmc_s::proc_xxmc_flush
void(* proc_xxmc_flush)(vo_frame_t *vo_img)
Definition: accel_xvmc.h:100
MC_FIELD
#define MC_FIELD
Definition: mpeg2_internal.h:45
stats_sequence_scalable_extension
static void stats_sequence_scalable_extension(uint8_t *buffer)
Definition: stats.c:203
vis_alignaddr_g0
static void vis_alignaddr_g0(void *_ptr)
Definition: vis.h:242
MOTION_TYPE_SHIFT
#define MOTION_TYPE_SHIFT
Definition: mpeg2_internal.h:34
get_mpeg1_non_intra_block
static void get_mpeg1_non_intra_block(picture_t *picture)
Definition: slice.c:820
MOTION_TYPE_MASK
#define MOTION_TYPE_MASK
Definition: mpeg2_internal.h:43
motion_fi_dmv_444
static void motion_fi_dmv_444(mpeg2_decoder_t *const decoder, motion_t *const motion, mpeg2_mc_fct *const *const table)
Definition: slice.c:1507
DCT_B14AC_5
static const DCTtab DCT_B14AC_5[]
Definition: vlc.h:302
xine_xxmc_s::sleep
float sleep
Definition: accel_xvmc.h:94
motion_fi_conceal
static void motion_fi_conceal(picture_t *picture)
Definition: slice.c:1402
mpeg2_decoder_s::mpeg1
int mpeg1
Definition: mpeg2_internal.h:148
mpeg2_decoder_s::uv_stride
int uv_stride
Definition: mpeg2_internal.h:77
stats_sequence_error
static void stats_sequence_error(uint8_t *buffer)
Definition: stats.c:139