summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/vdpau/decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/vdpau/decode.c')
-rw-r--r--src/gallium/state_trackers/vdpau/decode.c39
1 files changed, 1 insertions, 38 deletions
diff --git a/src/gallium/state_trackers/vdpau/decode.c b/src/gallium/state_trackers/vdpau/decode.c
index e9833b6c4c..7a51196c87 100644
--- a/src/gallium/state_trackers/vdpau/decode.c
+++ b/src/gallium/state_trackers/vdpau/decode.c
@@ -462,7 +462,7 @@ vlVdpDecoderRender(VdpDecoder decoder,
struct pipe_screen *screen;
struct pipe_video_decoder *dec;
bool buffer_support[2];
- unsigned i, j;
+ unsigned i;
union {
struct pipe_picture_desc base;
struct pipe_mpeg12_picture_desc mpeg12;
@@ -557,43 +557,6 @@ vlVdpDecoderRender(VdpDecoder decoder,
return ret;
}
- // Cleanup start_code (mandatory for some codec) from bitstream buffers
- if (u_reduce_video_profile(dec->profile) == PIPE_VIDEO_CODEC_MPEG4_AVC ||
- u_reduce_video_profile(dec->profile) == PIPE_VIDEO_CODEC_VP8) {
- int start_code_found = 0;
-
- for (i = 0, j = 0; i < bitstream_buffer_count; ++i) {
- if (!start_code_found) {
- const uint8_t *datab = (const uint8_t *)bitstream_buffers[i].bitstream;
-
- if ((datab[0] == 0x9D && datab[1] == 0x01 && datab[2] == 0x2A) ||
- (datab[0] == 0x00 && datab[1] == 0x00 && datab[2] == 0x01)) {
- start_code_found = 1;
-
- if (bitstream_buffers[i].bitstream_bytes != 3) {
- buffers[j] = bitstream_buffers[i].bitstream + 3;
- sizes[j] = bitstream_buffers[i].bitstream_bytes - 3;
- j++;
- }
- } else {
- VDPAU_MSG(VDPAU_TRACE, "[VDPAU] Error : the first data buffer does not contain the mandatory start_code [0x9D012A]\n");
- return VDP_STATUS_ERROR;
- }
- } else {
- buffers[j] = bitstream_buffers[i].bitstream;
- sizes[j] = bitstream_buffers[i].bitstream_bytes;
- j++;
- }
- }
-
- bitstream_buffer_count = j;
- } else {
- for (i = 0; i < bitstream_buffer_count; ++i) {
- buffers[i] = bitstream_buffers[i].bitstream;
- sizes[i] = bitstream_buffers[i].bitstream_bytes;
- }
- }
-
dec->begin_frame(dec, vlsurf->video_buffer, &desc.base);
dec->decode_bitstream(dec, vlsurf->video_buffer, &desc.base, bitstream_buffer_count, buffers, sizes);
dec->end_frame(dec, vlsurf->video_buffer, &desc.base);