Lines Matching defs:frame

39  * a frame.
51 * || frame 0 || frame 1 || frame 2 || frames
58 * The frame layouts for the individual channels of a wma frame does not need
61 * However, if the offsets and lengths of several subframes of a frame are the
76 * Scale factors are submitted for every frame but they might be shared
80 * Every subframe length and offset combination in the frame layout shares a
113 #define MAX_FRAMESIZE 32768 ///< maximum compressed frame size
142 * @brief frame specific decoder context for a single channel
149 uint16_t subframe_offset[MAX_SUBFRAMES]; ///< subframe positions in the current frame
185 AV_INPUT_BUFFER_PADDING_SIZE];///< compressed frame data
191 /* frame size dependent frame information (set during initialization) */
193 uint8_t len_prefix; ///< frame is prefixed with its length
194 uint8_t dynamic_range_compression; ///< frame contains DRC data
213 uint8_t packet_offset; ///< frame offset in the packet
216 int frame_offset; ///< frame offset in the bit reservoir
222 /* frame decode state */
223 uint32_t frame_num; ///< current frame number (not used for decoding)
270 PRINT("samples per frame", s->samples_per_frame);
271 PRINT("log2 frame size", s->log2_frame_size);
424 /** frame info */
425 s->skip_frame = 1; /* skip first frame */
430 /** get frame len */
607 *@param offset sample offset in the frame
634 av_log(s->avctx, AV_LOG_ERROR, "broken frame: subframe_len %i\n",
642 *@brief Decode how the data in the frame is split into subframes.
643 * Every WMA frame contains the encoded data for a fixed number of
655 * The algorithm repeats these steps until the frame is properly divided
683 /** loop until the frame data is split between the subframes */
711 "broken frame: num subframes > 31\n");
718 av_log(s->avctx, AV_LOG_ERROR, "broken frame: "
736 ff_dlog(s->avctx, "frame[%"PRIu32"] channel[%i] subframe[%i]"
1245 /** check if the frame will be complete after processing the
1435 *@brief Decode one WMA frame.
1437 *@return 0 if the trailer bit indicates that this is the last frame,
1440 static int decode_frame(WMAProDecodeCtx *s, AVFrame *frame, int *got_frame_ptr)
1447 /** get frame length */
1451 ff_dlog(s->avctx, "decoding frame with length %x\n", len);
1483 ff_dlog(s->avctx, "BITSTREAM: frame header length was %i\n",
1504 memcpy(frame->extended_data[i], s->channel[i].out,
1508 /** reuse second half of the IMDCT output for the next frame */
1517 av_frame_unref(frame);
1526 "frame[%"PRIu32"] would have to skip %i bits\n",
1533 /** skip the rest of the frame data */
1559 *@brief Fill the bit reservoir with a (partial) frame.
1562 *@param len length of the partial frame
1570 /** when the frame data does not need to be concatenated, the input buffer
1571 is reset and additional bits from the previous frame are copied
1613 AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt)
1635 memset(frame->extended_data[i], 0,
1638 memcpy(frame->extended_data[i], s->channel[i].out,
1680 /** get number of bits that need to be added to the previous frame */
1708 /** append the previous frame data to the remaining data from the
1709 previous packet to create a full frame */
1711 ff_dlog(avctx, "accumulated %x bits of frame data\n",
1714 /** decode the cross packet frame if it is valid */
1716 decode_frame(s, frame, got_frame_ptr);
1747 s->packet_done = !decode_frame(s, frame, got_frame_ptr);
1753 previous frame
1755 the "previous frame" data from the next packet so that
1757 s->packet_done = !decode_frame(s, frame, got_frame_ptr);
1780 if (s->trim_start < frame->nb_samples) {
1781 for (int ch = 0; ch < frame->ch_layout.nb_channels; ch++)
1782 frame->extended_data[ch] += s->trim_start * 4;
1784 frame->nb_samples -= s->trim_start;
1793 if (s->trim_end < frame->nb_samples) {
1794 frame->nb_samples -= s->trim_end;
1812 static int wmapro_decode_packet(AVCodecContext *avctx, AVFrame *frame,
1819 frame->nb_samples = s->samples_per_frame;
1820 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
1825 return decode_packet(avctx, s, frame, got_frame_ptr, avpkt);
1828 static int xma_decode_packet(AVCodecContext *avctx, AVFrame *frame,
1927 frame->nb_samples = nb_samples;
1928 if ((bret = ff_get_buffer(avctx, frame, 0)) < 0)
1933 void *left[1] = { frame->extended_data[start_ch + 0] };
1937 void *right[1] = { frame->extended_data[start_ch + 1] };
2042 new frame */