summaryrefslogtreecommitdiff
path: root/apps/wps.c
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-04-23 11:00:39 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-04-23 11:00:39 +0000
commit10fd7b6c3b3ed8bfd15ec1a6b67aaff3c4cf2a69 (patch)
tree69dd452dfff3d427188c48f9999b2d432dd03410 /apps/wps.c
parent28cce684a3f433200e5257eb929ee8d7a63b67ff (diff)
downloadrockbox-10fd7b6c3b3ed8bfd15ec1a6b67aaff3c4cf2a69.zip
rockbox-10fd7b6c3b3ed8bfd15ec1a6b67aaff3c4cf2a69.tar.gz
rockbox-10fd7b6c3b3ed8bfd15ec1a6b67aaff3c4cf2a69.tar.bz2
rockbox-10fd7b6c3b3ed8bfd15ec1a6b67aaff3c4cf2a69.tar.xz
Players use the MENU button, not F1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3587 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/wps.c')
-rw-r--r--apps/wps.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/wps.c b/apps/wps.c
index a82ebc1..edc876e 100644
--- a/apps/wps.c
+++ b/apps/wps.c
@@ -809,7 +809,11 @@ int wps_show(void)
/* ignore non-remote buttons when keys are locked */
if (keys_locked &&
+#ifdef HAVE_RECORDER_KEYPAD
! ((button & BUTTON_F1) ||
+#else
+ ! ((button & BUTTON_MENU) ||
+#endif
(button == SYS_USB_CONNECTED) ||
(button & BUTTON_REMOTE)))
continue;
4' href='#n144'>144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
/*
 * mpeg2_internal.h
 * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
 * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
 *
 * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
 * See http://libmpeg2.sourceforge.net/ for updates.
 *
 * mpeg2dec is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * mpeg2dec is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * $Id$
 * libmpeg2 sync history:
 * 2008-07-01 - CVS revision 1.89
 */
#ifndef MPEG2_INTERNAL_H
#define MPEG2_INTERNAL_H

#include "config.h" /* for Rockbox CPU_ #defines */

#define STATE_INTERNAL_NORETURN ((mpeg2_state_t)-1)

/* macroblock modes */
#define MACROBLOCK_INTRA            1
#define MACROBLOCK_PATTERN          2
#define MACROBLOCK_MOTION_BACKWARD  4
#define MACROBLOCK_MOTION_FORWARD   8
#define MACROBLOCK_QUANT           16
#define DCT_TYPE_INTERLACED        32
/* motion_type */
#define MOTION_TYPE_SHIFT 6
#define MC_FIELD 1
#define MC_FRAME 2
#define MC_16X8  2
#define MC_DMV   3

/* picture structure */
#define TOP_FIELD     1
#define BOTTOM_FIELD  2
#define FRAME_PICTURE 3

/* picture coding type */
#define I_TYPE 1
#define P_TYPE 2
#define B_TYPE 3
#define D_TYPE 4

typedef void mpeg2_mc_fct (uint8_t *, const uint8_t *, int, int);

typedef struct
{
    uint8_t * ref[2][MPEG2_COMPONENTS];
    uint8_t ** ref2[2];
    int pmv[2][2];
    int f_code[2];
} motion_t;

typedef void motion_parser_t(mpeg2_decoder_t * decoder,
			                 motion_t * motion,
			                 mpeg2_mc_fct * const * table);

struct mpeg2_decoder_s
{
    /* first, state that carries information from one macroblock to the */
    /* next inside a slice, and is never used outside of mpeg2_slice() */

    /* bit parsing stuff */
    uint32_t bitstream_buf;		/* current 32 bit working set */
    int bitstream_bits;			/* used bits in working set */
    const uint8_t * bitstream_ptr;	/* buffer with stream data */

    uint8_t * dest[MPEG2_COMPONENTS];

    int offset;
    int stride;
    int uv_stride;
    int slice_stride;
    int slice_uv_stride;
    int stride_frame;
    unsigned int limit_x;
    unsigned int limit_y_16;
    unsigned int limit_y_8;
    unsigned int limit_y;

    /* Motion vectors */
    /* The f_ and b_ correspond to the forward and backward motion */
    /* predictors */
    motion_t b_motion;
    motion_t f_motion;
    motion_parser_t * motion_parser[5];

    /* predictor for DC coefficients in intra blocks */
    int16_t dc_dct_pred[MPEG2_COMPONENTS];

    /* DCT coefficients */
    int16_t * ATTR_ALIGN(16) DCTblock;  /* put buffer separately to have it in IRAM */

    uint8_t * picture_dest[MPEG2_COMPONENTS];
    void (* convert) (void * convert_id, uint8_t * const * src,
		              unsigned int v_offset);
    void * convert_id;

    int dmv_offset;
    unsigned int v_offset;

    /* now non-slice-specific information */

    /* sequence header stuff */
    uint16_t * quantizer_matrix[4];
    uint16_t (* chroma_quantizer[2])[64];
    uint16_t quantizer_prescale[4][32][64];